structs.inc 28 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697
  1. ;===================================================================;
  2. ; Linux x86 2.6+ structs.inc for FASM
  3. ;
  4. ; NOTE!
  5. ; =====
  6. ; This file includes another file (structs_v.inc) which contains
  7. ; structure offset and size definitions.
  8. ; If you don't need it, just comment out the last line of this file.
  9. ;
  10. ; The LSCR Project.
  11. ;===================================================================;
  12. struc timeval
  13. {
  14. .tv_sec rd 1
  15. .tv_usec rd 1
  16. }
  17. struc timezone
  18. {
  19. .tz_minuteswest rd 1
  20. .tz_dsttime rd 1
  21. }
  22. struc flock
  23. {
  24. .l_type rw 1
  25. .l_whence rw 1
  26. .l_start rd 1
  27. .l_len rd 1
  28. .l_pid rd 1
  29. }
  30. struc rlimit
  31. {
  32. .rlim_cur rd 1
  33. .rlim_max rd 1
  34. }
  35. struc rusage
  36. {
  37. .ru_utime timeval
  38. .ru_stime timeval
  39. .ru_maxrss rd 1
  40. .ru_ixrss rd 1
  41. .ru_idrss rd 1
  42. .ru_isrss rd 1
  43. .ru_minflt rd 1
  44. .ru_majflt rd 1
  45. .ru_nswap rd 1
  46. .ru_inblock rd 1
  47. .ru_oublock rd 1
  48. .ru_msgsnd rd 1
  49. .ru_msgrcv rd 1
  50. .ru_nsignals rd 1
  51. .ru_nvcsw rd 1
  52. .ru_nivcsw rd 1
  53. }
  54. struc statfs
  55. {
  56. .f_type rd 1
  57. .f_bsize rd 1
  58. .f_blocks rd 1
  59. .f_bfree rd 1
  60. .f_bavail rd 1
  61. .f_files rd 1
  62. .f_ffree rd 1
  63. .f_fsid rd 1
  64. .f_namelen rd 1
  65. .f_frsize rd 1
  66. .f_spare rd 5
  67. }
  68. struc itimerval
  69. {
  70. .it_interval timeval
  71. .it_value timeval
  72. }
  73. struc stat
  74. {
  75. .st_dev rd 1
  76. .st_ino rd 1
  77. .st_mode rw 1
  78. .st_nlink rw 1
  79. .st_uid rw 1
  80. .st_gid rw 1
  81. .st_rdev rd 1
  82. .st_size rd 1
  83. .st_blksize rd 1
  84. .st_blocks rd 1
  85. .st_atime rd 1
  86. .st_atime_nsec rd 1
  87. .st_mtime rd 1
  88. .st_mtime_nsec rd 1
  89. .st_ctime rd 1
  90. .st_ctime_nsec rd 1
  91. .__unused4 rd 1
  92. .__unused5 rd 1
  93. }
  94. struc timex
  95. {
  96. .modes rd 1
  97. .offset rd 1
  98. .freq rd 1
  99. .maxerror rd 1
  100. .esterror rd 1
  101. .status rd 1
  102. .constant rd 1
  103. .precision rd 1
  104. .tolerance rd 1
  105. .time timeval
  106. .tick rd 1
  107. .ppsfreq rd 1
  108. .jitter rd 1
  109. .shift rd 1
  110. .stabil rd 1
  111. .jitcnt rd 1
  112. .calcnt rd 1
  113. .errcnt rd 1
  114. .stbcnt rd 1
  115. rd 12
  116. }
  117. struc dirent
  118. {
  119. .d_ino rd 1
  120. .d_off rd 1
  121. .d_reclen rw 1
  122. .d_name rb 256
  123. }
  124. struc cap_user_header_t
  125. {
  126. .version rd 1
  127. .pid rd 1
  128. }
  129. struc cap_user_data_t
  130. {
  131. .effective rd 1
  132. .permitted rd 1
  133. .inheritable rd 1
  134. }
  135. struc user_desc
  136. {
  137. .entry_number rd 1
  138. .base_addr rd 1
  139. .limit rd 1
  140. .bitfield rd 1
  141. ; seg_32bit :1
  142. ; contents :2
  143. ; read_exec_only :1
  144. ; limit_in_pages :1
  145. ; seg_not_present :1
  146. ; useable :1
  147. }
  148. struc timespec
  149. {
  150. .tv_sec rd 1
  151. .tv_nsec rd 1
  152. }
  153. struc iocb
  154. {
  155. .aio_data rq 1
  156. .aio_key rd 1
  157. .aio_reserved1 rd 1
  158. .aio_lio_opcode rw 1
  159. .aio_reqprio rw 1
  160. .aio_fildes rd 1
  161. .aio_buf rq 1
  162. .aio_nbytes rq 1
  163. .aio_offset rq 1
  164. .aio_reserved2 rq 1
  165. .aio_reserved3 rq 1
  166. }
  167. struc io_event
  168. {
  169. .data rq 1
  170. .obj rq 1
  171. .res rq 1
  172. .res2 rq 1
  173. }
  174. NCCS equ 19
  175. struc termios
  176. {
  177. .c_iflag rd 1
  178. .c_oflag rd 1
  179. .c_cflag rd 1
  180. .c_lflag rd 1
  181. .c_line rb 1
  182. .c_cc rb NCCS
  183. }
  184. struc winsize
  185. {
  186. .ws_row rw 1
  187. .ws_col rw 1
  188. .ws_xpixel rw 1
  189. .ws_ypixel rw 1
  190. }
  191. struc serial_struct
  192. {
  193. .type rd 1
  194. .line rd 1
  195. .port rd 1
  196. .irq rd 1
  197. .flags rd 1
  198. .xmit_fifo_size rd 1
  199. .custom_divisor rd 1
  200. .baud_base rd 1
  201. .close_delay rw 1
  202. .io_type rb 1
  203. .reserved_char rb 1
  204. .hub6 rd 1
  205. .closing_wait rw 1
  206. .closing_wait2 rw 1
  207. .iomem_base rd 1
  208. .iomem_reg_shift rw 1
  209. .port_high rd 1
  210. .iomap_base rd 1
  211. }
  212. struc serial_multiport_struct
  213. {
  214. .irq rd 1
  215. .port1 rd 1
  216. .mask1 rb 1
  217. .match1 rb 1
  218. .port2 rd 1
  219. .mask2 rb 1
  220. .match2 rb 1
  221. .port3 rd 1
  222. .mask3 rb 1
  223. .match3 rb 1
  224. .port4 rd 1
  225. .mask4 rb 1
  226. .match4 rb 1
  227. .port_monitor rd 1
  228. .reserved rd 32
  229. }
  230. struc cdrom_msf
  231. {
  232. .cdmsf_min0 rb 1
  233. .cdmsf_sec0 rb 1
  234. .cdmsf_frame0 rb 1
  235. .cdmsf_min1 rb 1
  236. .cdmsf_sec1 rb 1
  237. .cdmsf_frame1 rb 1
  238. }
  239. struc cdrom_ti
  240. {
  241. .cdti_trk0 rb 1
  242. .cdti_ind0 rb 1
  243. .cdti_trk1 rb 1
  244. .cdti_ind1 rb 1
  245. }
  246. struc cdrom_tochdr
  247. {
  248. .cdth_trk0 rb 1
  249. .cdth_trk1 rb 1
  250. }
  251. struc cdrom_msf0
  252. {
  253. .minute rb 1
  254. .second rb 1
  255. .frame rb 1
  256. }
  257. struc cd_addr
  258. {
  259. .msf: ;cdrom_msf0
  260. .lba rd 1
  261. }
  262. struc cdrom_tocentry
  263. {
  264. .cdte_track rb 1
  265. .cdte_adr rb 1
  266. .cdte_ctrl rb 1
  267. .cdte_format rb 1
  268. .cdte_addr cd_addr
  269. .cdte_datamode rb 1
  270. }
  271. struc cdrom_volctrl
  272. {
  273. .channel0 rb 1
  274. .channel1 rb 1
  275. .channel2 rb 1
  276. .channel3 rb 1
  277. }
  278. struc cdrom_subchnl
  279. {
  280. .cdsc_format rb 1
  281. .cdsc_audiostatus rb 1
  282. .cdsc_adr rb 1
  283. .cdsc_ctrl rb 1
  284. .cdsc_trk rb 1
  285. .cdsc_ind rb 1
  286. .cdsc_absaddr cd_addr
  287. .cdsc_reladdr cd_addr
  288. }
  289. struc cdrom_read
  290. {
  291. .cdread_lba rd 1
  292. .cdread_bufaddr rd 1
  293. .cdread_buflen rd 1
  294. }
  295. struc cdrom_read_audio
  296. {
  297. .msf: ;cdrom_msf0
  298. .lba rd 1
  299. .addr_format rb 1
  300. .nframes rd 1
  301. .buf rd 1
  302. }
  303. struc cdrom_addr
  304. {
  305. .msf: ;cdrom_msf0
  306. .lba rd 1
  307. }
  308. struc cdrom_multisession
  309. {
  310. .addr cdrom_addr
  311. .xa_flag rb 1
  312. .addr_format rb 1
  313. }
  314. struc cdrom_mcn
  315. {
  316. .medium_catalog_number rb 14
  317. }
  318. struc cdrom_blk
  319. {
  320. .from rd 1
  321. .len rw 1
  322. }
  323. struc dvd_layer
  324. {
  325. .bitfield rb 1
  326. ; book_version :4
  327. ; book_type :4
  328. .bitfield1 rb 1
  329. ; min_rate :4
  330. ; disc_size :4
  331. .bitfield2 rb 1
  332. ; layer_type :4
  333. ; track_path :1
  334. ; nlayers:2
  335. .bitfield3 rb 1
  336. ; track_density :4
  337. ; linear_density:4
  338. .bitfield4 rb 1
  339. ; bca :1
  340. .start_sector rd 1
  341. .end_sector rd 1
  342. .end_sector_l0 rd 1
  343. }
  344. struc dvd_physical
  345. {
  346. .type rb 1
  347. .layer_num rb 1
  348. .layer dvd_layer
  349. .layer1 dvd_layer
  350. .layer2 dvd_layer
  351. .layer3 dvd_layer
  352. }
  353. struc dvd_copyright
  354. {
  355. .type rb 1
  356. .layer_num rb 1
  357. .cpst rb 1
  358. .rmi rb 1
  359. }
  360. struc dvd_disckey
  361. {
  362. .type rb 1
  363. .agid rd 1
  364. ; agid :2
  365. .value rb 2048
  366. }
  367. struc dvd_bca
  368. {
  369. .type rb 1
  370. .len rd 1
  371. .value rb 188
  372. }
  373. struc dvd_manufact
  374. {
  375. .type rb 1
  376. .layer_num rb 1
  377. .len rd 1
  378. .value rb 2048
  379. }
  380. struc dvd_struct
  381. {
  382. .type: ;rb 1
  383. .physical: ;dvd_physical
  384. .copyright: ;dvd_copyright
  385. .disckey: ;dvd_disckey
  386. .bca: ;dvd_bca
  387. .manufact dvd_manufact
  388. }
  389. struc dvd_lu_send_agid
  390. {
  391. .type rb 1
  392. .agid rd 1
  393. ; agid :2
  394. }
  395. struc dvd_host_send_challenge
  396. {
  397. .type rb 1
  398. .agid rd 1
  399. ; agid :2
  400. .chal rb 10
  401. }
  402. struc dvd_send_key
  403. {
  404. .type rb 1
  405. .agid rd 1
  406. ; agid :2
  407. .key rb 5
  408. }
  409. struc dvd_lu_send_challenge
  410. {
  411. .type rb 1
  412. .agid rd 1
  413. ; agid :2
  414. .chal rb 10
  415. }
  416. struc dvd_lu_send_title_key
  417. {
  418. .type rb 1
  419. .agid rd 1
  420. ; agid :2
  421. .title_key rb 5
  422. .lba rd 1
  423. .bitfield rd 1
  424. ; cpm :1
  425. ; cp_sec :1
  426. ; cgms :2
  427. }
  428. struc dvd_lu_send_asf
  429. {
  430. .type rb 1
  431. .bitfield rd 1
  432. ; agid :2
  433. ; asf :1
  434. }
  435. struc dvd_host_send_rpcstate
  436. {
  437. .type rb 1
  438. .pdrc rb 1
  439. }
  440. struc dvd_lu_send_rpcstate
  441. {
  442. .bitfield rb 1
  443. ; type :2
  444. ; vra :3
  445. ; ucca :3
  446. .region_mask rb 1
  447. .rpc_scheme rb 1
  448. }
  449. struc dvd_authinfo
  450. {
  451. .type: ;rb 1
  452. .lsa: ;dvd_lu_send_agid
  453. .hsc: ;dvd_host_send_challenge
  454. .lsk: ;dvd_send_key
  455. .lsc: ;dvd_lu_send_challenge
  456. .hsk: ;dvd_send_key
  457. .lsasf: ;dvd_lu_send_asf
  458. .hrpcs: ;dvd_host_send_rpcstate
  459. .lrpcs: ;dvd_lu_send_rpcstate
  460. .lstk dvd_lu_send_title_key
  461. }
  462. CDROM_PACKET_SIZE equ 12
  463. struc cdrom_generic_command
  464. {
  465. .cmd rb CDROM_PACKET_SIZE
  466. .buffer rd 1
  467. .buflen rd 1
  468. .stat rd 1
  469. .sense rd 1
  470. .data_direction rb 1
  471. .quiet rd 1
  472. .timeout rd 1
  473. .reserved rd 1
  474. }
  475. struc sockaddr
  476. {
  477. .sa_family rw 1
  478. .sa_data rb 14
  479. }
  480. struc rtentry
  481. {
  482. .rt_pad1 rd 1
  483. .rt_dst sockaddr
  484. .rt_gateway sockaddr
  485. .rt_genmask sockaddr
  486. .rt_flags rw 1
  487. .rt_pad2 rw 1
  488. .rt_pad3 rd 1
  489. .rt_pad4 rd 1
  490. .rt_metric rw 1
  491. .rt_dev rd 1
  492. .rt_mtu rd 1
  493. .rt_window rd 1
  494. .rt_irtt rw 1
  495. }
  496. struc sembuf
  497. {
  498. .sem_num rw 1
  499. .sem_op rw 1
  500. .sem_flg rw 1
  501. }
  502. struc seminfo
  503. {
  504. .semmap rd 1
  505. .semmni rd 1
  506. .semmns rd 1
  507. .semmnu rd 1
  508. .semmsl rd 1
  509. .semopm rd 1
  510. .semume rd 1
  511. .semusz rd 1
  512. .semvmx rd 1
  513. .semaem rd 1
  514. }
  515. struc semun
  516. {
  517. .val: ;rd 1
  518. .buf: ;rd 1
  519. .array: ;rd 1
  520. .__buf: ;rd 1
  521. .__pad rd 1
  522. }
  523. struc ipc_perm
  524. {
  525. .key rd 1
  526. .uid rw 1
  527. .gid rw 1
  528. .cuid rw 1
  529. .cgid rw 1
  530. .mode rw 1
  531. .seq rw 1
  532. }
  533. struc sem
  534. {
  535. .semval rd 1
  536. .sempid rd 1
  537. }
  538. struc sem_undo
  539. {
  540. .proc_next rd 1
  541. .id_next rd 1
  542. .semid rd 1
  543. .semadj rd 1
  544. }
  545. struc sem_queue
  546. {
  547. .next rd 1
  548. .prev rd 1
  549. .sleeper rd 1
  550. .undo rd 1
  551. .pid rd 1
  552. .status rd 1
  553. .sma rd 1
  554. .id rd 1
  555. .sops rd 1
  556. .nsops rd 1
  557. .alter rd 1
  558. }
  559. struc semid_ds
  560. {
  561. .sem_perm ipc_perm
  562. .sem_otime rd 1
  563. .sem_ctime rd 1
  564. .sem_base rd 1
  565. .sem_pending rd 1
  566. .sem_pending_last rd 1
  567. .undo rd 1
  568. .sem_nsems rw 1
  569. }
  570. struc raw_spinlock_t
  571. {
  572. .slock rd 1
  573. }
  574. struc spinlock_t
  575. {
  576. .raw_lock raw_spinlock_t
  577. match =1 =1, CONFIG_PREEMPT CONFIG_SMP
  578. \{
  579. .break_lock rd 1
  580. \}
  581. match =1, CONFIG_DEBUG_SPINLOCK
  582. \{
  583. .magic rd 1
  584. .owner_cpu rd 1
  585. .owner rd 1
  586. \}
  587. }
  588. struc kern_ipc_perm
  589. {
  590. .lock spinlock_t
  591. .deleted rd 1
  592. .key rd 1
  593. .uid rd 1
  594. .gid rd 1
  595. .cuid rd 1
  596. .cgid rd 1
  597. .mode rw 1
  598. .seq rd 1
  599. .security rd 1
  600. }
  601. struc sem_array
  602. {
  603. .sem_perm kern_ipc_perm
  604. .sem_id rd 1
  605. .sem_otime rd 1
  606. .sem_ctime rd 1
  607. .sem_base rd 1
  608. .sem_pending rd 1
  609. .sem_pending_last rd 1
  610. .undo rd 1
  611. .sem_nsems rd 1
  612. }
  613. struc msginfo
  614. {
  615. .msgpool rd 1
  616. .msgmap rd 1
  617. .msgmax rd 1
  618. .msgmnb rd 1
  619. .msgmni rd 1
  620. .msgssz rd 1
  621. .msgtql rd 1
  622. .msgseg rw 1
  623. }
  624. struc msqid_ds
  625. {
  626. .msg_perm ipc_perm
  627. .msg_first rd 1
  628. .msg_last rd 1
  629. .msg_stime rd 1
  630. .msg_rtime rd 1
  631. .msg_ctime rd 1
  632. .msg_lcbytes rd 1
  633. .msg_lqbytes rd 1
  634. .msg_cbytes rw 1
  635. .msg_qnum rw 1
  636. .msg_qbytes rw 1
  637. .msg_lspid rw 1
  638. .msg_lrpid rw 1
  639. }
  640. struc shmid_ds
  641. {
  642. .shm_perm ipc_perm
  643. .shm_segsz rd 1
  644. .shm_atime rd 1
  645. .shm_dtime rd 1
  646. .shm_ctime rd 1
  647. .shm_cpid rw 1
  648. .shm_lpid rw 1
  649. .shm_nattch rw 1
  650. .shm_unused rw 1
  651. .shm_unused2 rd 1
  652. .shm_unused3 rd 1
  653. }
  654. struc shminfo
  655. {
  656. .shmmax rd 1
  657. .shmmin rd 1
  658. .shmmni rd 1
  659. .shmseg rd 1
  660. .shmall rd 1
  661. }
  662. struc shm_info
  663. {
  664. .used_ids rd 1
  665. .shm_tot rd 1
  666. .shm_rss rd 1
  667. .shm_swp rd 1
  668. .swap_attempts rd 1
  669. .swap_successes rd 1
  670. }
  671. struc epoll_event
  672. {
  673. .events rd 1
  674. .data rq 1
  675. }
  676. struc um_dup_user_desc
  677. {
  678. .entry_number rd 1
  679. .base_addr rd 1
  680. .limit rd 1
  681. .bitfield rd 1
  682. ; seg_32bit :1
  683. ; contents :2
  684. ; read_exec_only :1
  685. ; limit_in_pages :1
  686. ; seg_not_present :1
  687. ; useable :1
  688. }
  689. NFSCLNT_IDMAX equ 1024
  690. NFSCLNT_ADDRMAX equ 16
  691. NFSCLNT_KEYMAX equ 32
  692. NFS_MAXPATHLEN equ 1024
  693. struc nfsctl_svc
  694. {
  695. .svc_port rw 1
  696. .svc_nthreads rd 1
  697. }
  698. struc nfsctl_client
  699. {
  700. .cl_ident rb NFSCLNT_IDMAX+1
  701. .cl_naddr rd 1
  702. .cl_addrlist rd 16
  703. .cl_fhkeytype rd 1
  704. .cl_fhkeylen rd 1
  705. .cl_fhkey rb NFSCLNT_KEYMAX
  706. }
  707. struc nfsctl_export
  708. {
  709. .ex_client rb NFSCLNT_IDMAX+1
  710. .ex_path rb NFS_MAXPATHLEN+1
  711. .ex_dev rw 1
  712. .ex_ino rd 1
  713. .ex_flags rd 1
  714. .ex_anon_uid rw 1
  715. .ex_anon_gid rw 1
  716. }
  717. struc nfsctl_fdparm
  718. {
  719. .gd_addr sockaddr
  720. .gd_path rb NFS_MAXPATHLEN+1
  721. .gd_version rd 1
  722. }
  723. struc nfsctl_fsparm
  724. {
  725. gd_addr sockaddr
  726. gd_path rb NFS_MAXPATHLEN+1
  727. gd_maxlen rd 1
  728. }
  729. struc nfsctl_arg
  730. {
  731. .ca_version rd 1
  732. .u_svc: ;nfsctl_svc
  733. .u_client: ;nfsctl_client
  734. .u_getfd: ;nfsctl_fdparm
  735. .u_getfs: ;nfsctl_fsparm
  736. .u_ptr: ;rd 1
  737. .u_export nfsctl_export
  738. }
  739. NFS_FHSIZE equ 32
  740. NFS4_FHSIZE equ 128
  741. struc nfs_fhbase_old
  742. {
  743. .fb_dcookie rd 1
  744. .fb_ino rd 1
  745. .fb_dirino rd 1
  746. .fb_dev rd 1
  747. .fb_xdev rd 1
  748. .fb_xino rd 1
  749. .fb_generation rd 1
  750. }
  751. struc nfs_fhbase_new
  752. {
  753. .fb_version rb 1
  754. .fb_auth_type rb 1
  755. .fb_fsid_type rb 1
  756. .fb_fileid_type rb 1
  757. .fb_auth rd 1
  758. }
  759. struc knfsd_fh
  760. {
  761. .fh_size rd 1
  762. .fh_old: ;nfs_fhbase_old
  763. .fh_new: ;nfs_fhbase_new
  764. .fh_pad rd NFS4_FHSIZE/4
  765. }
  766. struc nfsctl_res
  767. {
  768. .cr_getfh: ;rb NFS_FHSIZE
  769. .cr_getfs knfsd_fh
  770. }
  771. struc pollfd
  772. {
  773. .fd rd 1
  774. .events rw 1
  775. .revents rw 1
  776. }
  777. struc if_dqblk
  778. {
  779. .dqb_bhardlimit rq 1
  780. .dqb_bsoftlimit rq 1
  781. .dqb_curspace rq 1
  782. .dqb_ihardlimit rq 1
  783. .dqb_isoftlimit rq 1
  784. .dqb_curinodes rq 1
  785. .dqb_btime rq 1
  786. .dqb_itime rq 1
  787. .dqb_valid rd 1
  788. }
  789. struc iovec
  790. {
  791. .iov_base rd 1
  792. .iov_len rd 1
  793. }
  794. if defined CONFIG_SMP
  795. NR_CPUS = CONFIG_NR_CPUS
  796. else
  797. NR_CPUS = 1
  798. end if
  799. struc cpumask_t
  800. {
  801. .bits rd ((NR_CPUS+31)/32)
  802. }
  803. struc sched_param
  804. {
  805. .sched_priority rd 1
  806. }
  807. struc fd_set
  808. {
  809. .fds_bits rd 32
  810. }
  811. struc old_sigaction
  812. {
  813. .sa_handler: ;rd 1
  814. .sa_sigaction rd 1
  815. .sa_mask rd 1
  816. .sa_flags rd 1
  817. .sa_restorer rd 1
  818. }
  819. struc sigaltstack
  820. {
  821. .ss_sp rd 1
  822. .ss_flags rd 1
  823. .ss_size rd 1
  824. }
  825. UNIX_PATH_MAX equ 108
  826. struc sockaddr_un
  827. {
  828. .sun_family rw 1
  829. .sun_path rb UNIX_PATH_MAX
  830. }
  831. struc sockaddr_in
  832. {
  833. .sin_family rw 1
  834. .sin_port rw 1
  835. .sin_addr rd 1
  836. .__pad rb 8
  837. }
  838. struc in6_addr
  839. {
  840. .u6_addr8: ;rb 16
  841. .u6_addr16: ;rw 8
  842. .u6_addr32 rd 4
  843. }
  844. struc sockaddr_in6
  845. {
  846. .sin6_family rw 1
  847. .sin6_port rw 1
  848. .sin6_flowinfo rd 1
  849. .sin6_addr in6_addr
  850. .sin6_scope_id rd 1
  851. }
  852. struc atalk_addr
  853. {
  854. .s_net rw 1
  855. .s_node rb 1
  856. }
  857. struc sockaddr_at
  858. {
  859. .sat_family rw 1
  860. .sat_port rb 1
  861. .sat_addr atalk_addr
  862. .sat_zero rb 8
  863. }
  864. struc sockaddr_ll
  865. {
  866. .sll_family rw 1
  867. .sll_protocol rw 1
  868. .sll_ifindex rd 1
  869. .sll_hatype rw 1
  870. .sll_pkttype rb 1
  871. .sll_halen rb 1
  872. .sll_addr rb 8
  873. }
  874. struc sockaddr_x25
  875. {
  876. .sx25_family rw 1
  877. .sx25_addr rb 16
  878. }
  879. struc sockaddr_nl
  880. {
  881. .nl_family rw 1
  882. .nl_pad rw 1
  883. .nl_pid rd 1
  884. .nl_groups rd 1
  885. }
  886. struc sockaddr_ax25
  887. {
  888. .sax25_family rw 1
  889. .sax25_call rb 7
  890. .sax25_ndigis rd 1
  891. }
  892. struc sockaddr_irda
  893. {
  894. .sir_family rw 1
  895. .sir_lsap_sel rb 1
  896. .sir_addr rd 1
  897. .sir_name rb 25
  898. }
  899. IPX_NODE_LEN equ 6
  900. struc sockaddr_ipx
  901. {
  902. .sipx_family rw 1
  903. .sipx_port rw 1
  904. .sipx_network rd 1
  905. .sipx_node rb IPX_NODE_LEN
  906. .sipx_type rb 1
  907. .sipx_zero rb 1
  908. }
  909. struc _sap_addr
  910. {
  911. .itf rw 1
  912. .vpi rw 1
  913. .vci rd 1
  914. }
  915. struc sockaddr_atmpvc
  916. {
  917. .sap_family rw 1
  918. .sap_addr _sap_addr
  919. }
  920. struc rose_address
  921. {
  922. .rose_addr rb 5
  923. }
  924. struc sockaddr_rose
  925. {
  926. .srose_family rw 1
  927. .srose_addr rose_address
  928. .srose_call rb 7
  929. .srose_ndigis rd 1
  930. .srose_digi rb 7
  931. }
  932. DN_MAXADDL equ 2
  933. DN_MAXOBJL equ 16
  934. struc dn_naddr
  935. {
  936. .a_len rw 1
  937. .a_addr rb DN_MAXADDL
  938. }
  939. struc sockaddr_dn
  940. {
  941. .sdn_family rw 1
  942. .sdn_flags rb 1
  943. .sdn_objnum rb 1
  944. .sdn_objnamel rw 1
  945. .sdn_objname rb DN_MAXOBJL
  946. .sdn_add dn_naddr
  947. }
  948. ETH_ALEN equ 6
  949. IFNAMSIZ equ 16
  950. struc pppoe_addr
  951. {
  952. .sid rw 1
  953. .remote rb ETH_ALEN
  954. .dev rb IFNAMSIZ
  955. }
  956. struc sockaddr_pppox
  957. {
  958. .sa_family rw 1
  959. .sa_protocol rd 1
  960. .sa_addr pppoe_addr
  961. }
  962. struc __sysctl_args
  963. {
  964. .name rd 1
  965. .nlen rd 1
  966. .oldval rd 1
  967. .oldlenp rd 1
  968. .newval rd 1
  969. .newlen rd 1
  970. .__unused rd 4
  971. }
  972. struc sysinfo
  973. {
  974. .uptime rd 1
  975. .loads rd 3
  976. .totalram rd 1
  977. .freeram rd 1
  978. .sharedram rd 1
  979. .bufferram rd 1
  980. .totalswap rd 1
  981. .freeswap rd 1
  982. .procs rw 1
  983. .pad rw 1
  984. .totalhigh rd 1
  985. .freehigh rd 1
  986. .mem_unit rd 1
  987. ._f rb 8
  988. }
  989. struc tms
  990. {
  991. .tms_utime rd 1
  992. .tms_stime rd 1
  993. .tms_cutime rd 1
  994. .tms_cstime rd 1
  995. }
  996. struc old_utsname
  997. {
  998. .sysname rb 65
  999. .nodename rb 65
  1000. .release rb 65
  1001. .version rb 65
  1002. .machine rb 65
  1003. }
  1004. struc ustat
  1005. {
  1006. .f_tfree rd 1
  1007. .f_tinode rd 1
  1008. .f_fname rb 6
  1009. .f_fpack rb 6
  1010. }
  1011. struc utimbuf
  1012. {
  1013. .actime rd 1
  1014. .modtime rd 1
  1015. }
  1016. struc vm86_regs
  1017. {
  1018. .ebx rd 1
  1019. .ecx rd 1
  1020. .edx rd 1
  1021. .esi rd 1
  1022. .edi rd 1
  1023. .ebp rd 1
  1024. .eax rd 1
  1025. .__null_ds rd 1
  1026. .__null_es rd 1
  1027. .__null_fs rd 1
  1028. .__null_gs rd 1
  1029. .orig_eax rd 1
  1030. .eip rd 1
  1031. .cs rw 1
  1032. .__csh rw 1
  1033. .eflags rd 1
  1034. .esp rd 1
  1035. .ss rw 1
  1036. .__ssh rw 1
  1037. .es rw 1
  1038. .__esh rw 1
  1039. .ds rw 1
  1040. .__dsh rw 1
  1041. .fs rw 1
  1042. .__fsh rw 1
  1043. .gs rw 1
  1044. .__gsh rw 1
  1045. }
  1046. struc revectored_struct
  1047. {
  1048. .__map rd 8
  1049. }
  1050. struc vm86plus_info_struct
  1051. {
  1052. .bitfield rd 1
  1053. ; force_return_for_pic :1
  1054. ; vm86dbg_active :1
  1055. ; vm86dbg_TFpendig :1
  1056. ; unused :28
  1057. ; is_vm86pus :1
  1058. .vm86dbg_intxxtab rb 32
  1059. }
  1060. struc vm86plus_struct
  1061. {
  1062. .regs vm86_regs
  1063. .flags rd 1
  1064. .screen_bitmap rd 1
  1065. .cpu_type rd 1
  1066. .int_revectored revectored_struct
  1067. .int21_revectored revectored_struct
  1068. .vm86plus vm86plus_info_struct
  1069. }
  1070. struc linger
  1071. {
  1072. .l_onoff rd 1
  1073. .l_linger rd 1
  1074. }
  1075. struc ucred
  1076. {
  1077. .pid rd 1
  1078. .uid rd 1
  1079. .gid rd 1
  1080. }
  1081. struc sock_extended_err
  1082. {
  1083. .ee_errno rd 1
  1084. .ee_origin rb 1
  1085. .ee_type rb 1
  1086. .ee_code rb 1
  1087. .ee_pad rb 1
  1088. .ee_info rd 1
  1089. .ee_data rd 1
  1090. }
  1091. struc msghdr
  1092. {
  1093. .msg_name rd 1
  1094. .msg_namelen rd 1
  1095. .msg_iov rd 1
  1096. .msg_iovlen rd 1
  1097. .msg_control rd 1
  1098. .msg_controllen rd 1
  1099. .msg_flags rd 1
  1100. }
  1101. struc user_regs_struct
  1102. {
  1103. .ebx rd 1
  1104. .ecx rd 1
  1105. .edx rd 1
  1106. .esi rd 1
  1107. .edi rd 1
  1108. .ebp rd 1
  1109. .eax rd 1
  1110. .ds rw 1
  1111. .__ds rw 1
  1112. .es rw 1
  1113. .__es rw 1
  1114. .fs rw 1
  1115. .__fs rw 1
  1116. .gs rw 1
  1117. .__gs rw 1
  1118. .orig_eax rd 1
  1119. .eip rd 1
  1120. .cs rw 1
  1121. .__cs rw 1
  1122. .eflags rd 1
  1123. .esp rd 1
  1124. .ss rw 1
  1125. .__ss rw 1
  1126. }
  1127. struc user_i387_struct
  1128. {
  1129. .cwd rd 1
  1130. .swd rd 1
  1131. .twd rd 1
  1132. .fip rd 1
  1133. .fcs rd 1
  1134. .foo rd 1
  1135. .fos rd 1
  1136. .st_space rd 20
  1137. }
  1138. struc user
  1139. {
  1140. .regs user_regs_struct
  1141. .u_fpvalid rd 1
  1142. .i387 user_i387_struct
  1143. .u_tsize rd 1
  1144. .u_dsize rd 1
  1145. .u_ssize rd 1
  1146. .start_code rd 1
  1147. .start_stack rd 1
  1148. .signal rd 1
  1149. .reserved rd 1
  1150. .u_ar0 rd 1
  1151. .u_fpstate rd 1
  1152. .magic rd 1
  1153. .u_comm rb 32
  1154. .u_debugreg rd 8
  1155. }
  1156. struc sigset
  1157. {
  1158. .sig rd 2
  1159. }
  1160. struc sigcontext
  1161. {
  1162. .gs rw 1
  1163. .__gsh rw 1
  1164. .fs rw 1
  1165. .__fsh rw 1
  1166. .es rw 1
  1167. .__esh rw 1
  1168. .ds rw 1
  1169. .__dsh rw 1
  1170. .edi rd 1
  1171. .esi rd 1
  1172. .ebp rd 1
  1173. .esp rd 1
  1174. .ebx rd 1
  1175. .edx rd 1
  1176. .ecx rd 1
  1177. .eax rd 1
  1178. .trapno rd 1
  1179. .err rd 1
  1180. .eip rd 1
  1181. .cs rw 1
  1182. .__csh rw 1
  1183. .eflags rd 1
  1184. .esp_at_signal rd 1
  1185. .ss rw 1
  1186. .__ssh rw 1
  1187. .fpstate rd 1
  1188. .oldmask rd 1
  1189. .cr2 rd 1
  1190. }
  1191. struc ucontext
  1192. {
  1193. .uc_flags rd 1
  1194. .uc_link rd 1
  1195. .uc_stack sigaltstack
  1196. .uc_mcontext sigcontext
  1197. .uc_sigmask sigset
  1198. }
  1199. struc kill
  1200. {
  1201. ._pid rd 1
  1202. ._uid rd 1
  1203. }
  1204. struc timer
  1205. {
  1206. ._tid rd 1
  1207. ._overrun rd 1
  1208. .sival_int: ;rd 1
  1209. .sival_ptr rd 1
  1210. ._sys_private rd 1
  1211. }
  1212. struc _rt
  1213. {
  1214. ._pid rd 1
  1215. ._uid rd 1
  1216. .sival_int: ;rd 1
  1217. .sival_ptr rd 1
  1218. }
  1219. struc sigchld
  1220. {
  1221. ._pid rd 1
  1222. ._uid rd 1
  1223. ._status rd 1
  1224. ._utime rd 1
  1225. ._stime rd 1
  1226. }
  1227. struc sigfault
  1228. {
  1229. ._addr rd 1
  1230. }
  1231. struc sigpoll
  1232. {
  1233. ._band rd 1
  1234. ._fd rd 1
  1235. }
  1236. struc siginfo
  1237. {
  1238. .si_signo rd 1
  1239. .si_errno rd 1
  1240. .si_code rd 1
  1241. ._kill: ;kill
  1242. ._timer: ;timer
  1243. .__rt: ;_rt
  1244. ._sigchld: ;sigchld
  1245. ._sigfault: ;sigfault
  1246. ._sigpoll: ;sigpoll
  1247. ._pad rd 29
  1248. }
  1249. struc ipc_kludge
  1250. {
  1251. .msgp rd 1
  1252. .msgtyp rd 1
  1253. }
  1254. struc msgbuf ; this is actually a variable length structure
  1255. {
  1256. .mtype rd 1
  1257. .mtext rb 1
  1258. }
  1259. struc vm86_struct
  1260. {
  1261. .regs vm86_regs
  1262. .flags rd 1
  1263. .screen_bitmap rd 1
  1264. .cpu_type rd 1
  1265. .int_revectored revectored_struct
  1266. .int21_revectored revectored_struct
  1267. }
  1268. struc stat64
  1269. {
  1270. .st_dev rq 1
  1271. .__pad0 rb 4
  1272. .__st_ino rd 1
  1273. .st_mode rd 1
  1274. .st_nlink rd 1
  1275. .st_uid rd 1
  1276. .st_gid rd 1
  1277. .st_rdev rq 1
  1278. .__pad3 rb 4
  1279. .st_size rq 1
  1280. .st_blksize rd 1
  1281. .st_blocks rq 1
  1282. .st_atime rd 1
  1283. .st_atime_nsec rd 1
  1284. .st_mtime rd 1
  1285. .st_mtime_nsec rd 1
  1286. .st_ctime rd 1
  1287. .st_ctime_nsec rd 1
  1288. .st_ino rq 1
  1289. }
  1290. struc flock64
  1291. {
  1292. .l_type rw 1
  1293. .l_whence rw 1
  1294. .l_start rq 1
  1295. .l_len rq 1
  1296. .l_pid rd 1
  1297. }
  1298. struc statfs64
  1299. {
  1300. .f_type rd 1
  1301. .f_bsize rd 1
  1302. .f_blocks rq 1
  1303. .f_bfree rq 1
  1304. .f_bavail rq 1
  1305. .f_files rq 1
  1306. .f_ffree rq 1
  1307. .f_fsid rd 1
  1308. .f_namelen rd 1
  1309. .f_frsize rd 1
  1310. .f_spare rd 1
  1311. }
  1312. struc dirent64
  1313. {
  1314. .d_ino rq 1
  1315. .d_off rq 1
  1316. .d_reclen rw 1
  1317. .d_type rb 1
  1318. .d_name rb 256
  1319. }
  1320. struc mq_attr
  1321. {
  1322. .mq_flags rd 1
  1323. .mq_maxmsg rd 1
  1324. .mq_msgsize rd 1
  1325. .mq_curmsgs rd 1
  1326. .__reserved rd 4
  1327. }
  1328. struc sigev_thread
  1329. {
  1330. ._function rd 1
  1331. ._attribute rd 1
  1332. }
  1333. struc sigval
  1334. {
  1335. .sival_int: ;rd 1
  1336. .sival_ptr rd 1
  1337. }
  1338. struc sigevent
  1339. {
  1340. .sigev_value sigval
  1341. .sigev_signo rd 1
  1342. .sigev_notify rd 1
  1343. ._tid: ;rd 1
  1344. ._sigev_thread: ;sigev_thread
  1345. ._pad rd 13
  1346. }
  1347. struc mmap_arg_struct
  1348. {
  1349. .addr rd 1
  1350. .len rd 1
  1351. .prot rd 1
  1352. .flags rd 1
  1353. .fd rd 1
  1354. .offset rd 1
  1355. }
  1356. struc ifmap
  1357. {
  1358. .mem_start rd 1
  1359. .mem_end rd 1
  1360. .base_addr rw 1
  1361. .irq rb 1
  1362. .dma rb 1
  1363. .port rb 1
  1364. }
  1365. struc if_settings
  1366. {
  1367. .type rd 1
  1368. .size rd 1
  1369. .raw_hdlc: ;rd 1
  1370. .cisco: ;rd1
  1371. .fr: ;rd1
  1372. .fr_pvc: ;rd1
  1373. .fr_pvc_info: ;rd1
  1374. .sync: ;rd1
  1375. .te1 rd 1
  1376. }
  1377. IFNAMSIZ equ 16
  1378. struc ifreq
  1379. {
  1380. .ifrn_name rb IFNAMSIZ
  1381. .ifru_addr: ;sockaddr
  1382. .ifru_dstaddr: ;sockaddr
  1383. .ifru_broadaddr: ;sockaddr
  1384. .ifru_netmask: ;sockaddr
  1385. .ifru_hwaddr: ;sockaddr
  1386. .ifru_flags: ;rw 1
  1387. .ifru_ivalue: ;rd 1
  1388. .ifru_mtu: ;rd 1
  1389. .ifru_map: ;if_map
  1390. .ifru_slave: ;rb IFNAMSIZ
  1391. .ifru_data: ;rd 1
  1392. .ifru_settings: ;if_settings
  1393. .ifru_newname rb IFNAMSIZ
  1394. }
  1395. struc ifconf
  1396. {
  1397. .ifc_len rd 1
  1398. .ifcu_buf: ;rd 1
  1399. .ifcu_req rd 1
  1400. }
  1401. struc arpreq
  1402. {
  1403. .arp_pa sockaddr
  1404. .arp_ha sockaddr
  1405. .arp_flags rd 1
  1406. .arp_netmask sockaddr
  1407. .arp_dev rb 16
  1408. }
  1409. struc consolefontdesc
  1410. {
  1411. .charcount rw 1
  1412. .charheight rw 1
  1413. .chardata rd 1
  1414. }
  1415. struc unipair
  1416. {
  1417. .unicode rw 1
  1418. .fontpos rw 1
  1419. }
  1420. struc unimapdesc
  1421. {
  1422. .entry_ct rw 1
  1423. .entries rd 1
  1424. }
  1425. struc unimapinit
  1426. {
  1427. .advised_hashsize rw 1
  1428. .advised_hashstep rw 1
  1429. .advised_hashlevel rw 1
  1430. }
  1431. struc kbentry
  1432. {
  1433. .kb_table rb 1
  1434. .kb_index rb 1
  1435. .kb_value rw 1
  1436. }
  1437. struc kbsentry
  1438. {
  1439. .kb_func rb 1
  1440. .kb_string rb 512
  1441. }
  1442. struc kbdiacr
  1443. {
  1444. .diacr rb 1
  1445. .base rb 1
  1446. .result rb 1
  1447. }
  1448. struc kbdiacrs
  1449. {
  1450. .kb_cnt rd 1
  1451. .kbdiacr rb 256*3
  1452. }
  1453. struc kbkeycode
  1454. {
  1455. .scancode rd 1
  1456. .keycode rd 1
  1457. }
  1458. struc kbd_repeat
  1459. {
  1460. .delay rd 1
  1461. .period rd 1
  1462. }
  1463. struc console_font_op
  1464. {
  1465. .op rd 1
  1466. .flags rd 1
  1467. .width rd 1
  1468. .height rd 1
  1469. .charcount rd 1
  1470. .data rd 1
  1471. }
  1472. struc console_font
  1473. {
  1474. .width rd 1
  1475. .height rd 1
  1476. .charcount rd 1
  1477. .data rd 1
  1478. }
  1479. struc vt_mode
  1480. {
  1481. .mode rb 1
  1482. .waitv rb 1
  1483. .relsig rw 1
  1484. .acqsig rw 1
  1485. .frsig rw 1
  1486. }
  1487. struc vt_stat
  1488. {
  1489. .v_active rw 1
  1490. .v_signal rw 1
  1491. .v_state rw 1
  1492. }
  1493. struc vt_consize
  1494. {
  1495. .v_rows rw 1
  1496. .v_cols rw 1
  1497. .v_vlin rw 1
  1498. .v_clin rw 1
  1499. .v_vcol rw 1
  1500. .v_ccol rw 1
  1501. }
  1502. struc vt_sizes
  1503. {
  1504. .v_rows rw 1
  1505. .v_cols rw 1
  1506. .v_scrollsize rw 1
  1507. }
  1508. struc itimerspec
  1509. {
  1510. .it_interval timespec
  1511. .it_value timespec
  1512. }
  1513. include 'structs_v.inc'