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
tu
cf
fid
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
TPLFE_SUB_SERIAL
TPLFE_SUB_MODEM_COMMON
TPLFE_SUB_MODEM_DATA
TPLFE_SUB_MODEM_FAX
TPLFE_SUB_VOICE
TPLFE_CAP_MODEM_DATA
TPLFE_CAP_MODEM_FAX
TPLFE_CAP_MODEM_VOICE
TPLFE_CAP_SERIAL_DATA
TPLFE_CAP_SERIAL_FAX
TPLFE_CAP_SERIAL_VOICE
subfunction
ua
TPLFE_UA_8250
TPLFE_UA_16450
TPLFE_UA_16550
uc
TPLFE_UC_PARITY_SPACE
TPLFE_UC_PARITY_MARK
TPLFE_UC_PARITY_ODD
TPLFE_UC_PARITY_EVEN
TPLFE_UC_CS5
TPLFE_UC_CS6
TPLFE_UC_CS7
TPLFE_UC_CS8
TPLFE_UC_STOP_1
TPLFE_UC_STOP_15
TPLFE_UC_STOP_2
fc
TPLFE_FC_TX_XONOFF
TPLFE_FC_RX_XONOFF
TPLFE_FC_TX_HW
TPLFE_FC_RX_HW
TPLFE_FC_TRANS
ms
TPLFE_MS_BELL103
TPLFE_MS_V21
TPLFE_MS_V23
TPLFE_MS_V22AB
TPLFE_MS_BELL212
TPLFE_MS_V22BIS
TPLFE_MS_V26
TPLFE_MS_V26BIS
TPLFE_MS_V27BIS
TPLFE_MS_V29
TPLFE_MS_V32
TPLFE_MS_V32BIS
TPLFE_MS_VFAST
em
TPLFE_EM_MNP
TPLFE_EM_V42
dc
TPLFE_DC_V42BI
TPLFE_DC_MNP5
cm
TPLFE_CM_AT1
TPLFE_CM_AT2
TPLFE_CM_AT3
TPLFE_CM_MNP_AT
TPLFE_CM_V25BIS
TPLFE_CM_V25A
TPLFE_CM_DMCL
ex
TPLFE_EX_BREAK
TPLFE_EX_PLUS
TPLFE_EX_UD
dy
ef
TPLFE_EF_CALLERID
fm
TPLFE_FM_V21C2
TPLFE_FM_V27TER
TPLFE_FM_V29
TPLFE_FM_V17
TPLFE_FM_V33
fs
TPLFE_FS_T3
TPLFE_FS_T4
TPLFE_FS_T6
TPLFE_FS_ECM
TPLFE_FS_VOICEREQ
TPLFE_FS_POLLING
TPLFE_FS_FTP
TPLFE_FS_PASSWORD
tech
TPLFE_LAN_TECH_ARCNET
TPLFE_LAN_TECH_ETHERNET
TPLFE_LAN_TECH_TOKENRING
TPLFE_LAN_TECH_LOCALTALK
TPLFE_LAN_TECH_FDDI
TPLFE_LAN_TECH_ATM
TPLFE_LAN_TECH_WIRELESS
media
TPLFE_LAN_MEDIA_INHERENT
TPLFE_LAN_MEDIA_UTP
TPLFE_LAN_MEDIA_STP
TPLFE_LAN_MEDIA_THIN_COAX
TPLFE_LAN_MEDIA_THICK_COAX
TPLFE_LAN_MEDIA_FIBER
TPLFE_LAN_MEDIA_SSR_902
TPLFE_LAN_MEDIA_SSR_2_4
TPLFE_LAN_MEDIA_SSR_5_4
TPLFE_LAN_MEDIA_DIFFUSE_IR
TPLFE_LAN_MEDIA_PTP_IR
CS_SUCCESS
CS_BAD_HANDLE
CS_UNKNOWN_TUPLE
CS_NO_CARD
CS_NO_CIS
CS_UNSUPPORTED_FUNCTION
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 |