CSX_PARSE_CISTPL_FUNCE(9F)                      Kernel Functions for Drivers
NAME
       csx_Parse_CISTPL_FUNCE - parse Function Extension tuple
SYNOPSIS
       #include <sys/pccard.h>       
int32_t csx_Parse_CISTPL_FUNCE(
client_handle_t ch, 
tuple_t *tu,            
cistpl_funce_t *cf,            
uint32_t fid);
INTERFACE LEVEL
       illumos 
DDI Specific (illumos 
DDI)PARAMETERS
       ch              Client handle returned from 
csx_RegisterClient(9F).       
tu              Pointer to a 
tuple_t structure (see 
tuple(9S)) returned by a
              call to 
csx_GetFirstTuple(9F) or 
csx_GetNextTuple(9F).       
cf              Pointer to a 
cistpl_funce_t structure which contains the
              parsed 
CISTPL_FUNCE tuple information upon return from this
              function.       
fid              The function 
ID code to which this 
CISTPL_FUNCE tuple refers.
              See 
csx_Parse_CISTPL_FUNCID(9F).
DESCRIPTION
       This function parses the Function Extension tuple, 
CISTPL_FUNCE, into
       a form usable by 
PC Card drivers.
       The 
CISTPL_FUNCE tuple is used to describe information about a
       specific 
PC Card function. The information provided is determined by
       the Function Identification tuple, 
CISTPL_FUNCID, that is being
       extended. Each function has a defined set of extension tuples.
STRUCTURE MEMBERS
       The structure members of 
cistpl_funce_t are:
         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;
       The fields are defined as follows:       
function                      This field identifies the type of extended information
                      provided about a function by the 
CISTPL_FUNCE tuple.
                      This field is defined as follows:                      
TPLFE_SUB_SERIAL                                                Serial port interface                      
TPLFE_SUB_MODEM_COMMON                                                Common modem interface                      
TPLFE_SUB_MODEM_DATA                                                Data modem services                      
TPLFE_SUB_MODEM_FAX                                                Fax modem services                      
TPLFE_SUB_VOICE                                                Voice services                      
TPLFE_CAP_MODEM_DATA                                                Capabilities of the data
                                                modem interface                      
TPLFE_CAP_MODEM_FAX                                                Capabilities of the fax
                                                modem interface                      
TPLFE_CAP_MODEM_VOICE                                                Capabilities of the voice
                                                modem interface                      
TPLFE_CAP_SERIAL_DATA                                                Serial port interface for
                                                data modem services                      
TPLFE_CAP_SERIAL_FAX                                                Serial port interface for
                                                fax modem services                      
TPLFE_CAP_SERIAL_VOICE                                                Serial port interface for
                                                voice modem services       
subfunction                      This is for identifying a sub-category of services
                      provided by a function in the 
CISTPL_FUNCE tuple. The
                      numeric value of the code is in the range of 
1 to 
15.       
ua                      This is the serial port 
UART identification and is
                      defined as follows:                      
TPLFE_UA_8250                                        Intel 8250                      
TPLFE_UA_16450                                        NS 16450                      
TPLFE_UA_16550                                        NS 16550       
uc                      This identifies the serial port 
UART capabilities and
                      is defined as follows:                      
TPLFE_UC_PARITY_SPACE                                               Space parity supported                      
TPLFE_UC_PARITY_MARK                                               Mark parity supported                      
TPLFE_UC_PARITY_ODD                                               Odd parity supported                      
TPLFE_UC_PARITY_EVEN                                               Even parity supported                      
TPLFE_UC_CS5                                               5 bit characters supported                      
TPLFE_UC_CS6                                               6 bit characters supported                      
TPLFE_UC_CS7                                               7 bit characters supported                      
TPLFE_UC_CS8                                               8 bit characters supported                      
TPLFE_UC_STOP_1                                               1 stop bit supported                      
TPLFE_UC_STOP_15                                               1.5 stop bits supported                      
TPLFE_UC_STOP_2                                               2 stop bits supported       
fc                      This identifies the modem flow control methods and is
                      defined as follows:                      
TPLFE_FC_TX_XONOFF                                            Transmit XON/XOFF                      
TPLFE_FC_RX_XONOFF                                            Receiver XON/XOFF                      
TPLFE_FC_TX_HW                                            Transmit hardware flow control
                                            (CTS)                      
TPLFE_FC_RX_HW                                            Receiver hardware flow control
                                            (RTS)                      
TPLFE_FC_TRANS                                            Transparent flow control                      
ms                            This identifies the modem modulation standards
                            and is defined as follows:                      
