Current File : //usr/share/man/man9f/csx_Parse_CISTPL_FUNCE.9f
'\" te
.\"  Copyright (c) 2002, Sun Microsystems, Inc.  All Rights Reserved
.TH csx_Parse_CISTPL_FUNCE 9F "20 Dec 1996" "SunOS 5.11" "Kernel Functions for Drivers"
.SH NAME
csx_Parse_CISTPL_FUNCE \- parse Function Extension tuple
.SH SYNOPSIS
.LP
.nf
#include <sys/pccard.h>

\fBint32_t\fR \fBcsx_Parse_CISTPL_FUNCE\fR(\fBclient_handle_t\fR \fIch\fR, \fBtuple_t *\fR\fItu\fR, 
     \fBcistpl_funce_t *\fR\fIcf\fR,
     \fBuint32_t\fR \fIfid\fR);
.fi

.SH INTERFACE LEVEL
.sp
.LP
Solaris \fBDDI \fRSpecific (Solaris \fBDDI) \fR
.SH PARAMETERS
.sp
.ne 2
.mk
.na
\fB\fIch\fR\fR
.ad
.RS 7n
.rt  
Client handle returned from \fBcsx_RegisterClient\fR(9F). 
.RE

.sp
.ne 2
.mk
.na
\fB\fItu\fR\fR
.ad
.RS 7n
.rt  
Pointer to a \fBtuple_t\fR structure (see \fBtuple\fR(9S)) returned by a call to \fBcsx_GetFirstTuple\fR(9F) or \fBcsx_GetNextTuple\fR(9F). 
.RE

.sp
.ne 2
.mk
.na
\fB\fIcf\fR\fR
.ad
.RS 7n
.rt  
Pointer to a \fBcistpl_funce_t\fR structure which contains the parsed \fBCISTPL_FUNCE\fR tuple information upon return from this function.
.RE

.sp
.ne 2
.mk
.na
\fB\fIfid\fR\fR
.ad
.RS 7n
.rt  
The function \fBID \fRcode to which this \fBCISTPL_FUNCE\fR tuple refers. See \fBcsx_Parse_CISTPL_FUNCID\fR(9F). 
.RE

.SH DESCRIPTION
.sp
.LP
This function parses the Function Extension tuple, \fBCISTPL_FUNCE,\fR into a form usable by \fBPC \fRCard drivers.
.sp
.LP
The \fBCISTPL_FUNCE\fR tuple is used to describe information about a specific \fBPC\fRCard function. The information provided is determined by the Function Identification tuple, \fBCISTPL_FUNCID,\fR that is being extended. Each function has a defined set of extension tuples.
.SH STRUCTURE MEMBERS
.sp
.LP
The structure members of \fBcistpl_funce_t\fR are:
.sp
.in +2
.nf
uint32_t     function;           /* type of extended data */
uint32_t     subfunction;
union {
       struct serial {
              uint32_t  ua;      /* UART in use */
              uint32_t  uc;      /* UART capabilities */
       } serial;
       struct modem {
              uint32_t  fc;      /* supported flow control methods */
              uint32_t  cb;      /* size of DCE command buffer */
              uint32_t  eb;      /* size of DCE to DCE buffer */
              uint32_t  tb;      /* size of DTE to DCE buffer */
       } modem;
       struct data_modem {
              uint32_t  ud;      /* highest data rate */
              uint32_t  ms;      /* modulation standards */
              uint32_t  em;      /* err correct proto and 
								 /* non-CCITT modulation */
              uint32_t  dc;      /* data compression protocols */
              uint32_t  cm;      /* command protocols */
              uint32_t  ex;      /* escape mechanisms */
              uint32_t  dy;      /* standardized data encryption */
              uint32_t  ef;      /* miscellaneous end user features */
              uint32_t  ncd;     /* number of country codes */
              uchar_t   cd[16];  /* CCITT country code */
       } data_modem;
       struct fax {
              uint32_t  uf;      /* highest data rate in DTE/UART */
              uint32_t  fm;      /* CCITT modulation standards */
              uint32_t  fy;      /* standardized data encryption */
              uint32_t  fs;      /* feature selection */
              uint32_t  ncf;     /* number of country codes */
              uchar_t  cf[16];   /* CCITT country codes */
       } fax;
       struct voice {
              uint32_t  uv;      /* highest data rate */
              uint32_t  nsr;
              uint32_t  sr[16];  /* voice sampling rates (*100) */
              uint32_t  nss;
              uint32_t  ss[16];  /* voice sample sizes (*10) */
              uint32_t  nsc;
              uint32_t  sc[16];  /* voice compression methods */
       } voice;
       struct lan {
              uint32_t  tech;    /* network technology */
              uint32_t  speed;   /* media bit or baud rate */
              uint32_t  media;   /* network media supported */
              uint32_t  con;     /* open/closed connector standard */
              uint32_t  id_sz;   /* length of lan station id */
              uchar_t  id[16];   /* station ID */
        } lan;
} data;
.fi
.in -2

