CSX_PARSE_CISTPL_FUNCE(9F) Kernel Functions for Drivers CSX_PARSE_CISTPL_FUNCE(9F)

csx_Parse_CISTPL_FUNCE - parse Function Extension tuple

#include <sys/pccard.h>
int32_t csx_Parse_CISTPL_FUNCE(client_handle_t ch, tuple_t *tu,

cistpl_funce_t *cf,
uint32_t fid);

illumos DDI Specific (illumos DDI)

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).

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 PCCard 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.

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

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.

This function may be called from user or kernel context.

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

December 20, 1996 OmniOS