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
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.
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 December 20, 1996 CSX_PARSE_CISTPL_FUNCE(9F)