.sp
.LP
The fields are defined as follows:
.sp
.ne 2
.mk
.na
\fBfunction\fR
.ad
.RS 15n
.rt  
This field identifies the type of extended information provided about a function by the \fBCISTPL_FUNCE\fR tuple. This field is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_SUB_SERIAL\fR
.ad
.RS 26n
.rt  
Serial port interface
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_SUB_MODEM_COMMON\fR
.ad
.RS 26n
.rt  
Common modem interface
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_SUB_MODEM_DATA\fR
.ad
.RS 26n
.rt  
Data modem services
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_SUB_MODEM_FAX\fR
.ad
.RS 26n
.rt  
Fax modem services
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_SUB_VOICE\fR
.ad
.RS 26n
.rt  
Voice services
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CAP_MODEM_DATA\fR
.ad
.RS 26n
.rt  
Capabilities of the data modem interface
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CAP_MODEM_FAX\fR
.ad
.RS 26n
.rt  
Capabilities of the fax modem interface
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CAP_MODEM_VOICE\fR
.ad
.RS 26n
.rt  
Capabilities of the voice modem interface
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CAP_SERIAL_DATA\fR
.ad
.RS 26n
.rt  
Serial port interface for data modem services
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CAP_SERIAL_FAX\fR
.ad
.RS 26n
.rt  
Serial port interface for fax modem services
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CAP_SERIAL_VOICE\fR
.ad
.RS 26n
.rt  
Serial port interface for voice modem services
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBsubfunction\fR\fR
.ad
.RS 15n
.rt  
This is for identifying a sub-category of services provided by a function in the \fBCISTPL_FUNCE\fR tuple. The numeric value of the code is in the range of \fB1\fR to \fB15\fR. 
.RE

.sp
.ne 2
.mk
.na
\fB\fBua\fR\fR
.ad
.RS 15n
.rt  
This is the serial port \fBUART \fRidentification and is defined as follows: 
.sp
.ne 2
.mk
.na
\fBTPLFE_UA_8250\fR
.ad
.RS 18n
.rt  
Intel 8250
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UA_16450\fR
.ad
.RS 18n
.rt  
NS 16450
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UA_16550\fR
.ad
.RS 18n
.rt  
NS 16550
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBuc\fR\fR
.ad
.RS 15n
.rt  
This identifies the serial port \fBUART \fRcapabilities and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_UC_PARITY_SPACE\fR
.ad
.RS 25n
.rt  
Space parity supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_PARITY_MARK\fR
.ad
.RS 25n
.rt  
Mark parity supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_PARITY_ODD\fR
.ad
.RS 25n
.rt  
Odd parity supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_PARITY_EVEN\fR
.ad
.RS 25n
.rt  
Even parity supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_CS5\fR
.ad
.RS 25n
.rt  
5 bit characters supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_CS6\fR
.ad
.RS 25n
.rt  
6 bit characters supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_CS7\fR
.ad
.RS 25n
.rt  
7 bit characters supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_CS8\fR
.ad
.RS 25n
.rt  
8 bit characters supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_STOP_1\fR
.ad
.RS 25n
.rt  
1 stop bit supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_STOP_15\fR
.ad
.RS 25n
.rt  
1.5 stop bits supported
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_UC_STOP_2\fR
.ad
.RS 25n
.rt  
2 stop bits supported
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBfc\fR\fR
.ad
.RS 15n
.rt  
This identifies the modem flow control methods and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_FC_TX_XONOFF\fR
.ad
.RS 22n
.rt  
Transmit XON/XOFF 
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FC_RX_XONOFF\fR
.ad
.RS 22n
.rt  
Receiver XON/XOFF
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FC_TX_HW\fR
.ad
.RS 22n
.rt  
Transmit hardware flow control (CTS)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FC_RX_HW\fR
.ad
.RS 22n
.rt  
Receiver hardware flow control (RTS)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FC_TRANS\fR
.ad
.RS 22n
.rt  
Transparent flow control
.RE