TPLFE_MS_BELL103                                          300bps                      
TPLFE_MS_V21                                          300bps (V.21)                      
TPLFE_MS_V23                                          600/1200bps (V.23)                      
TPLFE_MS_V22AB                                          1200bps (V.22A V.22B)                      
TPLFE_MS_BELL212                                          2400bps (US Bell 212                      
TPLFE_MS_V22BIS                                          2400bps (V.22bis)                      
TPLFE_MS_V26                                          2400bps leased line (V.26)                      
TPLFE_MS_V26BIS                                          2400bps (V.26bis)                      
TPLFE_MS_V27BIS                                          4800/2400bps leased line (V.27bis)                      
TPLFE_MS_V29                                          9600/7200/4800 leased line (V.29)                      
TPLFE_MS_V32                                          Up to 9600bps (V.32)                      
TPLFE_MS_V32BIS                                          Up to 14400bps (V.32bis)                      
TPLFE_MS_VFAST                                          Up to 28800 V.FAST       
em                      This identifies modem error correction/detection
                      protocols and is defined as follows:                      
TPLFE_EM_MNP                                      MNP levels 2-4                      
TPLFE_EM_V42                                      CCITT LAPM (V.42)       
dc                      This identifies modem data compression protocols and
                      is defined as follows:                      
TPLFE_DC_V42BI                                        CCITT compression V.42                      
TPLFE_DC_MNP5                                        MNP compression (uses MNP 2, 3 or 4)       
cm                      This identifies modem command protocols and is defined
                      as follows:                      
TPLFE_CM_AT1                                         ANSI/EIA/TIA 602 "Action" commands                      
TPLFE_CM_AT2                                         ANSI/EIA/TIA 602 "ACE/DCE IF
                                         Params"                      
TPLFE_CM_AT3                                         ANSI/EIA/TIA 602 "Ace Parameters"                      
TPLFE_CM_MNP_AT                                         MNP specification AT commands                      
TPLFE_CM_V25BIS                                         V.25bis calling commands                      
TPLFE_CM_V25A                                         V.25bis test procedures                      
TPLFE_CM_DMCL                                         DMCL command mode       
ex                      This identifies the modem escape mechanism and is
                      defined as follows:                      
TPLFE_EX_BREAK                                        BREAK support standardized                      
TPLFE_EX_PLUS                                        +++ returns to command mode                      
TPLFE_EX_UD                                        User defined escape character       
dy                      This identifies modem standardized data encryption and
                      is a reserved field for future use and must be set to                      
0.       
ef                      This identifies modem miscellaneous features and is
                      defined as follows:                      
TPLFE_EF_CALLERID                                           Caller ID is supported       
fm                      This identifies fax modulation standards and is
                      defined as follows:                      
TPLFE_FM_V21C2                                         300bps (V.21-C2)                      
TPLFE_FM_V27TER                                         4800/2400bps (V.27ter)                      
TPLFE_FM_V29                                         9600/7200/4800 leased line (V.29)                      
TPLFE_FM_V17                                         14.4K/12K/9600/7200bps (V.17)                      
TPLFE_FM_V33                                         4.4K/12K/9600/7200 leased line
                                         (V.33)       
fs                      This identifies the fax feature selection and is
                      defined as follows:                      
TPLFE_FS_T3                                           Group 2 (T.3) service class                      
TPLFE_FS_T4                                           Group 3 (T.4) service class                      
TPLFE_FS_T6                                           Group 4 (T.6) service class                      
TPLFE_FS_ECM                                           Error Correction Mode                      
TPLFE_FS_VOICEREQ                                           Voice requests allowed                      
TPLFE_FS_POLLING                                           Polling support                      
TPLFE_FS_FTP                                           File transfer support                      
TPLFE_FS_PASSWORD                                           Password support       
tech                      This identifies the 
LAN technology type and is defined
                      as follows:                      
TPLFE_LAN_TECH_ARCNET                                                  Arcnet                      
TPLFE_LAN_TECH_ETHERNET                                                  Ethernet                      
TPLFE_LAN_TECH_TOKENRING                                                  Token Ring                      
TPLFE_LAN_TECH_LOCALTALK                                                  Local Talk                      
TPLFE_LAN_TECH_FDDI                                                  FDDI/CDDI                      
TPLFE_LAN_TECH_ATM                                                  ATM                      
TPLFE_LAN_TECH_WIRELESS                                                  Wireless       
media                      This identifies the 
LAN media type and is defined as
                      follows:                      
TPLFE_LAN_MEDIA_INHERENT                                                    Generic interface                      
TPLFE_LAN_MEDIA_UTP                                                    Unshielded twisted pair                      
TPLFE_LAN_MEDIA_STP                                                    Shielded twisted pair                      
TPLFE_LAN_MEDIA_THIN_COAX                                                    Thin coax                      
TPLFE_LAN_MEDIA_THICK_COAX                                                    Thick coax                      
TPLFE_LAN_MEDIA_FIBER                                                    Fiber                      
TPLFE_LAN_MEDIA_SSR_902                                                    Spread spectrum radio
                                                    902-928 MHz                      
TPLFE_LAN_MEDIA_SSR_2_4                                                    Spread spectrum radio
                                                    2.4 GHz                      
TPLFE_LAN_MEDIA_SSR_5_4                                                    Spread spectrum radio
                                                    5.4 GHz                      
TPLFE_LAN_MEDIA_DIFFUSE_IR                                                    Diffuse infra red                      
TPLFE_LAN_MEDIA_PTP_IR                                                    Point to point infra red
RETURN VALUES
       CS_SUCCESS                                  Successful operation.       
CS_BAD_HANDLE                                  Client handle is invalid.       
CS_UNKNOWN_TUPLE                                  Parser does not know how to parse tuple.       
CS_NO_CARD                                  No 
PC Card in socket.       
CS_NO_CIS                                  No Card Information Structure (CIS) on 
PC                                  Card.       
CS_UNSUPPORTED_FUNCTION                                  No 
PCMCIA hardware installed.
CONTEXT
       This function may be called from user or kernel context.
SEE ALSO
       csx_GetFirstTuple(9F), 
csx_GetTupleData(9F),       
csx_Parse_CISTPL_FUNCID(9F), 
csx_RegisterClient(9F),       
csx_ValidateCIS(9F), 
tuple(9S)       PC Card 95 Standard, PCMCIA/JEIDA                               August 22, 2023    CSX_PARSE_CISTPL_FUNCE(9F)