cistpl.h 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580
  1. /*
  2. * cistpl.h
  3. *
  4. * This program is free software; you can redistribute it and/or modify
  5. * it under the terms of the GNU General Public License version 2 as
  6. * published by the Free Software Foundation.
  7. *
  8. * The initial developer of the original code is David A. Hinds
  9. * <dahinds@users.sourceforge.net>. Portions created by David A. Hinds
  10. * are Copyright (C) 1999 David A. Hinds. All Rights Reserved.
  11. *
  12. * (C) 1999 David A. Hinds
  13. */
  14. #ifndef _LINUX_CISTPL_H
  15. #define _LINUX_CISTPL_H
  16. typedef unsigned char cisdata_t;
  17. #define CISTPL_NULL 0x00
  18. #define CISTPL_DEVICE 0x01
  19. #define CISTPL_LONGLINK_CB 0x02
  20. #define CISTPL_INDIRECT 0x03
  21. #define CISTPL_CONFIG_CB 0x04
  22. #define CISTPL_CFTABLE_ENTRY_CB 0x05
  23. #define CISTPL_LONGLINK_MFC 0x06
  24. #define CISTPL_BAR 0x07
  25. #define CISTPL_PWR_MGMNT 0x08
  26. #define CISTPL_EXTDEVICE 0x09
  27. #define CISTPL_CHECKSUM 0x10
  28. #define CISTPL_LONGLINK_A 0x11
  29. #define CISTPL_LONGLINK_C 0x12
  30. #define CISTPL_LINKTARGET 0x13
  31. #define CISTPL_NO_LINK 0x14
  32. #define CISTPL_VERS_1 0x15
  33. #define CISTPL_ALTSTR 0x16
  34. #define CISTPL_DEVICE_A 0x17
  35. #define CISTPL_JEDEC_C 0x18
  36. #define CISTPL_JEDEC_A 0x19
  37. #define CISTPL_CONFIG 0x1a
  38. #define CISTPL_CFTABLE_ENTRY 0x1b
  39. #define CISTPL_DEVICE_OC 0x1c
  40. #define CISTPL_DEVICE_OA 0x1d
  41. #define CISTPL_DEVICE_GEO 0x1e
  42. #define CISTPL_DEVICE_GEO_A 0x1f
  43. #define CISTPL_MANFID 0x20
  44. #define CISTPL_FUNCID 0x21
  45. #define CISTPL_FUNCE 0x22
  46. #define CISTPL_SWIL 0x23
  47. #define CISTPL_END 0xff
  48. /* Layer 2 tuples */
  49. #define CISTPL_VERS_2 0x40
  50. #define CISTPL_FORMAT 0x41
  51. #define CISTPL_GEOMETRY 0x42
  52. #define CISTPL_BYTEORDER 0x43
  53. #define CISTPL_DATE 0x44
  54. #define CISTPL_BATTERY 0x45
  55. #define CISTPL_FORMAT_A 0x47
  56. /* Layer 3 tuples */
  57. #define CISTPL_ORG 0x46
  58. #define CISTPL_SPCL 0x90
  59. typedef struct cistpl_longlink_t {
  60. u_int addr;
  61. } cistpl_longlink_t;
  62. typedef struct cistpl_checksum_t {
  63. u_short addr;
  64. u_short len;
  65. u_char sum;
  66. } cistpl_checksum_t;
  67. #define CISTPL_MAX_FUNCTIONS 8
  68. #define CISTPL_MFC_ATTR 0x00
  69. #define CISTPL_MFC_COMMON 0x01
  70. typedef struct cistpl_longlink_mfc_t {
  71. u_char nfn;
  72. struct {
  73. u_char space;
  74. u_int addr;
  75. } fn[CISTPL_MAX_FUNCTIONS];
  76. } cistpl_longlink_mfc_t;
  77. #define CISTPL_MAX_ALTSTR_STRINGS 4
  78. typedef struct cistpl_altstr_t {
  79. u_char ns;
  80. u_char ofs[CISTPL_MAX_ALTSTR_STRINGS];
  81. char str[254];
  82. } cistpl_altstr_t;
  83. #define CISTPL_DTYPE_NULL 0x00
  84. #define CISTPL_DTYPE_ROM 0x01
  85. #define CISTPL_DTYPE_OTPROM 0x02
  86. #define CISTPL_DTYPE_EPROM 0x03
  87. #define CISTPL_DTYPE_EEPROM 0x04
  88. #define CISTPL_DTYPE_FLASH 0x05
  89. #define CISTPL_DTYPE_SRAM 0x06
  90. #define CISTPL_DTYPE_DRAM 0x07
  91. #define CISTPL_DTYPE_FUNCSPEC 0x0d
  92. #define CISTPL_DTYPE_EXTEND 0x0e
  93. #define CISTPL_MAX_DEVICES 4
  94. typedef struct cistpl_device_t {
  95. u_char ndev;
  96. struct {
  97. u_char type;
  98. u_char wp;
  99. u_int speed;
  100. u_int size;
  101. } dev[CISTPL_MAX_DEVICES];
  102. } cistpl_device_t;
  103. #define CISTPL_DEVICE_MWAIT 0x01
  104. #define CISTPL_DEVICE_3VCC 0x02
  105. typedef struct cistpl_device_o_t {
  106. u_char flags;
  107. cistpl_device_t device;
  108. } cistpl_device_o_t;
  109. #define CISTPL_VERS_1_MAX_PROD_STRINGS 4
  110. typedef struct cistpl_vers_1_t {
  111. u_char major;
  112. u_char minor;
  113. u_char ns;
  114. u_char ofs[CISTPL_VERS_1_MAX_PROD_STRINGS];
  115. char str[254];
  116. } cistpl_vers_1_t;
  117. typedef struct cistpl_jedec_t {
  118. u_char nid;
  119. struct {
  120. u_char mfr;
  121. u_char info;
  122. } id[CISTPL_MAX_DEVICES];
  123. } cistpl_jedec_t;
  124. typedef struct cistpl_manfid_t {
  125. u_short manf;
  126. u_short card;
  127. } cistpl_manfid_t;
  128. #define CISTPL_FUNCID_MULTI 0x00
  129. #define CISTPL_FUNCID_MEMORY 0x01
  130. #define CISTPL_FUNCID_SERIAL 0x02
  131. #define CISTPL_FUNCID_PARALLEL 0x03
  132. #define CISTPL_FUNCID_FIXED 0x04
  133. #define CISTPL_FUNCID_VIDEO 0x05
  134. #define CISTPL_FUNCID_NETWORK 0x06
  135. #define CISTPL_FUNCID_AIMS 0x07
  136. #define CISTPL_FUNCID_SCSI 0x08
  137. #define CISTPL_SYSINIT_POST 0x01
  138. #define CISTPL_SYSINIT_ROM 0x02
  139. typedef struct cistpl_funcid_t {
  140. u_char func;
  141. u_char sysinit;
  142. } cistpl_funcid_t;
  143. typedef struct cistpl_funce_t {
  144. u_char type;
  145. u_char data[0];
  146. } cistpl_funce_t;
  147. /*======================================================================
  148. Modem Function Extension Tuples
  149. ======================================================================*/
  150. #define CISTPL_FUNCE_SERIAL_IF 0x00
  151. #define CISTPL_FUNCE_SERIAL_CAP 0x01
  152. #define CISTPL_FUNCE_SERIAL_SERV_DATA 0x02
  153. #define CISTPL_FUNCE_SERIAL_SERV_FAX 0x03
  154. #define CISTPL_FUNCE_SERIAL_SERV_VOICE 0x04
  155. #define CISTPL_FUNCE_SERIAL_CAP_DATA 0x05
  156. #define CISTPL_FUNCE_SERIAL_CAP_FAX 0x06
  157. #define CISTPL_FUNCE_SERIAL_CAP_VOICE 0x07
  158. #define CISTPL_FUNCE_SERIAL_IF_DATA 0x08
  159. #define CISTPL_FUNCE_SERIAL_IF_FAX 0x09
  160. #define CISTPL_FUNCE_SERIAL_IF_VOICE 0x0a
  161. /* UART identification */
  162. #define CISTPL_SERIAL_UART_8250 0x00
  163. #define CISTPL_SERIAL_UART_16450 0x01
  164. #define CISTPL_SERIAL_UART_16550 0x02
  165. #define CISTPL_SERIAL_UART_8251 0x03
  166. #define CISTPL_SERIAL_UART_8530 0x04
  167. #define CISTPL_SERIAL_UART_85230 0x05
  168. /* UART capabilities */
  169. #define CISTPL_SERIAL_UART_SPACE 0x01
  170. #define CISTPL_SERIAL_UART_MARK 0x02
  171. #define CISTPL_SERIAL_UART_ODD 0x04
  172. #define CISTPL_SERIAL_UART_EVEN 0x08
  173. #define CISTPL_SERIAL_UART_5BIT 0x01
  174. #define CISTPL_SERIAL_UART_6BIT 0x02
  175. #define CISTPL_SERIAL_UART_7BIT 0x04
  176. #define CISTPL_SERIAL_UART_8BIT 0x08
  177. #define CISTPL_SERIAL_UART_1STOP 0x10
  178. #define CISTPL_SERIAL_UART_MSTOP 0x20
  179. #define CISTPL_SERIAL_UART_2STOP 0x40
  180. typedef struct cistpl_serial_t {
  181. u_char uart_type;
  182. u_char uart_cap_0;
  183. u_char uart_cap_1;
  184. } cistpl_serial_t;
  185. typedef struct cistpl_modem_cap_t {
  186. u_char flow;
  187. u_char cmd_buf;
  188. u_char rcv_buf_0, rcv_buf_1, rcv_buf_2;
  189. u_char xmit_buf_0, xmit_buf_1, xmit_buf_2;
  190. } cistpl_modem_cap_t;
  191. #define CISTPL_SERIAL_MOD_103 0x01
  192. #define CISTPL_SERIAL_MOD_V21 0x02
  193. #define CISTPL_SERIAL_MOD_V23 0x04
  194. #define CISTPL_SERIAL_MOD_V22 0x08
  195. #define CISTPL_SERIAL_MOD_212A 0x10
  196. #define CISTPL_SERIAL_MOD_V22BIS 0x20
  197. #define CISTPL_SERIAL_MOD_V26 0x40
  198. #define CISTPL_SERIAL_MOD_V26BIS 0x80
  199. #define CISTPL_SERIAL_MOD_V27BIS 0x01
  200. #define CISTPL_SERIAL_MOD_V29 0x02
  201. #define CISTPL_SERIAL_MOD_V32 0x04
  202. #define CISTPL_SERIAL_MOD_V32BIS 0x08
  203. #define CISTPL_SERIAL_MOD_V34 0x10
  204. #define CISTPL_SERIAL_ERR_MNP2_4 0x01
  205. #define CISTPL_SERIAL_ERR_V42_LAPM 0x02
  206. #define CISTPL_SERIAL_CMPR_V42BIS 0x01
  207. #define CISTPL_SERIAL_CMPR_MNP5 0x02
  208. #define CISTPL_SERIAL_CMD_AT1 0x01
  209. #define CISTPL_SERIAL_CMD_AT2 0x02
  210. #define CISTPL_SERIAL_CMD_AT3 0x04
  211. #define CISTPL_SERIAL_CMD_MNP_AT 0x08
  212. #define CISTPL_SERIAL_CMD_V25BIS 0x10
  213. #define CISTPL_SERIAL_CMD_V25A 0x20
  214. #define CISTPL_SERIAL_CMD_DMCL 0x40
  215. typedef struct cistpl_data_serv_t {
  216. u_char max_data_0;
  217. u_char max_data_1;
  218. u_char modulation_0;
  219. u_char modulation_1;
  220. u_char error_control;
  221. u_char compression;
  222. u_char cmd_protocol;
  223. u_char escape;
  224. u_char encrypt;
  225. u_char misc_features;
  226. u_char ccitt_code[0];
  227. } cistpl_data_serv_t;
  228. typedef struct cistpl_fax_serv_t {
  229. u_char max_data_0;
  230. u_char max_data_1;
  231. u_char modulation;
  232. u_char encrypt;
  233. u_char features_0;
  234. u_char features_1;
  235. u_char ccitt_code[0];
  236. } cistpl_fax_serv_t;
  237. typedef struct cistpl_voice_serv_t {
  238. u_char max_data_0;
  239. u_char max_data_1;
  240. } cistpl_voice_serv_t;
  241. /*======================================================================
  242. LAN Function Extension Tuples
  243. ======================================================================*/
  244. #define CISTPL_FUNCE_LAN_TECH 0x01
  245. #define CISTPL_FUNCE_LAN_SPEED 0x02
  246. #define CISTPL_FUNCE_LAN_MEDIA 0x03
  247. #define CISTPL_FUNCE_LAN_NODE_ID 0x04
  248. #define CISTPL_FUNCE_LAN_CONNECTOR 0x05
  249. /* LAN technologies */
  250. #define CISTPL_LAN_TECH_ARCNET 0x01
  251. #define CISTPL_LAN_TECH_ETHERNET 0x02
  252. #define CISTPL_LAN_TECH_TOKENRING 0x03
  253. #define CISTPL_LAN_TECH_LOCALTALK 0x04
  254. #define CISTPL_LAN_TECH_FDDI 0x05
  255. #define CISTPL_LAN_TECH_ATM 0x06
  256. #define CISTPL_LAN_TECH_WIRELESS 0x07
  257. typedef struct cistpl_lan_tech_t {
  258. u_char tech;
  259. } cistpl_lan_tech_t;
  260. typedef struct cistpl_lan_speed_t {
  261. u_int speed;
  262. } cistpl_lan_speed_t;
  263. /* LAN media definitions */
  264. #define CISTPL_LAN_MEDIA_UTP 0x01
  265. #define CISTPL_LAN_MEDIA_STP 0x02
  266. #define CISTPL_LAN_MEDIA_THIN_COAX 0x03
  267. #define CISTPL_LAN_MEDIA_THICK_COAX 0x04
  268. #define CISTPL_LAN_MEDIA_FIBER 0x05
  269. #define CISTPL_LAN_MEDIA_900MHZ 0x06
  270. #define CISTPL_LAN_MEDIA_2GHZ 0x07
  271. #define CISTPL_LAN_MEDIA_5GHZ 0x08
  272. #define CISTPL_LAN_MEDIA_DIFF_IR 0x09
  273. #define CISTPL_LAN_MEDIA_PTP_IR 0x0a
  274. typedef struct cistpl_lan_media_t {
  275. u_char media;
  276. } cistpl_lan_media_t;
  277. typedef struct cistpl_lan_node_id_t {
  278. u_char nb;
  279. u_char id[16];
  280. } cistpl_lan_node_id_t;
  281. typedef struct cistpl_lan_connector_t {
  282. u_char code;
  283. } cistpl_lan_connector_t;
  284. /*======================================================================
  285. IDE Function Extension Tuples
  286. ======================================================================*/
  287. #define CISTPL_IDE_INTERFACE 0x01
  288. typedef struct cistpl_ide_interface_t {
  289. u_char interface;
  290. } cistpl_ide_interface_t;
  291. /* First feature byte */
  292. #define CISTPL_IDE_SILICON 0x04
  293. #define CISTPL_IDE_UNIQUE 0x08
  294. #define CISTPL_IDE_DUAL 0x10
  295. /* Second feature byte */
  296. #define CISTPL_IDE_HAS_SLEEP 0x01
  297. #define CISTPL_IDE_HAS_STANDBY 0x02
  298. #define CISTPL_IDE_HAS_IDLE 0x04
  299. #define CISTPL_IDE_LOW_POWER 0x08
  300. #define CISTPL_IDE_REG_INHIBIT 0x10
  301. #define CISTPL_IDE_HAS_INDEX 0x20
  302. #define CISTPL_IDE_IOIS16 0x40
  303. typedef struct cistpl_ide_feature_t {
  304. u_char feature1;
  305. u_char feature2;
  306. } cistpl_ide_feature_t;
  307. #define CISTPL_FUNCE_IDE_IFACE 0x01
  308. #define CISTPL_FUNCE_IDE_MASTER 0x02
  309. #define CISTPL_FUNCE_IDE_SLAVE 0x03
  310. /*======================================================================
  311. Configuration Table Entries
  312. ======================================================================*/
  313. #define CISTPL_BAR_SPACE 0x07
  314. #define CISTPL_BAR_SPACE_IO 0x10
  315. #define CISTPL_BAR_PREFETCH 0x20
  316. #define CISTPL_BAR_CACHEABLE 0x40
  317. #define CISTPL_BAR_1MEG_MAP 0x80
  318. typedef struct cistpl_bar_t {
  319. u_char attr;
  320. u_int size;
  321. } cistpl_bar_t;
  322. typedef struct cistpl_config_t {
  323. u_char last_idx;
  324. u_int base;
  325. u_int rmask[4];
  326. u_char subtuples;
  327. } cistpl_config_t;
  328. /* These are bits in the 'present' field, and indices in 'param' */
  329. #define CISTPL_POWER_VNOM 0
  330. #define CISTPL_POWER_VMIN 1
  331. #define CISTPL_POWER_VMAX 2
  332. #define CISTPL_POWER_ISTATIC 3
  333. #define CISTPL_POWER_IAVG 4
  334. #define CISTPL_POWER_IPEAK 5
  335. #define CISTPL_POWER_IDOWN 6
  336. #define CISTPL_POWER_HIGHZ_OK 0x01
  337. #define CISTPL_POWER_HIGHZ_REQ 0x02
  338. typedef struct cistpl_power_t {
  339. u_char present;
  340. u_char flags;
  341. u_int param[7];
  342. } cistpl_power_t;
  343. typedef struct cistpl_timing_t {
  344. u_int wait, waitscale;
  345. u_int ready, rdyscale;
  346. u_int reserved, rsvscale;
  347. } cistpl_timing_t;
  348. #define CISTPL_IO_LINES_MASK 0x1f
  349. #define CISTPL_IO_8BIT 0x20
  350. #define CISTPL_IO_16BIT 0x40
  351. #define CISTPL_IO_RANGE 0x80
  352. #define CISTPL_IO_MAX_WIN 16
  353. typedef struct cistpl_io_t {
  354. u_char flags;
  355. u_char nwin;
  356. struct {
  357. u_int base;
  358. u_int len;
  359. } win[CISTPL_IO_MAX_WIN];
  360. } cistpl_io_t;
  361. typedef struct cistpl_irq_t {
  362. u_int IRQInfo1;
  363. u_int IRQInfo2;
  364. } cistpl_irq_t;
  365. #define CISTPL_MEM_MAX_WIN 8
  366. typedef struct cistpl_mem_t {
  367. u_char flags;
  368. u_char nwin;
  369. struct {
  370. u_int len;
  371. u_int card_addr;
  372. u_int host_addr;
  373. } win[CISTPL_MEM_MAX_WIN];
  374. } cistpl_mem_t;
  375. #define CISTPL_CFTABLE_DEFAULT 0x0001
  376. #define CISTPL_CFTABLE_BVDS 0x0002
  377. #define CISTPL_CFTABLE_WP 0x0004
  378. #define CISTPL_CFTABLE_RDYBSY 0x0008
  379. #define CISTPL_CFTABLE_MWAIT 0x0010
  380. #define CISTPL_CFTABLE_AUDIO 0x0800
  381. #define CISTPL_CFTABLE_READONLY 0x1000
  382. #define CISTPL_CFTABLE_PWRDOWN 0x2000
  383. typedef struct cistpl_cftable_entry_t {
  384. u_char index;
  385. u_short flags;
  386. u_char interface;
  387. cistpl_power_t vcc, vpp1, vpp2;
  388. cistpl_timing_t timing;
  389. cistpl_io_t io;
  390. cistpl_irq_t irq;
  391. cistpl_mem_t mem;
  392. u_char subtuples;
  393. } cistpl_cftable_entry_t;
  394. #define CISTPL_CFTABLE_MASTER 0x000100
  395. #define CISTPL_CFTABLE_INVALIDATE 0x000200
  396. #define CISTPL_CFTABLE_VGA_PALETTE 0x000400
  397. #define CISTPL_CFTABLE_PARITY 0x000800
  398. #define CISTPL_CFTABLE_WAIT 0x001000
  399. #define CISTPL_CFTABLE_SERR 0x002000
  400. #define CISTPL_CFTABLE_FAST_BACK 0x004000
  401. #define CISTPL_CFTABLE_BINARY_AUDIO 0x010000
  402. #define CISTPL_CFTABLE_PWM_AUDIO 0x020000
  403. typedef struct cistpl_cftable_entry_cb_t {
  404. u_char index;
  405. u_int flags;
  406. cistpl_power_t vcc, vpp1, vpp2;
  407. u_char io;
  408. cistpl_irq_t irq;
  409. u_char mem;
  410. u_char subtuples;
  411. } cistpl_cftable_entry_cb_t;
  412. typedef struct cistpl_device_geo_t {
  413. u_char ngeo;
  414. struct {
  415. u_char buswidth;
  416. u_int erase_block;
  417. u_int read_block;
  418. u_int write_block;
  419. u_int partition;
  420. u_int interleave;
  421. } geo[CISTPL_MAX_DEVICES];
  422. } cistpl_device_geo_t;
  423. typedef struct cistpl_vers_2_t {
  424. u_char vers;
  425. u_char comply;
  426. u_short dindex;
  427. u_char vspec8, vspec9;
  428. u_char nhdr;
  429. u_char vendor, info;
  430. char str[244];
  431. } cistpl_vers_2_t;
  432. typedef struct cistpl_org_t {
  433. u_char data_org;
  434. char desc[30];
  435. } cistpl_org_t;
  436. #define CISTPL_ORG_FS 0x00
  437. #define CISTPL_ORG_APPSPEC 0x01
  438. #define CISTPL_ORG_XIP 0x02
  439. typedef struct cistpl_format_t {
  440. u_char type;
  441. u_char edc;
  442. u_int offset;
  443. u_int length;
  444. } cistpl_format_t;
  445. #define CISTPL_FORMAT_DISK 0x00
  446. #define CISTPL_FORMAT_MEM 0x01
  447. #define CISTPL_EDC_NONE 0x00
  448. #define CISTPL_EDC_CKSUM 0x01
  449. #define CISTPL_EDC_CRC 0x02
  450. #define CISTPL_EDC_PCC 0x03
  451. typedef union cisparse_t {
  452. cistpl_device_t device;
  453. cistpl_checksum_t checksum;
  454. cistpl_longlink_t longlink;
  455. cistpl_longlink_mfc_t longlink_mfc;
  456. cistpl_vers_1_t version_1;
  457. cistpl_altstr_t altstr;
  458. cistpl_jedec_t jedec;
  459. cistpl_manfid_t manfid;
  460. cistpl_funcid_t funcid;
  461. cistpl_funce_t funce;
  462. cistpl_bar_t bar;
  463. cistpl_config_t config;
  464. cistpl_cftable_entry_t cftable_entry;
  465. cistpl_cftable_entry_cb_t cftable_entry_cb;
  466. cistpl_device_geo_t device_geo;
  467. cistpl_vers_2_t vers_2;
  468. cistpl_org_t org;
  469. cistpl_format_t format;
  470. } cisparse_t;
  471. typedef struct tuple_t {
  472. u_int Attributes;
  473. cisdata_t DesiredTuple;
  474. u_int Flags; /* internal use */
  475. u_int LinkOffset; /* internal use */
  476. u_int CISOffset; /* internal use */
  477. cisdata_t TupleCode;
  478. cisdata_t TupleLink;
  479. cisdata_t TupleOffset;
  480. cisdata_t TupleDataMax;
  481. cisdata_t TupleDataLen;
  482. cisdata_t *TupleData;
  483. } tuple_t;
  484. /* Special cisdata_t value */
  485. #define RETURN_FIRST_TUPLE 0xff
  486. /* Attributes for tuple calls */
  487. #define TUPLE_RETURN_LINK 0x01
  488. #define TUPLE_RETURN_COMMON 0x02
  489. #define CISTPL_MAX_CIS_SIZE 0x200
  490. #endif /* LINUX_CISTPL_H */