.sp
.ne 2
.mk
.na
\fBms\fR
.ad
.RS 6n
.rt  
This identifies the modem modulation standards and is defined as follows:
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_BELL103\fR
.ad
.RS 20n
.rt  
300bps
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V21\fR
.ad
.RS 20n
.rt  
300bps (V.21)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V23\fR
.ad
.RS 20n
.rt  
600/1200bps (V.23)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V22AB\fR
.ad
.RS 20n
.rt  
1200bps (V.22A V.22B)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_BELL212\fR
.ad
.RS 20n
.rt  
2400bps (US Bell 212
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V22BIS\fR
.ad
.RS 20n
.rt  
2400bps (V.22bis)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V26\fR
.ad
.RS 20n
.rt  
2400bps leased line (V.26)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V26BIS\fR
.ad
.RS 20n
.rt  
2400bps (V.26bis)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V27BIS\fR
.ad
.RS 20n
.rt  
4800/2400bps leased line (V.27bis)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V29\fR
.ad
.RS 20n
.rt  
9600/7200/4800 leased line (V.29)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V32\fR
.ad
.RS 20n
.rt  
Up to 9600bps (V.32)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_V32BIS\fR
.ad
.RS 20n
.rt  
Up to 14400bps (V.32bis)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_MS_VFAST\fR
.ad
.RS 20n
.rt  
Up to 28800 V.FAST
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBem\fR\fR
.ad
.RS 15n
.rt  
This identifies modem error correction/detection protocols and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_EM_MNP\fR
.ad
.RS 16n
.rt  
MNP levels 2-4
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_EM_V42\fR
.ad
.RS 16n
.rt  
CCITT LAPM (V.42)
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBdc\fR\fR
.ad
.RS 15n
.rt  
This identifies modem data compression protocols and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_DC_V42BI\fR
.ad
.RS 18n
.rt  
CCITT compression V.42
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_DC_MNP5\fR
.ad
.RS 18n
.rt  
MNP compression (uses MNP 2, 3 or 4)
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBcm\fR\fR
.ad
.RS 15n
.rt  
This identifies modem command protocols and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_CM_AT1\fR
.ad
.RS 19n
.rt  
ANSI/EIA/TIA 602 "Action" commands
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CM_AT2\fR
.ad
.RS 19n
.rt  
ANSI/EIA/TIA 602 "ACE/DCE IF Params"
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CM_AT3\fR
.ad
.RS 19n
.rt  
ANSI/EIA/TIA 602 "Ace Parameters"
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CM_MNP_AT\fR
.ad
.RS 19n
.rt  
MNP specification AT commands
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CM_V25BIS\fR
.ad
.RS 19n
.rt  
V.25bis calling commands
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CM_V25A\fR
.ad
.RS 19n
.rt  
V.25bis test procedures
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_CM_DMCL\fR
.ad
.RS 19n
.rt  
DMCL command mode
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBex\fR\fR
.ad
.RS 15n
.rt  
This identifies the modem escape mechanism and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_EX_BREAK\fR
.ad
.RS 18n
.rt  
BREAK support standardized
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_EX_PLUS\fR
.ad
.RS 18n
.rt  
+++ returns to command mode
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_EX_UD\fR
.ad
.RS 18n
.rt  
User defined escape character
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBdy\fR\fR
.ad
.RS 15n
.rt  
This identifies modem standardized data encryption and is a reserved field for future use and must be set to \fB0\fR. 
.RE

.sp
.ne 2
.mk
.na
\fB\fBef\fR\fR
.ad
.RS 15n
.rt  
This identifies modem miscellaneous features and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_EF_CALLERID\fR
.ad
.RS 21n
.rt  
Caller ID is supported
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBfm\fR\fR
.ad
.RS 15n
.rt  
This identifies fax modulation standards and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_FM_V21C2\fR
.ad
.RS 19n
.rt  
300bps (V.21-C2)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FM_V27TER\fR
.ad
.RS 19n
.rt  
4800/2400bps (V.27ter)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FM_V29\fR
.ad
.RS 19n
.rt  
9600/7200/4800 leased line (V.29)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FM_V17\fR
.ad
.RS 19n
.rt  
14.4K/12K/9600/7200bps (V.17)
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FM_V33\fR
.ad
.RS 19n
.rt  
4.4K/12K/9600/7200 leased line (V.33)
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBfs\fR\fR
.ad
.RS 15n
.rt  
This identifies the fax feature selection and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_FS_T3\fR
.ad
.RS 21n
.rt  
Group 2 (T.3) service class
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_T4\fR
.ad
.RS 21n
.rt  
Group 3 (T.4) service class
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_T6\fR
.ad
.RS 21n
.rt  
Group 4 (T.6) service class
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_ECM\fR
.ad
.RS 21n
.rt  
Error Correction Mode
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_VOICEREQ\fR
.ad
.RS 21n
.rt  
Voice requests allowed
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_POLLING\fR
.ad
.RS 21n
.rt  
Polling support
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_FTP\fR
.ad
.RS 21n
.rt  
File transfer support
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_FS_PASSWORD\fR
.ad
.RS 21n
.rt  
Password support
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBtech\fR\fR
.ad
.RS 15n
.rt  
This identifies the \fBLAN \fRtechnology type and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_ARCNET\fR
.ad
.RS 28n
.rt  
Arcnet
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_ETHERNET\fR
.ad
.RS 28n
.rt  
Ethernet
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_TOKENRING\fR
.ad
.RS 28n
.rt  
Token Ring
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_LOCALTALK\fR
.ad
.RS 28n
.rt  
Local Talk
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_FDDI\fR
.ad
.RS 28n
.rt  
FDDI/CDDI
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_ATM\fR
.ad
.RS 28n
.rt  
ATM
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_TECH_WIRELESS\fR
.ad
.RS 28n
.rt  
Wireless
.RE

.RE

.sp
.ne 2
.mk
.na
\fB\fBmedia\fR\fR
.ad
.RS 15n
.rt  
This identifies the \fBLAN \fRmedia type and is defined as follows:
.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_INHERENT\fR
.ad
.RS 30n
.rt  
Generic interface
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_UTP\fR
.ad
.RS 30n
.rt  
Unshielded twisted pair
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_STP\fR
.ad
.RS 30n
.rt  
Shielded twisted pair
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_THIN_COAX\fR
.ad
.RS 30n
.rt  
Thin coax
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_THICK_COAX\fR
.ad
.RS 30n
.rt  
Thick coax
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_FIBER\fR
.ad
.RS 30n
.rt  
Fiber
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_SSR_902\fR
.ad
.RS 30n
.rt  
Spread spectrum radio 902-928 MHz
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_SSR_2_4\fR
.ad
.RS 30n
.rt  
Spread spectrum radio 2.4 GHz
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_SSR_5_4\fR
.ad
.RS 30n
.rt  
Spread spectrum radio 5.4 GHz
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_DIFFUSE_IR\fR
.ad
.RS 30n
.rt  
Diffuse infra red
.RE

.sp
.ne 2
.mk
.na
\fBTPLFE_LAN_MEDIA_PTP_IR\fR
.ad
.RS 30n
.rt  
Point to point infra red
.RE

.RE

.SH RETURN VALUES
.sp
.ne 2
.mk
.na
\fB\fBCS_SUCCESS\fR\fR
.ad
.RS 27n
.rt  
Successful operation.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_BAD_HANDLE\fR\fR
.ad
.RS 27n
.rt  
Client handle is invalid.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_UNKNOWN_TUPLE\fR\fR
.ad
.RS 27n
.rt  
Parser does not know how to parse tuple.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_NO_CARD\fR\fR
.ad
.RS 27n
.rt  
No \fBPC \fRCard in socket.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_NO_CIS\fR\fR
.ad
.RS 27n
.rt  
No Card Information Structure (CIS) on \fBPC \fRCard.
.RE

.sp
.ne 2
.mk
.na
\fB\fBCS_UNSUPPORTED_FUNCTION\fR\fR
.ad
.RS 27n
.rt  
No \fBPCMCIA \fRhardware installed.
.RE

.SH CONTEXT
.sp
.LP
This function may be called from user or kernel context.
.SH SEE ALSO
.sp
.LP
\fBcsx_GetFirstTuple\fR(9F), \fBcsx_GetTupleData\fR(9F), \fBcsx_Parse_CISTPL_FUNCID\fR(9F), \fBcsx_RegisterClient\fR(9F), \fBcsx_ValidateCIS\fR(9F), \fBtuple\fR(9S) 
.sp
.LP
\fIPC Card 95 Standard, PCMCIA/JEIDA\fR