signal_illumos_amd64.go 176 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146
  1. // Code generated by 'ccgo signal/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o signal/signal_illumos_amd64.go -pkgname signal', DO NOT EDIT.
  2. package signal
  3. import (
  4. "math"
  5. "reflect"
  6. "sync/atomic"
  7. "unsafe"
  8. )
  9. var _ = math.Pi
  10. var _ reflect.Kind
  11. var _ atomic.Value
  12. var _ unsafe.Pointer
  13. const (
  14. BUS_ADRALN = 1 // machsig.h:109:1:
  15. BUS_ADRERR = 2 // machsig.h:110:1:
  16. BUS_OBJERR = 3 // machsig.h:112:1:
  17. CLD_CONTINUED = 6 // siginfo.h:169:1:
  18. CLD_DUMPED = 3 // siginfo.h:166:1:
  19. CLD_EXITED = 1 // siginfo.h:164:1:
  20. CLD_KILLED = 2 // siginfo.h:165:1:
  21. CLD_STOPPED = 5 // siginfo.h:168:1:
  22. CLD_TRAPPED = 4 // siginfo.h:167:1:
  23. CLOCKS_PER_SEC = 1000000 // time_iso.h:78:1:
  24. CLOCK_HIGHRES = 4 // time_impl.h:126:1:
  25. CLOCK_MONOTONIC = 4 // time_impl.h:124:1:
  26. CLOCK_PROCESS_CPUTIME_ID = 5 // time_impl.h:125:1:
  27. CLOCK_PROF = 2 // time_impl.h:127:1:
  28. CLOCK_REALTIME = 3 // time_impl.h:123:1:
  29. CLOCK_THREAD_CPUTIME_ID = 2 // time_impl.h:122:1:
  30. CLOCK_VIRTUAL = 1 // time_impl.h:121:1:
  31. DST_AUST = 2 // time.h:115:1:
  32. DST_AUSTALT = 10 // time.h:123:1:
  33. DST_CAN = 6 // time.h:119:1:
  34. DST_EET = 5 // time.h:118:1:
  35. DST_GB = 7 // time.h:120:1:
  36. DST_MET = 4 // time.h:117:1:
  37. DST_NONE = 0 // time.h:113:1:
  38. DST_RUM = 8 // time.h:121:1:
  39. DST_TUR = 9 // time.h:122:1:
  40. DST_USA = 1 // time.h:114:1:
  41. DST_WET = 3 // time.h:116:1:
  42. EMT_CPCOVF = 1 // machsig.h:74:1:
  43. FC_ALIGN = 0x2 // faultcode.h:54:1:
  44. FC_HWERR = 0x1 // faultcode.h:53:1:
  45. FC_NOMAP = 0x5 // faultcode.h:57:1:
  46. FC_NOSUPPORT = 0x6 // faultcode.h:58:1:
  47. FC_OBJERR = 0x3 // faultcode.h:55:1:
  48. FC_PROT = 0x4 // faultcode.h:56:1:
  49. FD_SETSIZE = 65536 // select.h:88:1:
  50. FPE_FLTDEN = 9 // machsig.h:90:1:
  51. FPE_FLTDIV = 3 // machsig.h:84:1:
  52. FPE_FLTINV = 7 // machsig.h:88:1:
  53. FPE_FLTOVF = 4 // machsig.h:85:1:
  54. FPE_FLTRES = 6 // machsig.h:87:1:
  55. FPE_FLTSUB = 8 // machsig.h:89:1:
  56. FPE_FLTUND = 5 // machsig.h:86:1:
  57. FPE_INTDIV = 1 // machsig.h:82:1:
  58. FPE_INTOVF = 2 // machsig.h:83:1:
  59. ILL_BADSTK = 8 // machsig.h:64:1:
  60. ILL_COPROC = 7 // machsig.h:63:1:
  61. ILL_ILLADR = 3 // machsig.h:59:1:
  62. ILL_ILLOPC = 1 // machsig.h:57:1:
  63. ILL_ILLOPN = 2 // machsig.h:58:1:
  64. ILL_ILLTRP = 4 // machsig.h:60:1:
  65. ILL_PRVOPC = 5 // machsig.h:61:1:
  66. ILL_PRVREG = 6 // machsig.h:62:1:
  67. ITIMER_PROF = 2 // time.h:201:1:
  68. ITIMER_REAL = 0 // time.h:199:1:
  69. ITIMER_REALPROF = 3 // time.h:204:1:
  70. ITIMER_VIRTUAL = 1 // time.h:200:1:
  71. MAXSIG = 74 // signal.h:163:1:
  72. MICROSEC = 1000000 // time.h:246:1:
  73. MILLISEC = 1000 // time.h:245:1:
  74. MINSIGSTKSZ = 2048 // signal.h:166:1:
  75. NANOSEC = 1000000000 // time.h:247:1:
  76. NBBY = 8 // select.h:103:1:
  77. NSIG = 75 // signal.h:162:1:
  78. NSIGBUS = 3 // machsig.h:115:1:
  79. NSIGCLD = 6 // siginfo.h:172:1:
  80. NSIGEMT = 1 // machsig.h:75:1:
  81. NSIGFPE = 9 // machsig.h:92:1:
  82. NSIGILL = 8 // machsig.h:66:1:
  83. NSIGPOLL = 6 // siginfo.h:187:1:
  84. NSIGPROF = 1 // siginfo.h:198:1:
  85. NSIGSEGV = 2 // machsig.h:102:1:
  86. NSIGTRAP = 6 // siginfo.h:157:1:
  87. POLL_ERR = 4 // siginfo.h:182:1:
  88. POLL_HUP = 6 // siginfo.h:184:1:
  89. POLL_IN = 1 // siginfo.h:179:1:
  90. POLL_MSG = 3 // siginfo.h:181:1:
  91. POLL_OUT = 2 // siginfo.h:180:1:
  92. POLL_PRI = 5 // siginfo.h:183:1:
  93. PROF_SIG = 1 // siginfo.h:197:1:
  94. P_INITPGID = 0 // procset.h:50:1:
  95. P_INITPID = 1 // procset.h:48:1:
  96. P_INITUID = 0 // procset.h:49:1:
  97. P_MYID = -1 // types.h:632:1:
  98. REG_LABEL_BP = 2 // machtypes.h:44:1:
  99. REG_LABEL_MAX = 8 // machtypes.h:51:1:
  100. REG_LABEL_PC = 0 // machtypes.h:42:1:
  101. REG_LABEL_R12 = 4 // machtypes.h:47:1:
  102. REG_LABEL_R13 = 5 // machtypes.h:48:1:
  103. REG_LABEL_R14 = 6 // machtypes.h:49:1:
  104. REG_LABEL_R15 = 7 // machtypes.h:50:1:
  105. REG_LABEL_RBX = 3 // machtypes.h:46:1:
  106. REG_LABEL_SP = 1 // machtypes.h:43:1:
  107. SA_NOCLDSTOP = 0x00020000 // signal.h:128:1:
  108. SA_NOCLDWAIT = 0x00010000 // signal.h:155:1:
  109. SA_NODEFER = 0x00000010 // signal.h:152:1:
  110. SA_ONSTACK = 0x00000001 // signal.h:138:1:
  111. SA_RESETHAND = 0x00000002 // signal.h:139:1:
  112. SA_RESTART = 0x00000004 // signal.h:140:1:
  113. SA_SIGINFO = 0x00000008 // signal.h:146:1:
  114. SEC = 1 // time.h:244:1:
  115. SEGV_ACCERR = 2 // machsig.h:100:1:
  116. SEGV_MAPERR = 1 // machsig.h:99:1:
  117. SIG2STR_MAX = 32 // signal.h:95:1:
  118. SIGABRT = 6 // signal_iso.h:58:1:
  119. SIGALRM = 14 // signal_iso.h:66:1:
  120. SIGBUS = 10 // signal_iso.h:62:1:
  121. SIGCANCEL = 36 // signal_iso.h:90:1:
  122. SIGCHLD = 18 // signal_iso.h:71:1:
  123. SIGCLD = 18 // signal_iso.h:70:1:
  124. SIGCONT = 25 // signal_iso.h:79:1:
  125. SIGEMT = 7 // signal_iso.h:59:1:
  126. SIGEV_NONE = 1 // siginfo.h:95:1:
  127. SIGEV_PORT = 4 // siginfo.h:98:1:
  128. SIGEV_SIGNAL = 2 // siginfo.h:96:1:
  129. SIGEV_THREAD = 3 // siginfo.h:97:1:
  130. SIGFPE = 8 // signal_iso.h:60:1:
  131. SIGFREEZE = 34 // signal_iso.h:88:1:
  132. SIGHUP = 1 // signal_iso.h:52:1:
  133. SIGILL = 4 // signal_iso.h:55:1:
  134. SIGINFO = 41 // signal_iso.h:95:1:
  135. SIGINT = 2 // signal_iso.h:53:1:
  136. SIGIO = 22 // signal_iso.h:76:1:
  137. SIGIOT = 6 // signal_iso.h:57:1:
  138. SIGJVM1 = 39 // signal_iso.h:93:1:
  139. SIGJVM2 = 40 // signal_iso.h:94:1:
  140. SIGKILL = 9 // signal_iso.h:61:1:
  141. SIGLOST = 37 // signal_iso.h:91:1:
  142. SIGLWP = 33 // signal_iso.h:87:1:
  143. SIGPIPE = 13 // signal_iso.h:65:1:
  144. SIGPOLL = 22 // signal_iso.h:75:1:
  145. SIGPROF = 29 // signal_iso.h:83:1:
  146. SIGPWR = 19 // signal_iso.h:72:1:
  147. SIGQUIT = 3 // signal_iso.h:54:1:
  148. SIGSEGV = 11 // signal_iso.h:63:1:
  149. SIGSTKSZ = 8192 // signal.h:167:1:
  150. SIGSTOP = 23 // signal_iso.h:77:1:
  151. SIGSYS = 12 // signal_iso.h:64:1:
  152. SIGTERM = 15 // signal_iso.h:67:1:
  153. SIGTHAW = 35 // signal_iso.h:89:1:
  154. SIGTRAP = 5 // signal_iso.h:56:1:
  155. SIGTSTP = 24 // signal_iso.h:78:1:
  156. SIGTTIN = 26 // signal_iso.h:80:1:
  157. SIGTTOU = 27 // signal_iso.h:81:1:
  158. SIGURG = 21 // signal_iso.h:74:1:
  159. SIGUSR1 = 16 // signal_iso.h:68:1:
  160. SIGUSR2 = 17 // signal_iso.h:69:1:
  161. SIGVTALRM = 28 // signal_iso.h:82:1:
  162. SIGWAITING = 32 // signal_iso.h:86:1:
  163. SIGWINCH = 20 // signal_iso.h:73:1:
  164. SIGXCPU = 30 // signal_iso.h:84:1:
  165. SIGXFSZ = 31 // signal_iso.h:85:1:
  166. SIGXRES = 38 // signal_iso.h:92:1:
  167. SIG_BLOCK = 1 // signal_iso.h:131:1:
  168. SIG_SETMASK = 3 // signal_iso.h:133:1:
  169. SIG_UNBLOCK = 2 // signal_iso.h:132:1:
  170. SI_ASYNCIO = -4 // siginfo.h:134:1:
  171. SI_DTRACE = 2050 // siginfo.h:128:1:
  172. SI_LWP = -1 // siginfo.h:131:1:
  173. SI_MAXSZ = 256 // siginfo.h:206:1:
  174. SI_MESGQ = -5 // siginfo.h:135:1:
  175. SI_NOINFO = 32767 // siginfo.h:127:1:
  176. SI_QUEUE = -2 // siginfo.h:132:1:
  177. SI_RCTL = 2049 // siginfo.h:129:1:
  178. SI_TIMER = -3 // siginfo.h:133:1:
  179. SI_USER = 0 // siginfo.h:130:1:
  180. SN_CANCEL = 2 // signal.h:226:1:
  181. SN_PROC = 1 // signal.h:225:1:
  182. SN_SEND = 3 // signal.h:227:1:
  183. SS_DISABLE = 0x00000002 // signal.h:170:1:
  184. SS_ONSTACK = 0x00000001 // signal.h:169:1:
  185. TIMER_ABSTIME = 0x1 // time_impl.h:134:1:
  186. TIMER_RELTIME = 0x0 // time_impl.h:133:1:
  187. TIME_UTC = 0x1 // time.h:306:1:
  188. TRAP_BRKPT = 1 // siginfo.h:150:1:
  189. TRAP_DTRACE = 6 // siginfo.h:155:1:
  190. TRAP_RWATCH = 3 // siginfo.h:152:1:
  191. TRAP_TRACE = 2 // siginfo.h:151:1:
  192. TRAP_WWATCH = 4 // siginfo.h:153:1:
  193. TRAP_XWATCH = 5 // siginfo.h:154:1:
  194. X_ACL_ACE_ENABLED = 0x2 // unistd.h:349:1:
  195. X_ACL_ACLENT_ENABLED = 0x1 // unistd.h:348:1:
  196. X_ALIGNMENT_REQUIRED = 1 // isa_defs.h:262:1:
  197. X_BIT_FIELDS_LTOH = 0 // isa_defs.h:245:1:
  198. X_BOOL_ALIGNMENT = 1 // isa_defs.h:248:1:
  199. X_CASE_INSENSITIVE = 0x2 // unistd.h:342:1:
  200. X_CASE_SENSITIVE = 0x1 // unistd.h:341:1:
  201. X_CHAR_ALIGNMENT = 1 // isa_defs.h:249:1:
  202. X_CHAR_IS_SIGNED = 0 // isa_defs.h:247:1:
  203. X_CLOCKID_T = 0 // types.h:568:1:
  204. X_CLOCK_T = 0 // types.h:563:1:
  205. X_COND_MAGIC = 0x4356 // types.h:426:1:
  206. X_CS_LFS64_CFLAGS = 72 // unistd.h:61:1:
  207. X_CS_LFS64_LDFLAGS = 73 // unistd.h:62:1:
  208. X_CS_LFS64_LIBS = 74 // unistd.h:63:1:
  209. X_CS_LFS64_LINTFLAGS = 75 // unistd.h:64:1:
  210. X_CS_LFS_CFLAGS = 68 // unistd.h:56:1:
  211. X_CS_LFS_LDFLAGS = 69 // unistd.h:57:1:
  212. X_CS_LFS_LIBS = 70 // unistd.h:58:1:
  213. X_CS_LFS_LINTFLAGS = 71 // unistd.h:59:1:
  214. X_CS_PATH = 65 // unistd.h:50:1:
  215. X_CS_POSIX_V6_ILP32_OFF32_CFLAGS = 800 // unistd.h:85:1:
  216. X_CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 801 // unistd.h:86:1:
  217. X_CS_POSIX_V6_ILP32_OFF32_LIBS = 802 // unistd.h:87:1:
  218. X_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 803 // unistd.h:88:1:
  219. X_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 804 // unistd.h:89:1:
  220. X_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 805 // unistd.h:90:1:
  221. X_CS_POSIX_V6_ILP32_OFFBIG_LIBS = 806 // unistd.h:91:1:
  222. X_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 807 // unistd.h:92:1:
  223. X_CS_POSIX_V6_LP64_OFF64_CFLAGS = 808 // unistd.h:93:1:
  224. X_CS_POSIX_V6_LP64_OFF64_LDFLAGS = 809 // unistd.h:94:1:
  225. X_CS_POSIX_V6_LP64_OFF64_LIBS = 810 // unistd.h:95:1:
  226. X_CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 811 // unistd.h:96:1:
  227. X_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 812 // unistd.h:97:1:
  228. X_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 813 // unistd.h:98:1:
  229. X_CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 814 // unistd.h:99:1:
  230. X_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 815 // unistd.h:100:1:
  231. X_CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 816 // unistd.h:101:1:
  232. X_CS_XBS5_ILP32_OFF32_CFLAGS = 700 // unistd.h:67:1:
  233. X_CS_XBS5_ILP32_OFF32_LDFLAGS = 701 // unistd.h:68:1:
  234. X_CS_XBS5_ILP32_OFF32_LIBS = 702 // unistd.h:69:1:
  235. X_CS_XBS5_ILP32_OFF32_LINTFLAGS = 703 // unistd.h:70:1:
  236. X_CS_XBS5_ILP32_OFFBIG_CFLAGS = 705 // unistd.h:71:1:
  237. X_CS_XBS5_ILP32_OFFBIG_LDFLAGS = 706 // unistd.h:72:1:
  238. X_CS_XBS5_ILP32_OFFBIG_LIBS = 707 // unistd.h:73:1:
  239. X_CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 708 // unistd.h:74:1:
  240. X_CS_XBS5_LP64_OFF64_CFLAGS = 709 // unistd.h:75:1:
  241. X_CS_XBS5_LP64_OFF64_LDFLAGS = 710 // unistd.h:76:1:
  242. X_CS_XBS5_LP64_OFF64_LIBS = 711 // unistd.h:77:1:
  243. X_CS_XBS5_LP64_OFF64_LINTFLAGS = 712 // unistd.h:78:1:
  244. X_CS_XBS5_LPBIG_OFFBIG_CFLAGS = 713 // unistd.h:79:1:
  245. X_CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 714 // unistd.h:80:1:
  246. X_CS_XBS5_LPBIG_OFFBIG_LIBS = 715 // unistd.h:81:1:
  247. X_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 716 // unistd.h:82:1:
  248. X_DMA_USES_PHYSADDR = 0 // isa_defs.h:281:1:
  249. X_DONT_USE_1275_GENERIC_NAMES = 0 // isa_defs.h:287:1:
  250. X_DOUBLE_ALIGNMENT = 8 // isa_defs.h:256:1:
  251. X_DOUBLE_COMPLEX_ALIGNMENT = 8 // isa_defs.h:257:1:
  252. X_DTRACE_VERSION = 1 // feature_tests.h:490:1:
  253. X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
  254. X_FIRMWARE_NEEDS_FDISK = 0 // isa_defs.h:282:1:
  255. X_FLOAT_ALIGNMENT = 4 // isa_defs.h:252:1:
  256. X_FLOAT_COMPLEX_ALIGNMENT = 4 // isa_defs.h:253:1:
  257. X_HAVE_CPUID_INSN = 0 // isa_defs.h:288:1:
  258. X_IEEE_754 = 0 // isa_defs.h:246:1:
  259. X_INT64_TYPE = 0 // int_types.h:82:1:
  260. X_INT_ALIGNMENT = 4 // isa_defs.h:251:1:
  261. X_ISO_CPP_14882_1998 = 0 // feature_tests.h:466:1:
  262. X_ISO_C_9899_1999 = 0 // feature_tests.h:472:1:
  263. X_ISO_C_9899_2011 = 0 // feature_tests.h:478:1:
  264. X_ISO_SIGNAL_ISO_H = 0 // signal_iso.h:46:1:
  265. X_ISO_TIME_ISO_H = 0 // time_iso.h:46:1:
  266. X_LARGEFILE64_SOURCE = 1 // feature_tests.h:231:1:
  267. X_LARGEFILE_SOURCE = 1 // feature_tests.h:235:1:
  268. X_LITTLE_ENDIAN = 0 // isa_defs.h:242:1:
  269. X_LOCALE_T = 0 // time.h:291:1:
  270. X_LONGLONG_TYPE = 0 // feature_tests.h:412:1:
  271. X_LONG_ALIGNMENT = 8 // isa_defs.h:254:1:
  272. X_LONG_DOUBLE_ALIGNMENT = 16 // isa_defs.h:258:1:
  273. X_LONG_DOUBLE_COMPLEX_ALIGNMENT = 16 // isa_defs.h:259:1:
  274. X_LONG_LONG_ALIGNMENT = 8 // isa_defs.h:255:1:
  275. X_LONG_LONG_ALIGNMENT_32 = 4 // isa_defs.h:268:1:
  276. X_LONG_LONG_LTOH = 0 // isa_defs.h:244:1:
  277. X_LP64 = 1 // <predefined>:286:1:
  278. X_MAX_ALIGNMENT = 16 // isa_defs.h:261:1:
  279. X_MULTI_DATAMODEL = 0 // isa_defs.h:279:1:
  280. X_MUTEX_MAGIC = 0x4d58 // types.h:424:1:
  281. X_NBBY = 8 // select.h:100:1:
  282. X_NORETURN_KYWD = 0 // feature_tests.h:448:1:
  283. X_OFF_T = 0 // types.h:142:1:
  284. X_PC_2_SYMLINKS = 19 // unistd.h:309:1:
  285. X_PC_ACCESS_FILTERING = 25 // unistd.h:315:1:
  286. X_PC_ACL_ENABLED = 20 // unistd.h:310:1:
  287. X_PC_ALLOC_SIZE_MIN = 13 // unistd.h:303:1:
  288. X_PC_ASYNC_IO = 10 // unistd.h:299:1:
  289. X_PC_CASE_BEHAVIOR = 22 // unistd.h:312:1:
  290. X_PC_CHOWN_RESTRICTED = 9 // unistd.h:297:1:
  291. X_PC_FILESIZEBITS = 67 // unistd.h:325:1:
  292. X_PC_LAST = 101 // unistd.h:336:1:
  293. X_PC_LINK_MAX = 1 // unistd.h:289:1:
  294. X_PC_MAX_CANON = 2 // unistd.h:290:1:
  295. X_PC_MAX_INPUT = 3 // unistd.h:291:1:
  296. X_PC_MIN_HOLE_SIZE = 21 // unistd.h:311:1:
  297. X_PC_NAME_MAX = 4 // unistd.h:292:1:
  298. X_PC_NO_TRUNC = 7 // unistd.h:295:1:
  299. X_PC_PATH_MAX = 5 // unistd.h:293:1:
  300. X_PC_PIPE_BUF = 6 // unistd.h:294:1:
  301. X_PC_PRIO_IO = 11 // unistd.h:300:1:
  302. X_PC_REC_INCR_XFER_SIZE = 14 // unistd.h:304:1:
  303. X_PC_REC_MAX_XFER_SIZE = 15 // unistd.h:305:1:
  304. X_PC_REC_MIN_XFER_SIZE = 16 // unistd.h:306:1:
  305. X_PC_REC_XFER_ALIGN = 17 // unistd.h:307:1:
  306. X_PC_SATTR_ENABLED = 23 // unistd.h:313:1:
  307. X_PC_SATTR_EXISTS = 24 // unistd.h:314:1:
  308. X_PC_SYMLINK_MAX = 18 // unistd.h:308:1:
  309. X_PC_SYNC_IO = 12 // unistd.h:301:1:
  310. X_PC_TIMESTAMP_RESOLUTION = 26 // unistd.h:317:1:
  311. X_PC_VDISABLE = 8 // unistd.h:296:1:
  312. X_PC_XATTR_ENABLED = 100 // unistd.h:330:1:
  313. X_PC_XATTR_EXISTS = 101 // unistd.h:331:1:
  314. X_POINTER_ALIGNMENT = 8 // isa_defs.h:260:1:
  315. X_POSIX2_CHAR_TERM = 1 // unistd.h:391:1:
  316. X_POSIX2_C_BIND = 1 // unistd.h:401:1:
  317. X_POSIX2_C_DEV = 1 // unistd.h:402:1:
  318. X_POSIX2_C_VERSION = 199209 // unistd.h:376:1:
  319. X_POSIX2_FORT_RUN = 1 // unistd.h:403:1:
  320. X_POSIX2_LOCALEDEF = 1 // unistd.h:404:1:
  321. X_POSIX2_SW_DEV = 1 // unistd.h:405:1:
  322. X_POSIX2_UPE = 1 // unistd.h:406:1:
  323. X_POSIX2_VERSION = 199209 // unistd.h:363:1:
  324. X_POSIX_REGEXP = 1 // unistd.h:410:1:
  325. X_POSIX_SHELL = 1 // unistd.h:411:1:
  326. X_POSIX_VERSION = 199506 // unistd.h:355:1:
  327. X_PSM_MODULES = 0 // isa_defs.h:284:1:
  328. X_PTRDIFF_T = 0 // types.h:112:1:
  329. X_RESTRICT_KYWD = 0 // feature_tests.h:435:1:
  330. X_RTC_CONFIG = 0 // isa_defs.h:285:1:
  331. X_RWL_MAGIC = 0x5257 // types.h:427:1:
  332. X_SC_2_CHAR_TERM = 66 // unistd.h:175:1:
  333. X_SC_2_C_BIND = 45 // unistd.h:153:1:
  334. X_SC_2_C_DEV = 46 // unistd.h:154:1:
  335. X_SC_2_C_VERSION = 47 // unistd.h:155:1:
  336. X_SC_2_FORT_DEV = 48 // unistd.h:156:1:
  337. X_SC_2_FORT_RUN = 49 // unistd.h:157:1:
  338. X_SC_2_LOCALEDEF = 50 // unistd.h:158:1:
  339. X_SC_2_PBS = 724 // unistd.h:246:1:
  340. X_SC_2_PBS_ACCOUNTING = 725 // unistd.h:247:1:
  341. X_SC_2_PBS_CHECKPOINT = 726 // unistd.h:248:1:
  342. X_SC_2_PBS_LOCATE = 728 // unistd.h:249:1:
  343. X_SC_2_PBS_MESSAGE = 729 // unistd.h:250:1:
  344. X_SC_2_PBS_TRACK = 730 // unistd.h:251:1:
  345. X_SC_2_SW_DEV = 51 // unistd.h:159:1:
  346. X_SC_2_UPE = 52 // unistd.h:160:1:
  347. X_SC_2_VERSION = 53 // unistd.h:161:1:
  348. X_SC_ADVISORY_INFO = 731 // unistd.h:252:1:
  349. X_SC_AIO_LISTIO_MAX = 18 // unistd.h:125:1:
  350. X_SC_AIO_MAX = 19 // unistd.h:126:1:
  351. X_SC_AIO_PRIO_DELTA_MAX = 20 // unistd.h:127:1:
  352. X_SC_ARG_MAX = 1 // unistd.h:106:1:
  353. X_SC_ASYNCHRONOUS_IO = 21 // unistd.h:128:1:
  354. X_SC_ATEXIT_MAX = 76 // unistd.h:179:1:
  355. X_SC_AVPHYS_PAGES = 501 // unistd.h:190:1:
  356. X_SC_BARRIERS = 732 // unistd.h:253:1:
  357. X_SC_BC_BASE_MAX = 54 // unistd.h:162:1:
  358. X_SC_BC_DIM_MAX = 55 // unistd.h:163:1:
  359. X_SC_BC_SCALE_MAX = 56 // unistd.h:164:1:
  360. X_SC_BC_STRING_MAX = 57 // unistd.h:165:1:
  361. X_SC_CHILD_MAX = 2 // unistd.h:107:1:
  362. X_SC_CLK_TCK = 3 // unistd.h:108:1:
  363. X_SC_CLOCK_SELECTION = 733 // unistd.h:254:1:
  364. X_SC_COHER_BLKSZ = 503 // unistd.h:196:1:
  365. X_SC_COLL_WEIGHTS_MAX = 58 // unistd.h:166:1:
  366. X_SC_CPUID_MAX = 517 // unistd.h:211:1:
  367. X_SC_CPUTIME = 734 // unistd.h:255:1:
  368. X_SC_DCACHE_ASSOC = 513 // unistd.h:206:1:
  369. X_SC_DCACHE_BLKSZ = 510 // unistd.h:203:1:
  370. X_SC_DCACHE_LINESZ = 508 // unistd.h:201:1:
  371. X_SC_DCACHE_SZ = 506 // unistd.h:199:1:
  372. X_SC_DCACHE_TBLKSZ = 511 // unistd.h:204:1:
  373. X_SC_DELAYTIMER_MAX = 22 // unistd.h:129:1:
  374. X_SC_EPHID_MAX = 518 // unistd.h:212:1:
  375. X_SC_EXPR_NEST_MAX = 59 // unistd.h:167:1:
  376. X_SC_FSYNC = 23 // unistd.h:130:1:
  377. X_SC_GETGR_R_SIZE_MAX = 569 // unistd.h:220:1:
  378. X_SC_GETPW_R_SIZE_MAX = 570 // unistd.h:221:1:
  379. X_SC_HOST_NAME_MAX = 735 // unistd.h:256:1:
  380. X_SC_ICACHE_ASSOC = 512 // unistd.h:205:1:
  381. X_SC_ICACHE_BLKSZ = 509 // unistd.h:202:1:
  382. X_SC_ICACHE_LINESZ = 507 // unistd.h:200:1:
  383. X_SC_ICACHE_SZ = 505 // unistd.h:198:1:
  384. X_SC_IOV_MAX = 77 // unistd.h:180:1:
  385. X_SC_IPV6 = 762 // unistd.h:283:1:
  386. X_SC_JOB_CONTROL = 6 // unistd.h:111:1:
  387. X_SC_LINE_MAX = 60 // unistd.h:168:1:
  388. X_SC_LOGIN_NAME_MAX = 571 // unistd.h:222:1:
  389. X_SC_LOGNAME_MAX = 10 // unistd.h:116:1:
  390. X_SC_MAPPED_FILES = 24 // unistd.h:131:1:
  391. X_SC_MAXPID = 514 // unistd.h:208:1:
  392. X_SC_MEMLOCK = 25 // unistd.h:132:1:
  393. X_SC_MEMLOCK_RANGE = 26 // unistd.h:133:1:
  394. X_SC_MEMORY_PROTECTION = 27 // unistd.h:134:1:
  395. X_SC_MESSAGE_PASSING = 28 // unistd.h:135:1:
  396. X_SC_MONOTONIC_CLOCK = 736 // unistd.h:257:1:
  397. X_SC_MQ_OPEN_MAX = 29 // unistd.h:136:1:
  398. X_SC_MQ_PRIO_MAX = 30 // unistd.h:137:1:
  399. X_SC_NGROUPS_MAX = 4 // unistd.h:109:1:
  400. X_SC_NPROCESSORS_CONF = 14 // unistd.h:120:1:
  401. X_SC_NPROCESSORS_MAX = 516 // unistd.h:210:1:
  402. X_SC_NPROCESSORS_ONLN = 15 // unistd.h:121:1:
  403. X_SC_OPEN_MAX = 5 // unistd.h:110:1:
  404. X_SC_PAGESIZE = 11 // unistd.h:117:1:
  405. X_SC_PAGE_SIZE = 11 // unistd.h:182:1:
  406. X_SC_PASS_MAX = 9 // unistd.h:115:1:
  407. X_SC_PHYS_PAGES = 500 // unistd.h:189:1:
  408. X_SC_PRIORITIZED_IO = 31 // unistd.h:138:1:
  409. X_SC_PRIORITY_SCHEDULING = 32 // unistd.h:139:1:
  410. X_SC_RAW_SOCKETS = 763 // unistd.h:284:1:
  411. X_SC_READER_WRITER_LOCKS = 737 // unistd.h:258:1:
  412. X_SC_REALTIME_SIGNALS = 33 // unistd.h:140:1:
  413. X_SC_REGEXP = 738 // unistd.h:259:1:
  414. X_SC_RE_DUP_MAX = 61 // unistd.h:169:1:
  415. X_SC_RTSIG_MAX = 34 // unistd.h:141:1:
  416. X_SC_SAVED_IDS = 7 // unistd.h:112:1:
  417. X_SC_SEMAPHORES = 35 // unistd.h:142:1:
  418. X_SC_SEM_NSEMS_MAX = 36 // unistd.h:143:1:
  419. X_SC_SEM_VALUE_MAX = 37 // unistd.h:144:1:
  420. X_SC_SHARED_MEMORY_OBJECTS = 38 // unistd.h:145:1:
  421. X_SC_SHELL = 739 // unistd.h:260:1:
  422. X_SC_SIGQUEUE_MAX = 39 // unistd.h:146:1:
  423. X_SC_SIGRT_MAX = 41 // unistd.h:148:1:
  424. X_SC_SIGRT_MIN = 40 // unistd.h:147:1:
  425. X_SC_SPAWN = 740 // unistd.h:261:1:
  426. X_SC_SPIN_LOCKS = 741 // unistd.h:262:1:
  427. X_SC_SPLIT_CACHE = 504 // unistd.h:197:1:
  428. X_SC_SPORADIC_SERVER = 742 // unistd.h:263:1:
  429. X_SC_SS_REPL_MAX = 743 // unistd.h:264:1:
  430. X_SC_STACK_PROT = 515 // unistd.h:209:1:
  431. X_SC_STREAM_MAX = 16 // unistd.h:122:1:
  432. X_SC_SYMLOOP_MAX = 744 // unistd.h:265:1:
  433. X_SC_SYNCHRONIZED_IO = 42 // unistd.h:149:1:
  434. X_SC_THREADS = 576 // unistd.h:227:1:
  435. X_SC_THREAD_ATTR_STACKADDR = 577 // unistd.h:228:1:
  436. X_SC_THREAD_ATTR_STACKSIZE = 578 // unistd.h:229:1:
  437. X_SC_THREAD_CPUTIME = 745 // unistd.h:266:1:
  438. X_SC_THREAD_DESTRUCTOR_ITERATIONS = 568 // unistd.h:219:1:
  439. X_SC_THREAD_KEYS_MAX = 572 // unistd.h:223:1:
  440. X_SC_THREAD_PRIORITY_SCHEDULING = 579 // unistd.h:230:1:
  441. X_SC_THREAD_PRIO_INHERIT = 580 // unistd.h:231:1:
  442. X_SC_THREAD_PRIO_PROTECT = 581 // unistd.h:232:1:
  443. X_SC_THREAD_PROCESS_SHARED = 582 // unistd.h:233:1:
  444. X_SC_THREAD_SAFE_FUNCTIONS = 583 // unistd.h:234:1:
  445. X_SC_THREAD_SPORADIC_SERVER = 746 // unistd.h:267:1:
  446. X_SC_THREAD_STACK_MIN = 573 // unistd.h:224:1:
  447. X_SC_THREAD_THREADS_MAX = 574 // unistd.h:225:1:
  448. X_SC_TIMEOUTS = 747 // unistd.h:268:1:
  449. X_SC_TIMERS = 43 // unistd.h:150:1:
  450. X_SC_TIMER_MAX = 44 // unistd.h:151:1:
  451. X_SC_TRACE = 748 // unistd.h:269:1:
  452. X_SC_TRACE_EVENT_FILTER = 749 // unistd.h:270:1:
  453. X_SC_TRACE_EVENT_NAME_MAX = 750 // unistd.h:271:1:
  454. X_SC_TRACE_INHERIT = 751 // unistd.h:272:1:
  455. X_SC_TRACE_LOG = 752 // unistd.h:273:1:
  456. X_SC_TRACE_NAME_MAX = 753 // unistd.h:274:1:
  457. X_SC_TRACE_SYS_MAX = 754 // unistd.h:275:1:
  458. X_SC_TRACE_USER_EVENT_MAX = 755 // unistd.h:276:1:
  459. X_SC_TTY_NAME_MAX = 575 // unistd.h:226:1:
  460. X_SC_TYPED_MEMORY_OBJECTS = 756 // unistd.h:277:1:
  461. X_SC_TZNAME_MAX = 17 // unistd.h:123:1:
  462. X_SC_T_IOV_MAX = 79 // unistd.h:186:1:
  463. X_SC_UADDR_MAX = 519 // unistd.h:213:1:
  464. X_SC_V6_ILP32_OFF32 = 757 // unistd.h:278:1:
  465. X_SC_V6_ILP32_OFFBIG = 758 // unistd.h:279:1:
  466. X_SC_V6_LP64_OFF64 = 759 // unistd.h:280:1:
  467. X_SC_V6_LPBIG_OFFBIG = 760 // unistd.h:281:1:
  468. X_SC_VERSION = 8 // unistd.h:113:1:
  469. X_SC_XBS5_ILP32_OFF32 = 720 // unistd.h:240:1:
  470. X_SC_XBS5_ILP32_OFFBIG = 721 // unistd.h:241:1:
  471. X_SC_XBS5_LP64_OFF64 = 722 // unistd.h:242:1:
  472. X_SC_XBS5_LPBIG_OFFBIG = 723 // unistd.h:243:1:
  473. X_SC_XOPEN_CRYPT = 62 // unistd.h:170:1:
  474. X_SC_XOPEN_ENH_I18N = 63 // unistd.h:171:1:
  475. X_SC_XOPEN_LEGACY = 717 // unistd.h:237:1:
  476. X_SC_XOPEN_REALTIME = 718 // unistd.h:238:1:
  477. X_SC_XOPEN_REALTIME_THREADS = 719 // unistd.h:239:1:
  478. X_SC_XOPEN_SHM = 64 // unistd.h:172:1:
  479. X_SC_XOPEN_STREAMS = 761 // unistd.h:282:1:
  480. X_SC_XOPEN_UNIX = 78 // unistd.h:181:1:
  481. X_SC_XOPEN_VERSION = 12 // unistd.h:118:1:
  482. X_SC_XOPEN_XCU_VERSION = 67 // unistd.h:176:1:
  483. X_SEMA_MAGIC = 0x534d // types.h:425:1:
  484. X_SHORT_ALIGNMENT = 2 // isa_defs.h:250:1:
  485. X_SIGEVENT = 0 // time.h:132:1:
  486. X_SIGNAL_H = 0 // signal.h:33:1:
  487. X_SIGRTMAX = 74 // signal_iso.h:99:1:
  488. X_SIGRTMIN = 42 // signal_iso.h:98:1:
  489. X_SIGSET_T = 0 // select.h:73:1:
  490. X_SIGVAL = 0 // time.h:124:1:
  491. X_SIZE_T = 0 // types.h:540:1:
  492. X_SOFT_HOSTID = 0 // isa_defs.h:286:1:
  493. X_SSIZE_T = 0 // types.h:549:1:
  494. X_STACK_GROWS_DOWNWARD = 0 // isa_defs.h:243:1:
  495. X_STACK_T = 0 // signal.h:174:1:
  496. X_STDC_C11 = 0 // feature_tests.h:165:1:
  497. X_STDC_C99 = 0 // feature_tests.h:169:1:
  498. X_SUNOS_VTOC_16 = 0 // isa_defs.h:280:1:
  499. X_SUSECONDS_T = 0 // types.h:343:1:
  500. X_SYS_CCOMPILE_H = 0 // ccompile.h:32:1:
  501. X_SYS_FEATURE_TESTS_H = 0 // feature_tests.h:41:1:
  502. X_SYS_INT_TYPES_H = 0 // int_types.h:30:1:
  503. X_SYS_ISA_DEFS_H = 0 // isa_defs.h:30:1:
  504. X_SYS_MACHSIG_H = 0 // machsig.h:32:1:
  505. X_SYS_MACHTYPES_H = 0 // machtypes.h:27:1:
  506. X_SYS_NULL_H = 0 // null.h:17:1:
  507. X_SYS_PROCSET_H = 0 // procset.h:32:1:
  508. X_SYS_SELECT_H = 0 // select.h:45:1:
  509. X_SYS_SIGINFO_H = 0 // siginfo.h:31:1:
  510. X_SYS_SIGNAL_H = 0 // signal.h:42:1:
  511. X_SYS_SIGNAL_ISO_H = 0 // signal_iso.h:44:1:
  512. X_SYS_TIME_H = 0 // time.h:27:1:
  513. X_SYS_TIME_IMPL_H = 0 // time_impl.h:38:1:
  514. X_SYS_TYPES_H = 0 // types.h:35:1:
  515. X_SYS_UNISTD_H = 0 // unistd.h:40:1:
  516. X_TIMER_T = 0 // types.h:573:1:
  517. X_TIME_H = 0 // time.h:37:1:
  518. X_TIME_T = 0 // types.h:558:1:
  519. X_UID_T = 0 // types.h:400:1:
  520. X_VM_FAULTCODE_H = 0 // faultcode.h:40:1:
  521. X_XOPEN_ENH_I18N = 1 // unistd.h:389:1:
  522. X_XOPEN_REALTIME = 1 // unistd.h:388:1:
  523. X_XOPEN_SHM = 1 // unistd.h:390:1:
  524. X_XOPEN_STREAMS = 1 // unistd.h:412:1:
  525. X_XOPEN_UNIX = 0 // unistd.h:382:1:
  526. X_XOPEN_VERSION = 3 // feature_tests.h:392:1:
  527. X_XOPEN_XCU_VERSION = 4 // unistd.h:385:1:
  528. X_XOPEN_XPG3 = 0 // unistd.h:380:1:
  529. X_XOPEN_XPG4 = 0 // unistd.h:381:1:
  530. Sun = 1 // <predefined>:172:1:
  531. Unix = 1 // <predefined>:175:1:
  532. )
  533. // CDDL HEADER START
  534. //
  535. // The contents of this file are subject to the terms of the
  536. // Common Development and Distribution License, Version 1.0 only
  537. // (the "License"). You may not use this file except in compliance
  538. // with the License.
  539. //
  540. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  541. // or http://www.opensolaris.org/os/licensing.
  542. // See the License for the specific language governing permissions
  543. // and limitations under the License.
  544. //
  545. // When distributing Covered Code, include this CDDL HEADER in each
  546. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  547. // If applicable, add the following below this CDDL HEADER, with the
  548. // fields enclosed by brackets "[]" replaced with your own identifying
  549. // information: Portions Copyright [yyyy] [name of copyright owner]
  550. //
  551. // CDDL HEADER END
  552. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  553. // Use is subject to license terms.
  554. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  555. // All Rights Reserved
  556. // DO NOT EDIT THIS FILE.
  557. //
  558. // It has been auto-edited by fixincludes from:
  559. //
  560. // "/usr/include/sys/feature_tests.h"
  561. //
  562. // This had to be done to correct non-standard usages in the
  563. // original, manufacturer supplied header file.
  564. // CDDL HEADER START
  565. //
  566. // The contents of this file are subject to the terms of the
  567. // Common Development and Distribution License (the "License").
  568. // You may not use this file except in compliance with the License.
  569. //
  570. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  571. // or http://www.opensolaris.org/os/licensing.
  572. // See the License for the specific language governing permissions
  573. // and limitations under the License.
  574. //
  575. // When distributing Covered Code, include this CDDL HEADER in each
  576. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  577. // If applicable, add the following below this CDDL HEADER, with the
  578. // fields enclosed by brackets "[]" replaced with your own identifying
  579. // information: Portions Copyright [yyyy] [name of copyright owner]
  580. //
  581. // CDDL HEADER END
  582. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  583. // Copyright 2016 Joyent, Inc.
  584. // Copyright 2022 Oxide Computer Company
  585. //
  586. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  587. // Use is subject to license terms.
  588. // CDDL HEADER START
  589. //
  590. // The contents of this file are subject to the terms of the
  591. // Common Development and Distribution License (the "License").
  592. // You may not use this file except in compliance with the License.
  593. //
  594. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  595. // or http://www.opensolaris.org/os/licensing.
  596. // See the License for the specific language governing permissions
  597. // and limitations under the License.
  598. //
  599. // When distributing Covered Code, include this CDDL HEADER in each
  600. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  601. // If applicable, add the following below this CDDL HEADER, with the
  602. // fields enclosed by brackets "[]" replaced with your own identifying
  603. // information: Portions Copyright [yyyy] [name of copyright owner]
  604. //
  605. // CDDL HEADER END
  606. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  607. // All Rights Reserved
  608. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  609. // Use is subject to license terms.
  610. //
  611. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  612. // Copyright 2016 Joyent, Inc.
  613. // Copyright 2021 Oxide Computer Company
  614. // CDDL HEADER START
  615. //
  616. // The contents of this file are subject to the terms of the
  617. // Common Development and Distribution License (the "License").
  618. // You may not use this file except in compliance with the License.
  619. //
  620. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  621. // or http://www.opensolaris.org/os/licensing.
  622. // See the License for the specific language governing permissions
  623. // and limitations under the License.
  624. //
  625. // When distributing Covered Code, include this CDDL HEADER in each
  626. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  627. // If applicable, add the following below this CDDL HEADER, with the
  628. // fields enclosed by brackets "[]" replaced with your own identifying
  629. // information: Portions Copyright [yyyy] [name of copyright owner]
  630. //
  631. // CDDL HEADER END
  632. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  633. // Use is subject to license terms.
  634. // Copyright 2015, Joyent, Inc.
  635. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  636. // All Rights Reserved
  637. // University Copyright- Copyright (c) 1982, 1986, 1988
  638. // The Regents of the University of California
  639. // All Rights Reserved
  640. //
  641. // University Acknowledgment- Portions of this document are derived from
  642. // software developed by the University of California, Berkeley, and its
  643. // contributors.
  644. // This file defines the data needed to specify a set of
  645. // processes. These types are used by the sigsend, sigsendset,
  646. // priocntl, priocntlset, waitid, evexit, and evexitset system
  647. // calls.
  648. // The following defines the values for an identifier type. It
  649. // specifies the interpretation of an id value. An idtype and
  650. // id together define a simple set of processes.
  651. const ( /* procset.h:58:1: */
  652. P_PID = 0 // A process identifier.
  653. P_PPID = 1 // A parent process identifier.
  654. P_PGID = 2 // A process group (job control group)
  655. // identifier.
  656. P_SID = 3 // A session identifier.
  657. P_CID = 4 // A scheduling class identifier.
  658. P_UID = 5 // A user identifier.
  659. P_GID = 6 // A group identifier.
  660. P_ALL = 7 // All processes.
  661. P_LWPID = 8 // An LWP identifier.
  662. P_TASKID = 9 // A task identifier.
  663. P_PROJID = 10 // A project identifier.
  664. P_POOLID = 11 // A pool identifier.
  665. P_ZONEID = 12 // A zone identifier.
  666. P_CTID = 13 // A (process) contract identifier.
  667. P_CPUID = 14 // CPU identifier.
  668. P_PSETID = 15
  669. )
  670. // The following defines the operations which can be performed to
  671. // combine two simple sets of processes to form another set of
  672. // processes.
  673. const ( /* procset.h:89:1: */
  674. POP_DIFF = 0 // Set difference. The processes which
  675. // are in the left operand set and not
  676. // in the right operand set.
  677. POP_AND = 1 // Set disjunction. The processes
  678. // which are in both the left and right
  679. // operand sets.
  680. POP_OR = 2 // Set conjunction. The processes
  681. // which are in either the left or the
  682. // right operand sets (or both).
  683. POP_XOR = 3
  684. ) // used for block sizes
  685. // The boolean_t type has had a varied amount of exposure over the years in
  686. // terms of how its enumeration constants have been exposed. In particular, it
  687. // originally used the __XOPEN_OR_POSIX macro to determine whether to prefix the
  688. // B_TRUE and B_FALSE with an underscore. This check never included the
  689. // question of if we were in a strict ANSI C environment or whether extensions
  690. // were defined.
  691. //
  692. // Compilers such as clang started defaulting to always including an
  693. // XOPEN_SOURCE declaration on behalf of users, but also noted __EXTENSIONS__.
  694. // This would lead most software that had used the non-underscore versions to
  695. // need it. As such, we have adjusted the non-strict XOPEN environment to retain
  696. // its old behavior so as to minimize namespace pollution; however, we instead
  697. // include both variants of the definitions in the generally visible version
  698. // allowing software written in either world to hopefully end up in a good
  699. // place.
  700. //
  701. // This isn't perfect, but should hopefully minimize the pain for folks actually
  702. // trying to build software.
  703. const ( /* types.h:215:1: */
  704. B_FALSE = 0
  705. B_TRUE = 1
  706. X_B_FALSE = 0
  707. X_B_TRUE = 1
  708. )
  709. type Ptrdiff_t = int64 /* <builtin>:3:26 */
  710. type Size_t = uint64 /* <builtin>:9:23 */
  711. type Wchar_t = int32 /* <builtin>:15:24 */
  712. type X__int128_t = struct {
  713. Flo int64
  714. Fhi int64
  715. } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  716. type X__uint128_t = struct {
  717. Flo uint64
  718. Fhi uint64
  719. } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  720. type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  721. type X__float128 = float64 /* <builtin>:47:21 */
  722. // CDDL HEADER START
  723. //
  724. // The contents of this file are subject to the terms of the
  725. // Common Development and Distribution License, Version 1.0 only
  726. // (the "License"). You may not use this file except in compliance
  727. // with the License.
  728. //
  729. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  730. // or http://www.opensolaris.org/os/licensing.
  731. // See the License for the specific language governing permissions
  732. // and limitations under the License.
  733. //
  734. // When distributing Covered Code, include this CDDL HEADER in each
  735. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  736. // If applicable, add the following below this CDDL HEADER, with the
  737. // fields enclosed by brackets "[]" replaced with your own identifying
  738. // information: Portions Copyright [yyyy] [name of copyright owner]
  739. //
  740. // CDDL HEADER END
  741. // Copyright (c) 1988 AT&T
  742. // All Rights Reserved
  743. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  744. //
  745. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  746. // Use is subject to license terms.
  747. // DO NOT EDIT THIS FILE.
  748. //
  749. // It has been auto-edited by fixincludes from:
  750. //
  751. // "/usr/include/sys/feature_tests.h"
  752. //
  753. // This had to be done to correct non-standard usages in the
  754. // original, manufacturer supplied header file.
  755. // CDDL HEADER START
  756. //
  757. // The contents of this file are subject to the terms of the
  758. // Common Development and Distribution License (the "License").
  759. // You may not use this file except in compliance with the License.
  760. //
  761. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  762. // or http://www.opensolaris.org/os/licensing.
  763. // See the License for the specific language governing permissions
  764. // and limitations under the License.
  765. //
  766. // When distributing Covered Code, include this CDDL HEADER in each
  767. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  768. // If applicable, add the following below this CDDL HEADER, with the
  769. // fields enclosed by brackets "[]" replaced with your own identifying
  770. // information: Portions Copyright [yyyy] [name of copyright owner]
  771. //
  772. // CDDL HEADER END
  773. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  774. // Copyright 2016 Joyent, Inc.
  775. // Copyright 2022 Oxide Computer Company
  776. //
  777. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  778. // Use is subject to license terms.
  779. // CDDL HEADER START
  780. //
  781. // The contents of this file are subject to the terms of the
  782. // Common Development and Distribution License, Version 1.0 only
  783. // (the "License"). You may not use this file except in compliance
  784. // with the License.
  785. //
  786. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  787. // or http://www.opensolaris.org/os/licensing.
  788. // See the License for the specific language governing permissions
  789. // and limitations under the License.
  790. //
  791. // When distributing Covered Code, include this CDDL HEADER in each
  792. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  793. // If applicable, add the following below this CDDL HEADER, with the
  794. // fields enclosed by brackets "[]" replaced with your own identifying
  795. // information: Portions Copyright [yyyy] [name of copyright owner]
  796. //
  797. // CDDL HEADER END
  798. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  799. // Use is subject to license terms.
  800. // Copyright 2015 EveryCity Ltd. All rights reserved.
  801. // Copyright 2019 Joyent, Inc.
  802. // This file contains definitions designed to enable different compilers
  803. // to be used harmoniously on Solaris systems.
  804. // Allow for version tests for compiler bugs and features.
  805. // analogous to lint's PRINTFLIKEn
  806. // Handle the kernel printf routines that can take '%b' too
  807. // This one's pretty obvious -- the function never returns
  808. // The function is 'extern inline' and expects GNU C89 behaviour, not C99
  809. // behaviour.
  810. //
  811. // Should only be used on 'extern inline' definitions for GCC.
  812. // The function has control flow such that it may return multiple times (in
  813. // the manner of setjmp or vfork)
  814. // This is an appropriate label for functions that do not
  815. // modify their arguments, e.g. strlen()
  816. // This is a stronger form of __pure__. Can be used for functions
  817. // that do not modify their arguments and don't depend on global
  818. // memory.
  819. // This attribute, attached to a variable, means that the variable is meant to
  820. // be possibly unused. GCC will not produce a warning for this variable.
  821. // Shorthand versions for readability
  822. // In release build, disable warnings about variables
  823. // which are used only for debugging.
  824. // CDDL HEADER START
  825. //
  826. // The contents of this file are subject to the terms of the
  827. // Common Development and Distribution License (the "License").
  828. // You may not use this file except in compliance with the License.
  829. //
  830. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  831. // or http://www.opensolaris.org/os/licensing.
  832. // See the License for the specific language governing permissions
  833. // and limitations under the License.
  834. //
  835. //
  836. // When distributing Covered Code, include this CDDL HEADER in each
  837. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  838. // If applicable, add the following below this CDDL HEADER, with the
  839. // fields enclosed by brackets "[]" replaced with your own identifying
  840. // information: Portions Copyright [yyyy] [name of copyright owner]
  841. //
  842. // CDDL HEADER END
  843. // Copyright 2008 Sun Microsystems, Inc. All rights reserved.
  844. // Use is subject to license terms.
  845. // Copyright 2016 Joyent, Inc.
  846. // This header file serves to group a set of well known defines and to
  847. // set these for each instruction set architecture. These defines may
  848. // be divided into two groups; characteristics of the processor and
  849. // implementation choices for Solaris on a processor.
  850. //
  851. // Processor Characteristics:
  852. //
  853. // _LITTLE_ENDIAN / _BIG_ENDIAN:
  854. // The natural byte order of the processor. A pointer to an int points
  855. // to the least/most significant byte of that int.
  856. //
  857. // _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
  858. // The processor specific direction of stack growth. A push onto the
  859. // stack increases/decreases the stack pointer, so it stores data at
  860. // successively higher/lower addresses. (Stackless machines ignored
  861. // without regrets).
  862. //
  863. // _LONG_LONG_HTOL / _LONG_LONG_LTOH:
  864. // A pointer to a long long points to the most/least significant long
  865. // within that long long.
  866. //
  867. // _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
  868. // The C compiler assigns bit fields from the high/low to the low/high end
  869. // of an int (most to least significant vs. least to most significant).
  870. //
  871. // _IEEE_754:
  872. // The processor (or supported implementations of the processor)
  873. // supports the ieee-754 floating point standard. No other floating
  874. // point standards are supported (or significant). Any other supported
  875. // floating point formats are expected to be cased on the ISA processor
  876. // symbol.
  877. //
  878. // _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
  879. // The C Compiler implements objects of type `char' as `unsigned' or
  880. // `signed' respectively. This is really an implementation choice of
  881. // the compiler writer, but it is specified in the ABI and tends to
  882. // be uniform across compilers for an instruction set architecture.
  883. // Hence, it has the properties of a processor characteristic.
  884. //
  885. // _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
  886. // _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
  887. // _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
  888. // The ABI defines alignment requirements of each of the primitive
  889. // object types. Some, if not all, may be hardware requirements as
  890. // well. The values are expressed in "byte-alignment" units.
  891. //
  892. // _MAX_ALIGNMENT:
  893. // The most stringent alignment requirement as specified by the ABI.
  894. // Equal to the maximum of all the above _XXX_ALIGNMENT values.
  895. //
  896. // _MAX_ALIGNMENT_TYPE:
  897. // The name of the C type that has the value descried in _MAX_ALIGNMENT.
  898. //
  899. // _ALIGNMENT_REQUIRED:
  900. // True or false (1 or 0) whether or not the hardware requires the ABI
  901. // alignment.
  902. //
  903. // _LONG_LONG_ALIGNMENT_32
  904. // The 32-bit ABI supported by a 64-bit kernel may have different
  905. // alignment requirements for primitive object types. The value of this
  906. // identifier is expressed in "byte-alignment" units.
  907. //
  908. // _HAVE_CPUID_INSN
  909. // This indicates that the architecture supports the 'cpuid'
  910. // instruction as defined by Intel. (Intel allows other vendors
  911. // to extend the instruction for their own purposes.)
  912. //
  913. //
  914. // Implementation Choices:
  915. //
  916. // _ILP32 / _LP64:
  917. // This specifies the compiler data type implementation as specified in
  918. // the relevant ABI. The choice between these is strongly influenced
  919. // by the underlying hardware, but is not absolutely tied to it.
  920. // Currently only two data type models are supported:
  921. //
  922. // _ILP32:
  923. // Int/Long/Pointer are 32 bits. This is the historical UNIX
  924. // and Solaris implementation. Due to its historical standing,
  925. // this is the default case.
  926. //
  927. // _LP64:
  928. // Long/Pointer are 64 bits, Int is 32 bits. This is the chosen
  929. // implementation for 64-bit ABIs such as SPARC V9.
  930. //
  931. // _I32LPx:
  932. // A compilation environment where 'int' is 32-bit, and
  933. // longs and pointers are simply the same size.
  934. //
  935. // In all cases, Char is 8 bits and Short is 16 bits.
  936. //
  937. // _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
  938. // This specifies the form of the disk VTOC (or label):
  939. //
  940. // _SUNOS_VTOC_8:
  941. // This is a VTOC form which is upwardly compatible with the
  942. // SunOS 4.x disk label and allows 8 partitions per disk.
  943. //
  944. // _SUNOS_VTOC_16:
  945. // In this format the incore vtoc image matches the ondisk
  946. // version. It allows 16 slices per disk, and is not
  947. // compatible with the SunOS 4.x disk label.
  948. //
  949. // Note that these are not the only two VTOC forms possible and
  950. // additional forms may be added. One possible form would be the
  951. // SVr4 VTOC form. The symbol for that is reserved now, although
  952. // it is not implemented.
  953. //
  954. // _SVR4_VTOC_16:
  955. // This VTOC form is compatible with the System V Release 4
  956. // VTOC (as implemented on the SVr4 Intel and 3b ports) with
  957. // 16 partitions per disk.
  958. //
  959. //
  960. // _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
  961. // This describes the type of addresses used by system DMA:
  962. //
  963. // _DMA_USES_PHYSADDR:
  964. // This type of DMA, used in the x86 implementation,
  965. // requires physical addresses for DMA buffers. The 24-bit
  966. // addresses used by some legacy boards is the source of the
  967. // "low-memory" (<16MB) requirement for some devices using DMA.
  968. //
  969. // _DMA_USES_VIRTADDR:
  970. // This method of DMA allows the use of virtual addresses for
  971. // DMA transfers.
  972. //
  973. // _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
  974. // This indicates the presence/absence of an fdisk table.
  975. //
  976. // _FIRMWARE_NEEDS_FDISK
  977. // The fdisk table is required by system firmware. If present,
  978. // it allows a disk to be subdivided into multiple fdisk
  979. // partitions, each of which is equivalent to a separate,
  980. // virtual disk. This enables the co-existence of multiple
  981. // operating systems on a shared hard disk.
  982. //
  983. // _NO_FDISK_PRESENT
  984. // If the fdisk table is absent, it is assumed that the entire
  985. // media is allocated for a single operating system.
  986. //
  987. // _HAVE_TEM_FIRMWARE
  988. // Defined if this architecture has the (fallback) option of
  989. // using prom_* calls for doing I/O if a suitable kernel driver
  990. // is not available to do it.
  991. //
  992. // _DONT_USE_1275_GENERIC_NAMES
  993. // Controls whether or not device tree node names should
  994. // comply with the IEEE 1275 "Generic Names" Recommended
  995. // Practice. With _DONT_USE_GENERIC_NAMES, device-specific
  996. // names identifying the particular device will be used.
  997. //
  998. // __i386_COMPAT
  999. // This indicates whether the i386 ABI is supported as a *non-native*
  1000. // mode for the platform. When this symbol is defined:
  1001. // - 32-bit xstat-style system calls are enabled
  1002. // - 32-bit xmknod-style system calls are enabled
  1003. // - 32-bit system calls use i386 sizes -and- alignments
  1004. //
  1005. // Note that this is NOT defined for the i386 native environment!
  1006. //
  1007. // __x86
  1008. // This is ONLY a synonym for defined(__i386) || defined(__amd64)
  1009. // which is useful only insofar as these two architectures share
  1010. // common attributes. Analogous to __sparc.
  1011. //
  1012. // _PSM_MODULES
  1013. // This indicates whether or not the implementation uses PSM
  1014. // modules for processor support, reading /etc/mach from inside
  1015. // the kernel to extract a list.
  1016. //
  1017. // _RTC_CONFIG
  1018. // This indicates whether or not the implementation uses /etc/rtc_config
  1019. // to configure the real-time clock in the kernel.
  1020. //
  1021. // _UNIX_KRTLD
  1022. // This indicates that the implementation uses a dynamically
  1023. // linked unix + krtld to form the core kernel image at boot
  1024. // time, or (in the absence of this symbol) a prelinked kernel image.
  1025. //
  1026. // _OBP
  1027. // This indicates the firmware interface is OBP.
  1028. //
  1029. // _SOFT_HOSTID
  1030. // This indicates that the implementation obtains the hostid
  1031. // from the file /etc/hostid, rather than from hardware.
  1032. // The following set of definitions characterize Solaris on AMD's
  1033. // 64-bit systems.
  1034. // Define the appropriate "processor characteristics"
  1035. // Different alignment constraints for the i386 ABI in compatibility mode
  1036. // Define the appropriate "implementation choices".
  1037. // The feature test macro __i386 is generic for all processors implementing
  1038. // the Intel 386 instruction set or a superset of it. Specifically, this
  1039. // includes all members of the 386, 486, and Pentium family of processors.
  1040. // Values of _POSIX_C_SOURCE
  1041. //
  1042. // undefined not a POSIX compilation
  1043. // 1 POSIX.1-1990 compilation
  1044. // 2 POSIX.2-1992 compilation
  1045. // 199309L POSIX.1b-1993 compilation (Real Time)
  1046. // 199506L POSIX.1c-1995 compilation (POSIX Threads)
  1047. // 200112L POSIX.1-2001 compilation (Austin Group Revision)
  1048. // 200809L POSIX.1-2008 compilation
  1049. // The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
  1050. // and _STDC_C99 are Sun implementation specific macros created in order to
  1051. // compress common standards specified feature test macros for easier reading.
  1052. // These macros should not be used by the application developer as
  1053. // unexpected results may occur. Instead, the user should reference
  1054. // standards(7) for correct usage of the standards feature test macros.
  1055. //
  1056. // __XOPEN_OR_POSIX Used in cases where a symbol is defined by both
  1057. // X/Open or POSIX or in the negative, when neither
  1058. // X/Open or POSIX defines a symbol.
  1059. //
  1060. // _STRICT_STDC __STDC__ is specified by the C Standards and defined
  1061. // by the compiler. For Sun compilers the value of
  1062. // __STDC__ is either 1, 0, or not defined based on the
  1063. // compilation mode (see cc(1)). When the value of
  1064. // __STDC__ is 1 and in the absence of any other feature
  1065. // test macros, the namespace available to the application
  1066. // is limited to only those symbols defined by the C
  1067. // Standard. _STRICT_STDC provides a more readable means
  1068. // of identifying symbols defined by the standard, or in
  1069. // the negative, symbols that are extensions to the C
  1070. // Standard. See additional comments for GNU C differences.
  1071. //
  1072. // _STDC_C99 __STDC_VERSION__ is specified by the C standards and
  1073. // defined by the compiler and indicates the version of
  1074. // the C standard. A value of 199901L indicates a
  1075. // compiler that complies with ISO/IEC 9899:1999, other-
  1076. // wise known as the C99 standard.
  1077. //
  1078. // _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__
  1079. // is 201112L indicating a compiler that compiles with
  1080. // ISO/IEC 9899:2011, otherwise known as the C11 standard.
  1081. //
  1082. // _STRICT_SYMBOLS Used in cases where symbol visibility is restricted
  1083. // by the standards, and the user has not explicitly
  1084. // relaxed the strictness via __EXTENSIONS__.
  1085. // ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
  1086. // 99899:2011 specify the following predefined macro name:
  1087. //
  1088. // __STDC__ The integer constant 1, intended to indicate a conforming
  1089. // implementation.
  1090. //
  1091. // Furthermore, a strictly conforming program shall use only those features
  1092. // of the language and library specified in these standards. A conforming
  1093. // implementation shall accept any strictly conforming program.
  1094. //
  1095. // Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
  1096. // strictly conforming environments and __STDC__ to 0 for environments that
  1097. // use ANSI C semantics but allow extensions to the C standard. For non-ANSI
  1098. // C semantics, Sun's C compiler does not define __STDC__.
  1099. //
  1100. // The GNU C project interpretation is that __STDC__ should always be defined
  1101. // to 1 for compilation modes that accept ANSI C syntax regardless of whether
  1102. // or not extensions to the C standard are used. Violations of conforming
  1103. // behavior are conditionally flagged as warnings via the use of the
  1104. // -pedantic option. In addition to defining __STDC__ to 1, the GNU C
  1105. // compiler also defines __STRICT_ANSI__ as a means of specifying strictly
  1106. // conforming environments using the -ansi or -std=<standard> options.
  1107. //
  1108. // In the absence of any other compiler options, Sun and GNU set the value
  1109. // of __STDC__ as follows when using the following options:
  1110. //
  1111. // Value of __STDC__ __STRICT_ANSI__
  1112. //
  1113. // cc -Xa (default) 0 undefined
  1114. // cc -Xt (transitional) 0 undefined
  1115. // cc -Xc (strictly conforming) 1 undefined
  1116. // cc -Xs (K&R C) undefined undefined
  1117. //
  1118. // gcc (default) 1 undefined
  1119. // gcc -ansi, -std={c89, c99,...) 1 defined
  1120. // gcc -traditional (K&R) undefined undefined
  1121. //
  1122. // The default compilation modes for Sun C compilers versus GNU C compilers
  1123. // results in a differing value for __STDC__ which results in a more
  1124. // restricted namespace when using Sun compilers. To allow both GNU and Sun
  1125. // interpretations to peacefully co-exist, we use the following Sun
  1126. // implementation _STRICT_STDC_ macro:
  1127. // Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
  1128. // Use strict symbol visibility.
  1129. // This is a variant of _STRICT_SYMBOLS that is meant to cover headers that are
  1130. // governed by POSIX, but have not been governed by ISO C. One can go two ways
  1131. // on what should happen if an application actively includes (not transitively)
  1132. // a header that isn't part of the ISO C spec, we opt to say that if someone has
  1133. // gone out of there way then they're doing it for a reason and that is an act
  1134. // of non-compliance and therefore it's not up to us to hide away every symbol.
  1135. //
  1136. // In general, prefer using _STRICT_SYMBOLS, but this is here in particular for
  1137. // cases where in the past we have only used a POSIX related check and we don't
  1138. // wish to make something stricter. Often applications are relying on the
  1139. // ability to, or more realistically unwittingly, have _STRICT_STDC declared and
  1140. // still use these interfaces.
  1141. // Large file interfaces:
  1142. //
  1143. // _LARGEFILE_SOURCE
  1144. // 1 large file-related additions to POSIX
  1145. // interfaces requested (fseeko, etc.)
  1146. // _LARGEFILE64_SOURCE
  1147. // 1 transitional large-file-related interfaces
  1148. // requested (seek64, stat64, etc.)
  1149. //
  1150. // The corresponding announcement macros are respectively:
  1151. // _LFS_LARGEFILE
  1152. // _LFS64_LARGEFILE
  1153. // (These are set in <unistd.h>.)
  1154. //
  1155. // Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
  1156. // well.
  1157. //
  1158. // The large file interfaces are made visible regardless of the initial values
  1159. // of the feature test macros under certain circumstances:
  1160. // - If no explicit standards-conforming environment is requested (neither
  1161. // of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
  1162. // __STDC__ does not imply standards conformance).
  1163. // - Extended system interfaces are explicitly requested (__EXTENSIONS__
  1164. // is defined).
  1165. // - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
  1166. // defined). (Note that this dependency is an artifact of the current
  1167. // kernel implementation and may change in future releases.)
  1168. // Large file compilation environment control:
  1169. //
  1170. // The setting of _FILE_OFFSET_BITS controls the size of various file-related
  1171. // types and governs the mapping between file-related source function symbol
  1172. // names and the corresponding binary entry points.
  1173. //
  1174. // In the 32-bit environment, the default value is 32; if not set, set it to
  1175. // the default here, to simplify tests in other headers.
  1176. //
  1177. // In the 64-bit compilation environment, the only value allowed is 64.
  1178. // Use of _XOPEN_SOURCE
  1179. //
  1180. // The following X/Open specifications are supported:
  1181. //
  1182. // X/Open Portability Guide, Issue 3 (XPG3)
  1183. // X/Open CAE Specification, Issue 4 (XPG4)
  1184. // X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
  1185. // X/Open CAE Specification, Issue 5 (XPG5)
  1186. // Open Group Technical Standard, Issue 6 (XPG6), also referred to as
  1187. // IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
  1188. // Open Group Technical Standard, Issue 7 (XPG7), also referred to as
  1189. // IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
  1190. //
  1191. // XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
  1192. // XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
  1193. // Version 2 (SUSv2)
  1194. // XPG6 is the result of a merge of the X/Open and POSIX specifications
  1195. // and as such is also referred to as IEEE Std. 1003.1-2001 in
  1196. // addition to UNIX 03 and SUSv3.
  1197. // XPG7 is also referred to as UNIX 08 and SUSv4.
  1198. //
  1199. // When writing a conforming X/Open application, as per the specification
  1200. // requirements, the appropriate feature test macros must be defined at
  1201. // compile time. These are as follows. For more info, see standards(7).
  1202. //
  1203. // Feature Test Macro Specification
  1204. // ------------------------------------------------ -------------
  1205. // _XOPEN_SOURCE XPG3
  1206. // _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
  1207. // _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
  1208. // _XOPEN_SOURCE = 500 XPG5
  1209. // _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6
  1210. // _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7
  1211. //
  1212. // In order to simplify the guards within the headers, the following
  1213. // implementation private test macros have been created. Applications
  1214. // must NOT use these private test macros as unexpected results will
  1215. // occur.
  1216. //
  1217. // Note that in general, the use of these private macros is cumulative.
  1218. // For example, the use of _XPG3 with no other restrictions on the X/Open
  1219. // namespace will make the symbols visible for XPG3 through XPG6
  1220. // compilation environments. The use of _XPG4_2 with no other X/Open
  1221. // namespace restrictions indicates that the symbols were introduced in
  1222. // XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
  1223. // environments, but not for XPG3 or XPG4 compilation environments.
  1224. //
  1225. // _XPG3 X/Open Portability Guide, Issue 3 (XPG3)
  1226. // _XPG4 X/Open CAE Specification, Issue 4 (XPG4)
  1227. // _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
  1228. // _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
  1229. // _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
  1230. // _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
  1231. // X/Open Portability Guide, Issue 3
  1232. // _XOPEN_VERSION is defined by the X/Open specifications and is not
  1233. // normally defined by the application, except in the case of an XPG4
  1234. // application. On the implementation side, _XOPEN_VERSION defined with
  1235. // the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
  1236. // with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
  1237. // _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98)
  1238. // application and with a value of 600 indicates an XPG6 (UNIX 03)
  1239. // application and with a value of 700 indicates an XPG7 (UNIX 08).
  1240. // The appropriate version is determined by the use of the
  1241. // feature test macros described earlier. The value of _XOPEN_VERSION
  1242. // defaults to 3 otherwise indicating support for XPG3 applications.
  1243. // ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
  1244. // conforming environments. ISO 9899:1999 says it does.
  1245. //
  1246. // The presence of _LONGLONG_TYPE says "long long exists" which is therefore
  1247. // defined in all but strictly conforming environments that disallow it.
  1248. // The following macro defines a value for the ISO C99 restrict
  1249. // keyword so that _RESTRICT_KYWD resolves to "restrict" if
  1250. // an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
  1251. // if any other compiler is used. This allows for the use of single
  1252. // prototype declarations regardless of compiler version.
  1253. // The following macro defines a value for the ISO C11 _Noreturn
  1254. // keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
  1255. // an ISO C11 compiler is used and "" (null string) if any other
  1256. // compiler is used. This allows for the use of single prototype
  1257. // declarations regardless of compiler version.
  1258. // ISO/IEC 9899:2011 Annex K
  1259. // The following macro indicates header support for the ANSI C++
  1260. // standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882.
  1261. // The following macro indicates header support for the C99 standard,
  1262. // ISO/IEC 9899:1999, Programming Languages - C.
  1263. // The following macro indicates header support for the C11 standard,
  1264. // ISO/IEC 9899:2011, Programming Languages - C.
  1265. // The following macro indicates header support for the C11 standard,
  1266. // ISO/IEC 9899:2011 Annex K, Programming Languages - C.
  1267. // The following macro indicates header support for DTrace. The value is an
  1268. // integer that corresponds to the major version number for DTrace.
  1269. // CDDL HEADER START
  1270. //
  1271. // The contents of this file are subject to the terms of the
  1272. // Common Development and Distribution License (the "License").
  1273. // You may not use this file except in compliance with the License.
  1274. //
  1275. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1276. // or http://www.opensolaris.org/os/licensing.
  1277. // See the License for the specific language governing permissions
  1278. // and limitations under the License.
  1279. //
  1280. // When distributing Covered Code, include this CDDL HEADER in each
  1281. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1282. // If applicable, add the following below this CDDL HEADER, with the
  1283. // fields enclosed by brackets "[]" replaced with your own identifying
  1284. // information: Portions Copyright [yyyy] [name of copyright owner]
  1285. //
  1286. // CDDL HEADER END
  1287. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  1288. // All Rights Reserved
  1289. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  1290. // Use is subject to license terms.
  1291. //
  1292. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  1293. // Copyright 2016 Joyent, Inc.
  1294. // Copyright 2021 Oxide Computer Company
  1295. // DO NOT EDIT THIS FILE.
  1296. //
  1297. // It has been auto-edited by fixincludes from:
  1298. //
  1299. // "/usr/include/sys/feature_tests.h"
  1300. //
  1301. // This had to be done to correct non-standard usages in the
  1302. // original, manufacturer supplied header file.
  1303. // CDDL HEADER START
  1304. //
  1305. // The contents of this file are subject to the terms of the
  1306. // Common Development and Distribution License (the "License").
  1307. // You may not use this file except in compliance with the License.
  1308. //
  1309. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1310. // or http://www.opensolaris.org/os/licensing.
  1311. // See the License for the specific language governing permissions
  1312. // and limitations under the License.
  1313. //
  1314. // When distributing Covered Code, include this CDDL HEADER in each
  1315. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1316. // If applicable, add the following below this CDDL HEADER, with the
  1317. // fields enclosed by brackets "[]" replaced with your own identifying
  1318. // information: Portions Copyright [yyyy] [name of copyright owner]
  1319. //
  1320. // CDDL HEADER END
  1321. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  1322. // Copyright 2016 Joyent, Inc.
  1323. // Copyright 2022 Oxide Computer Company
  1324. //
  1325. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  1326. // Use is subject to license terms.
  1327. // CDDL HEADER START
  1328. //
  1329. // The contents of this file are subject to the terms of the
  1330. // Common Development and Distribution License (the "License").
  1331. // You may not use this file except in compliance with the License.
  1332. //
  1333. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1334. // or http://www.opensolaris.org/os/licensing.
  1335. // See the License for the specific language governing permissions
  1336. // and limitations under the License.
  1337. //
  1338. //
  1339. // When distributing Covered Code, include this CDDL HEADER in each
  1340. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1341. // If applicable, add the following below this CDDL HEADER, with the
  1342. // fields enclosed by brackets "[]" replaced with your own identifying
  1343. // information: Portions Copyright [yyyy] [name of copyright owner]
  1344. //
  1345. // CDDL HEADER END
  1346. // Copyright 2008 Sun Microsystems, Inc. All rights reserved.
  1347. // Use is subject to license terms.
  1348. // Copyright 2016 Joyent, Inc.
  1349. // Machine dependent definitions moved to <sys/machtypes.h>.
  1350. // CDDL HEADER START
  1351. //
  1352. // The contents of this file are subject to the terms of the
  1353. // Common Development and Distribution License (the "License").
  1354. // You may not use this file except in compliance with the License.
  1355. //
  1356. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1357. // or http://www.opensolaris.org/os/licensing.
  1358. // See the License for the specific language governing permissions
  1359. // and limitations under the License.
  1360. //
  1361. // When distributing Covered Code, include this CDDL HEADER in each
  1362. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1363. // If applicable, add the following below this CDDL HEADER, with the
  1364. // fields enclosed by brackets "[]" replaced with your own identifying
  1365. // information: Portions Copyright [yyyy] [name of copyright owner]
  1366. //
  1367. // CDDL HEADER END
  1368. // Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  1369. // Use is subject to license terms.
  1370. // Machine dependent types:
  1371. //
  1372. // intel ia32 Version
  1373. type X_label_t = struct{ Fval [8]int64 } /* machtypes.h:59:9 */
  1374. // CDDL HEADER START
  1375. //
  1376. // The contents of this file are subject to the terms of the
  1377. // Common Development and Distribution License, Version 1.0 only
  1378. // (the "License"). You may not use this file except in compliance
  1379. // with the License.
  1380. //
  1381. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1382. // or http://www.opensolaris.org/os/licensing.
  1383. // See the License for the specific language governing permissions
  1384. // and limitations under the License.
  1385. //
  1386. // When distributing Covered Code, include this CDDL HEADER in each
  1387. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1388. // If applicable, add the following below this CDDL HEADER, with the
  1389. // fields enclosed by brackets "[]" replaced with your own identifying
  1390. // information: Portions Copyright [yyyy] [name of copyright owner]
  1391. //
  1392. // CDDL HEADER END
  1393. // Copyright (c) 1988 AT&T
  1394. // All Rights Reserved
  1395. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  1396. //
  1397. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  1398. // Use is subject to license terms.
  1399. // DO NOT EDIT THIS FILE.
  1400. //
  1401. // It has been auto-edited by fixincludes from:
  1402. //
  1403. // "/usr/include/sys/feature_tests.h"
  1404. //
  1405. // This had to be done to correct non-standard usages in the
  1406. // original, manufacturer supplied header file.
  1407. // CDDL HEADER START
  1408. //
  1409. // The contents of this file are subject to the terms of the
  1410. // Common Development and Distribution License (the "License").
  1411. // You may not use this file except in compliance with the License.
  1412. //
  1413. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1414. // or http://www.opensolaris.org/os/licensing.
  1415. // See the License for the specific language governing permissions
  1416. // and limitations under the License.
  1417. //
  1418. // When distributing Covered Code, include this CDDL HEADER in each
  1419. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1420. // If applicable, add the following below this CDDL HEADER, with the
  1421. // fields enclosed by brackets "[]" replaced with your own identifying
  1422. // information: Portions Copyright [yyyy] [name of copyright owner]
  1423. //
  1424. // CDDL HEADER END
  1425. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  1426. // Copyright 2016 Joyent, Inc.
  1427. // Copyright 2022 Oxide Computer Company
  1428. //
  1429. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  1430. // Use is subject to license terms.
  1431. // CDDL HEADER START
  1432. //
  1433. // The contents of this file are subject to the terms of the
  1434. // Common Development and Distribution License, Version 1.0 only
  1435. // (the "License"). You may not use this file except in compliance
  1436. // with the License.
  1437. //
  1438. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1439. // or http://www.opensolaris.org/os/licensing.
  1440. // See the License for the specific language governing permissions
  1441. // and limitations under the License.
  1442. //
  1443. // When distributing Covered Code, include this CDDL HEADER in each
  1444. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1445. // If applicable, add the following below this CDDL HEADER, with the
  1446. // fields enclosed by brackets "[]" replaced with your own identifying
  1447. // information: Portions Copyright [yyyy] [name of copyright owner]
  1448. //
  1449. // CDDL HEADER END
  1450. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  1451. // Use is subject to license terms.
  1452. // Copyright 2015 EveryCity Ltd. All rights reserved.
  1453. // Copyright 2019 Joyent, Inc.
  1454. // This file contains definitions designed to enable different compilers
  1455. // to be used harmoniously on Solaris systems.
  1456. // Allow for version tests for compiler bugs and features.
  1457. // analogous to lint's PRINTFLIKEn
  1458. // Handle the kernel printf routines that can take '%b' too
  1459. // This one's pretty obvious -- the function never returns
  1460. // The function is 'extern inline' and expects GNU C89 behaviour, not C99
  1461. // behaviour.
  1462. //
  1463. // Should only be used on 'extern inline' definitions for GCC.
  1464. // The function has control flow such that it may return multiple times (in
  1465. // the manner of setjmp or vfork)
  1466. // This is an appropriate label for functions that do not
  1467. // modify their arguments, e.g. strlen()
  1468. // This is a stronger form of __pure__. Can be used for functions
  1469. // that do not modify their arguments and don't depend on global
  1470. // memory.
  1471. // This attribute, attached to a variable, means that the variable is meant to
  1472. // be possibly unused. GCC will not produce a warning for this variable.
  1473. // Shorthand versions for readability
  1474. // In release build, disable warnings about variables
  1475. // which are used only for debugging.
  1476. // CDDL HEADER START
  1477. //
  1478. // The contents of this file are subject to the terms of the
  1479. // Common Development and Distribution License (the "License").
  1480. // You may not use this file except in compliance with the License.
  1481. //
  1482. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1483. // or http://www.opensolaris.org/os/licensing.
  1484. // See the License for the specific language governing permissions
  1485. // and limitations under the License.
  1486. //
  1487. //
  1488. // When distributing Covered Code, include this CDDL HEADER in each
  1489. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1490. // If applicable, add the following below this CDDL HEADER, with the
  1491. // fields enclosed by brackets "[]" replaced with your own identifying
  1492. // information: Portions Copyright [yyyy] [name of copyright owner]
  1493. //
  1494. // CDDL HEADER END
  1495. // Copyright 2008 Sun Microsystems, Inc. All rights reserved.
  1496. // Use is subject to license terms.
  1497. // Copyright 2016 Joyent, Inc.
  1498. // This header file serves to group a set of well known defines and to
  1499. // set these for each instruction set architecture. These defines may
  1500. // be divided into two groups; characteristics of the processor and
  1501. // implementation choices for Solaris on a processor.
  1502. //
  1503. // Processor Characteristics:
  1504. //
  1505. // _LITTLE_ENDIAN / _BIG_ENDIAN:
  1506. // The natural byte order of the processor. A pointer to an int points
  1507. // to the least/most significant byte of that int.
  1508. //
  1509. // _STACK_GROWS_UPWARD / _STACK_GROWS_DOWNWARD:
  1510. // The processor specific direction of stack growth. A push onto the
  1511. // stack increases/decreases the stack pointer, so it stores data at
  1512. // successively higher/lower addresses. (Stackless machines ignored
  1513. // without regrets).
  1514. //
  1515. // _LONG_LONG_HTOL / _LONG_LONG_LTOH:
  1516. // A pointer to a long long points to the most/least significant long
  1517. // within that long long.
  1518. //
  1519. // _BIT_FIELDS_HTOL / _BIT_FIELDS_LTOH:
  1520. // The C compiler assigns bit fields from the high/low to the low/high end
  1521. // of an int (most to least significant vs. least to most significant).
  1522. //
  1523. // _IEEE_754:
  1524. // The processor (or supported implementations of the processor)
  1525. // supports the ieee-754 floating point standard. No other floating
  1526. // point standards are supported (or significant). Any other supported
  1527. // floating point formats are expected to be cased on the ISA processor
  1528. // symbol.
  1529. //
  1530. // _CHAR_IS_UNSIGNED / _CHAR_IS_SIGNED:
  1531. // The C Compiler implements objects of type `char' as `unsigned' or
  1532. // `signed' respectively. This is really an implementation choice of
  1533. // the compiler writer, but it is specified in the ABI and tends to
  1534. // be uniform across compilers for an instruction set architecture.
  1535. // Hence, it has the properties of a processor characteristic.
  1536. //
  1537. // _CHAR_ALIGNMENT / _SHORT_ALIGNMENT / _INT_ALIGNMENT / _LONG_ALIGNMENT /
  1538. // _LONG_LONG_ALIGNMENT / _DOUBLE_ALIGNMENT / _LONG_DOUBLE_ALIGNMENT /
  1539. // _POINTER_ALIGNMENT / _FLOAT_ALIGNMENT:
  1540. // The ABI defines alignment requirements of each of the primitive
  1541. // object types. Some, if not all, may be hardware requirements as
  1542. // well. The values are expressed in "byte-alignment" units.
  1543. //
  1544. // _MAX_ALIGNMENT:
  1545. // The most stringent alignment requirement as specified by the ABI.
  1546. // Equal to the maximum of all the above _XXX_ALIGNMENT values.
  1547. //
  1548. // _MAX_ALIGNMENT_TYPE:
  1549. // The name of the C type that has the value descried in _MAX_ALIGNMENT.
  1550. //
  1551. // _ALIGNMENT_REQUIRED:
  1552. // True or false (1 or 0) whether or not the hardware requires the ABI
  1553. // alignment.
  1554. //
  1555. // _LONG_LONG_ALIGNMENT_32
  1556. // The 32-bit ABI supported by a 64-bit kernel may have different
  1557. // alignment requirements for primitive object types. The value of this
  1558. // identifier is expressed in "byte-alignment" units.
  1559. //
  1560. // _HAVE_CPUID_INSN
  1561. // This indicates that the architecture supports the 'cpuid'
  1562. // instruction as defined by Intel. (Intel allows other vendors
  1563. // to extend the instruction for their own purposes.)
  1564. //
  1565. //
  1566. // Implementation Choices:
  1567. //
  1568. // _ILP32 / _LP64:
  1569. // This specifies the compiler data type implementation as specified in
  1570. // the relevant ABI. The choice between these is strongly influenced
  1571. // by the underlying hardware, but is not absolutely tied to it.
  1572. // Currently only two data type models are supported:
  1573. //
  1574. // _ILP32:
  1575. // Int/Long/Pointer are 32 bits. This is the historical UNIX
  1576. // and Solaris implementation. Due to its historical standing,
  1577. // this is the default case.
  1578. //
  1579. // _LP64:
  1580. // Long/Pointer are 64 bits, Int is 32 bits. This is the chosen
  1581. // implementation for 64-bit ABIs such as SPARC V9.
  1582. //
  1583. // _I32LPx:
  1584. // A compilation environment where 'int' is 32-bit, and
  1585. // longs and pointers are simply the same size.
  1586. //
  1587. // In all cases, Char is 8 bits and Short is 16 bits.
  1588. //
  1589. // _SUNOS_VTOC_8 / _SUNOS_VTOC_16 / _SVR4_VTOC_16:
  1590. // This specifies the form of the disk VTOC (or label):
  1591. //
  1592. // _SUNOS_VTOC_8:
  1593. // This is a VTOC form which is upwardly compatible with the
  1594. // SunOS 4.x disk label and allows 8 partitions per disk.
  1595. //
  1596. // _SUNOS_VTOC_16:
  1597. // In this format the incore vtoc image matches the ondisk
  1598. // version. It allows 16 slices per disk, and is not
  1599. // compatible with the SunOS 4.x disk label.
  1600. //
  1601. // Note that these are not the only two VTOC forms possible and
  1602. // additional forms may be added. One possible form would be the
  1603. // SVr4 VTOC form. The symbol for that is reserved now, although
  1604. // it is not implemented.
  1605. //
  1606. // _SVR4_VTOC_16:
  1607. // This VTOC form is compatible with the System V Release 4
  1608. // VTOC (as implemented on the SVr4 Intel and 3b ports) with
  1609. // 16 partitions per disk.
  1610. //
  1611. //
  1612. // _DMA_USES_PHYSADDR / _DMA_USES_VIRTADDR
  1613. // This describes the type of addresses used by system DMA:
  1614. //
  1615. // _DMA_USES_PHYSADDR:
  1616. // This type of DMA, used in the x86 implementation,
  1617. // requires physical addresses for DMA buffers. The 24-bit
  1618. // addresses used by some legacy boards is the source of the
  1619. // "low-memory" (<16MB) requirement for some devices using DMA.
  1620. //
  1621. // _DMA_USES_VIRTADDR:
  1622. // This method of DMA allows the use of virtual addresses for
  1623. // DMA transfers.
  1624. //
  1625. // _FIRMWARE_NEEDS_FDISK / _NO_FDISK_PRESENT
  1626. // This indicates the presence/absence of an fdisk table.
  1627. //
  1628. // _FIRMWARE_NEEDS_FDISK
  1629. // The fdisk table is required by system firmware. If present,
  1630. // it allows a disk to be subdivided into multiple fdisk
  1631. // partitions, each of which is equivalent to a separate,
  1632. // virtual disk. This enables the co-existence of multiple
  1633. // operating systems on a shared hard disk.
  1634. //
  1635. // _NO_FDISK_PRESENT
  1636. // If the fdisk table is absent, it is assumed that the entire
  1637. // media is allocated for a single operating system.
  1638. //
  1639. // _HAVE_TEM_FIRMWARE
  1640. // Defined if this architecture has the (fallback) option of
  1641. // using prom_* calls for doing I/O if a suitable kernel driver
  1642. // is not available to do it.
  1643. //
  1644. // _DONT_USE_1275_GENERIC_NAMES
  1645. // Controls whether or not device tree node names should
  1646. // comply with the IEEE 1275 "Generic Names" Recommended
  1647. // Practice. With _DONT_USE_GENERIC_NAMES, device-specific
  1648. // names identifying the particular device will be used.
  1649. //
  1650. // __i386_COMPAT
  1651. // This indicates whether the i386 ABI is supported as a *non-native*
  1652. // mode for the platform. When this symbol is defined:
  1653. // - 32-bit xstat-style system calls are enabled
  1654. // - 32-bit xmknod-style system calls are enabled
  1655. // - 32-bit system calls use i386 sizes -and- alignments
  1656. //
  1657. // Note that this is NOT defined for the i386 native environment!
  1658. //
  1659. // __x86
  1660. // This is ONLY a synonym for defined(__i386) || defined(__amd64)
  1661. // which is useful only insofar as these two architectures share
  1662. // common attributes. Analogous to __sparc.
  1663. //
  1664. // _PSM_MODULES
  1665. // This indicates whether or not the implementation uses PSM
  1666. // modules for processor support, reading /etc/mach from inside
  1667. // the kernel to extract a list.
  1668. //
  1669. // _RTC_CONFIG
  1670. // This indicates whether or not the implementation uses /etc/rtc_config
  1671. // to configure the real-time clock in the kernel.
  1672. //
  1673. // _UNIX_KRTLD
  1674. // This indicates that the implementation uses a dynamically
  1675. // linked unix + krtld to form the core kernel image at boot
  1676. // time, or (in the absence of this symbol) a prelinked kernel image.
  1677. //
  1678. // _OBP
  1679. // This indicates the firmware interface is OBP.
  1680. //
  1681. // _SOFT_HOSTID
  1682. // This indicates that the implementation obtains the hostid
  1683. // from the file /etc/hostid, rather than from hardware.
  1684. // The following set of definitions characterize Solaris on AMD's
  1685. // 64-bit systems.
  1686. // Define the appropriate "processor characteristics"
  1687. // Different alignment constraints for the i386 ABI in compatibility mode
  1688. // Define the appropriate "implementation choices".
  1689. // The feature test macro __i386 is generic for all processors implementing
  1690. // the Intel 386 instruction set or a superset of it. Specifically, this
  1691. // includes all members of the 386, 486, and Pentium family of processors.
  1692. // Values of _POSIX_C_SOURCE
  1693. //
  1694. // undefined not a POSIX compilation
  1695. // 1 POSIX.1-1990 compilation
  1696. // 2 POSIX.2-1992 compilation
  1697. // 199309L POSIX.1b-1993 compilation (Real Time)
  1698. // 199506L POSIX.1c-1995 compilation (POSIX Threads)
  1699. // 200112L POSIX.1-2001 compilation (Austin Group Revision)
  1700. // 200809L POSIX.1-2008 compilation
  1701. // The feature test macros __XOPEN_OR_POSIX, _STRICT_STDC, _STRICT_SYMBOLS,
  1702. // and _STDC_C99 are Sun implementation specific macros created in order to
  1703. // compress common standards specified feature test macros for easier reading.
  1704. // These macros should not be used by the application developer as
  1705. // unexpected results may occur. Instead, the user should reference
  1706. // standards(7) for correct usage of the standards feature test macros.
  1707. //
  1708. // __XOPEN_OR_POSIX Used in cases where a symbol is defined by both
  1709. // X/Open or POSIX or in the negative, when neither
  1710. // X/Open or POSIX defines a symbol.
  1711. //
  1712. // _STRICT_STDC __STDC__ is specified by the C Standards and defined
  1713. // by the compiler. For Sun compilers the value of
  1714. // __STDC__ is either 1, 0, or not defined based on the
  1715. // compilation mode (see cc(1)). When the value of
  1716. // __STDC__ is 1 and in the absence of any other feature
  1717. // test macros, the namespace available to the application
  1718. // is limited to only those symbols defined by the C
  1719. // Standard. _STRICT_STDC provides a more readable means
  1720. // of identifying symbols defined by the standard, or in
  1721. // the negative, symbols that are extensions to the C
  1722. // Standard. See additional comments for GNU C differences.
  1723. //
  1724. // _STDC_C99 __STDC_VERSION__ is specified by the C standards and
  1725. // defined by the compiler and indicates the version of
  1726. // the C standard. A value of 199901L indicates a
  1727. // compiler that complies with ISO/IEC 9899:1999, other-
  1728. // wise known as the C99 standard.
  1729. //
  1730. // _STDC_C11 Like _STDC_C99 except that the value of __STDC_VERSION__
  1731. // is 201112L indicating a compiler that compiles with
  1732. // ISO/IEC 9899:2011, otherwise known as the C11 standard.
  1733. //
  1734. // _STRICT_SYMBOLS Used in cases where symbol visibility is restricted
  1735. // by the standards, and the user has not explicitly
  1736. // relaxed the strictness via __EXTENSIONS__.
  1737. // ISO/IEC 9899:1990 and it's revisions, ISO/IEC 9899:1999 and ISO/IEC
  1738. // 99899:2011 specify the following predefined macro name:
  1739. //
  1740. // __STDC__ The integer constant 1, intended to indicate a conforming
  1741. // implementation.
  1742. //
  1743. // Furthermore, a strictly conforming program shall use only those features
  1744. // of the language and library specified in these standards. A conforming
  1745. // implementation shall accept any strictly conforming program.
  1746. //
  1747. // Based on these requirements, Sun's C compiler defines __STDC__ to 1 for
  1748. // strictly conforming environments and __STDC__ to 0 for environments that
  1749. // use ANSI C semantics but allow extensions to the C standard. For non-ANSI
  1750. // C semantics, Sun's C compiler does not define __STDC__.
  1751. //
  1752. // The GNU C project interpretation is that __STDC__ should always be defined
  1753. // to 1 for compilation modes that accept ANSI C syntax regardless of whether
  1754. // or not extensions to the C standard are used. Violations of conforming
  1755. // behavior are conditionally flagged as warnings via the use of the
  1756. // -pedantic option. In addition to defining __STDC__ to 1, the GNU C
  1757. // compiler also defines __STRICT_ANSI__ as a means of specifying strictly
  1758. // conforming environments using the -ansi or -std=<standard> options.
  1759. //
  1760. // In the absence of any other compiler options, Sun and GNU set the value
  1761. // of __STDC__ as follows when using the following options:
  1762. //
  1763. // Value of __STDC__ __STRICT_ANSI__
  1764. //
  1765. // cc -Xa (default) 0 undefined
  1766. // cc -Xt (transitional) 0 undefined
  1767. // cc -Xc (strictly conforming) 1 undefined
  1768. // cc -Xs (K&R C) undefined undefined
  1769. //
  1770. // gcc (default) 1 undefined
  1771. // gcc -ansi, -std={c89, c99,...) 1 defined
  1772. // gcc -traditional (K&R) undefined undefined
  1773. //
  1774. // The default compilation modes for Sun C compilers versus GNU C compilers
  1775. // results in a differing value for __STDC__ which results in a more
  1776. // restricted namespace when using Sun compilers. To allow both GNU and Sun
  1777. // interpretations to peacefully co-exist, we use the following Sun
  1778. // implementation _STRICT_STDC_ macro:
  1779. // Compiler complies with ISO/IEC 9899:1999 or ISO/IEC 9989:2011
  1780. // Use strict symbol visibility.
  1781. // This is a variant of _STRICT_SYMBOLS that is meant to cover headers that are
  1782. // governed by POSIX, but have not been governed by ISO C. One can go two ways
  1783. // on what should happen if an application actively includes (not transitively)
  1784. // a header that isn't part of the ISO C spec, we opt to say that if someone has
  1785. // gone out of there way then they're doing it for a reason and that is an act
  1786. // of non-compliance and therefore it's not up to us to hide away every symbol.
  1787. //
  1788. // In general, prefer using _STRICT_SYMBOLS, but this is here in particular for
  1789. // cases where in the past we have only used a POSIX related check and we don't
  1790. // wish to make something stricter. Often applications are relying on the
  1791. // ability to, or more realistically unwittingly, have _STRICT_STDC declared and
  1792. // still use these interfaces.
  1793. // Large file interfaces:
  1794. //
  1795. // _LARGEFILE_SOURCE
  1796. // 1 large file-related additions to POSIX
  1797. // interfaces requested (fseeko, etc.)
  1798. // _LARGEFILE64_SOURCE
  1799. // 1 transitional large-file-related interfaces
  1800. // requested (seek64, stat64, etc.)
  1801. //
  1802. // The corresponding announcement macros are respectively:
  1803. // _LFS_LARGEFILE
  1804. // _LFS64_LARGEFILE
  1805. // (These are set in <unistd.h>.)
  1806. //
  1807. // Requesting _LARGEFILE64_SOURCE implies requesting _LARGEFILE_SOURCE as
  1808. // well.
  1809. //
  1810. // The large file interfaces are made visible regardless of the initial values
  1811. // of the feature test macros under certain circumstances:
  1812. // - If no explicit standards-conforming environment is requested (neither
  1813. // of _POSIX_SOURCE nor _XOPEN_SOURCE is defined and the value of
  1814. // __STDC__ does not imply standards conformance).
  1815. // - Extended system interfaces are explicitly requested (__EXTENSIONS__
  1816. // is defined).
  1817. // - Access to in-kernel interfaces is requested (_KERNEL or _KMEMUSER is
  1818. // defined). (Note that this dependency is an artifact of the current
  1819. // kernel implementation and may change in future releases.)
  1820. // Large file compilation environment control:
  1821. //
  1822. // The setting of _FILE_OFFSET_BITS controls the size of various file-related
  1823. // types and governs the mapping between file-related source function symbol
  1824. // names and the corresponding binary entry points.
  1825. //
  1826. // In the 32-bit environment, the default value is 32; if not set, set it to
  1827. // the default here, to simplify tests in other headers.
  1828. //
  1829. // In the 64-bit compilation environment, the only value allowed is 64.
  1830. // Use of _XOPEN_SOURCE
  1831. //
  1832. // The following X/Open specifications are supported:
  1833. //
  1834. // X/Open Portability Guide, Issue 3 (XPG3)
  1835. // X/Open CAE Specification, Issue 4 (XPG4)
  1836. // X/Open CAE Specification, Issue 4, Version 2 (XPG4v2)
  1837. // X/Open CAE Specification, Issue 5 (XPG5)
  1838. // Open Group Technical Standard, Issue 6 (XPG6), also referred to as
  1839. // IEEE Std. 1003.1-2001 and ISO/IEC 9945:2002.
  1840. // Open Group Technical Standard, Issue 7 (XPG7), also referred to as
  1841. // IEEE Std. 1003.1-2008 and ISO/IEC 9945:2009.
  1842. //
  1843. // XPG4v2 is also referred to as UNIX 95 (SUS or SUSv1).
  1844. // XPG5 is also referred to as UNIX 98 or the Single Unix Specification,
  1845. // Version 2 (SUSv2)
  1846. // XPG6 is the result of a merge of the X/Open and POSIX specifications
  1847. // and as such is also referred to as IEEE Std. 1003.1-2001 in
  1848. // addition to UNIX 03 and SUSv3.
  1849. // XPG7 is also referred to as UNIX 08 and SUSv4.
  1850. //
  1851. // When writing a conforming X/Open application, as per the specification
  1852. // requirements, the appropriate feature test macros must be defined at
  1853. // compile time. These are as follows. For more info, see standards(7).
  1854. //
  1855. // Feature Test Macro Specification
  1856. // ------------------------------------------------ -------------
  1857. // _XOPEN_SOURCE XPG3
  1858. // _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4
  1859. // _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2
  1860. // _XOPEN_SOURCE = 500 XPG5
  1861. // _XOPEN_SOURCE = 600 (or POSIX_C_SOURCE=200112L) XPG6
  1862. // _XOPEN_SOURCE = 700 (or POSIX_C_SOURCE=200809L) XPG7
  1863. //
  1864. // In order to simplify the guards within the headers, the following
  1865. // implementation private test macros have been created. Applications
  1866. // must NOT use these private test macros as unexpected results will
  1867. // occur.
  1868. //
  1869. // Note that in general, the use of these private macros is cumulative.
  1870. // For example, the use of _XPG3 with no other restrictions on the X/Open
  1871. // namespace will make the symbols visible for XPG3 through XPG6
  1872. // compilation environments. The use of _XPG4_2 with no other X/Open
  1873. // namespace restrictions indicates that the symbols were introduced in
  1874. // XPG4v2 and are therefore visible for XPG4v2 through XPG6 compilation
  1875. // environments, but not for XPG3 or XPG4 compilation environments.
  1876. //
  1877. // _XPG3 X/Open Portability Guide, Issue 3 (XPG3)
  1878. // _XPG4 X/Open CAE Specification, Issue 4 (XPG4)
  1879. // _XPG4_2 X/Open CAE Specification, Issue 4, Version 2 (XPG4v2/UNIX 95/SUS)
  1880. // _XPG5 X/Open CAE Specification, Issue 5 (XPG5/UNIX 98/SUSv2)
  1881. // _XPG6 Open Group Technical Standard, Issue 6 (XPG6/UNIX 03/SUSv3)
  1882. // _XPG7 Open Group Technical Standard, Issue 7 (XPG7/UNIX 08/SUSv4)
  1883. // X/Open Portability Guide, Issue 3
  1884. // _XOPEN_VERSION is defined by the X/Open specifications and is not
  1885. // normally defined by the application, except in the case of an XPG4
  1886. // application. On the implementation side, _XOPEN_VERSION defined with
  1887. // the value of 3 indicates an XPG3 application. _XOPEN_VERSION defined
  1888. // with the value of 4 indicates an XPG4 or XPG4v2 (UNIX 95) application.
  1889. // _XOPEN_VERSION defined with a value of 500 indicates an XPG5 (UNIX 98)
  1890. // application and with a value of 600 indicates an XPG6 (UNIX 03)
  1891. // application and with a value of 700 indicates an XPG7 (UNIX 08).
  1892. // The appropriate version is determined by the use of the
  1893. // feature test macros described earlier. The value of _XOPEN_VERSION
  1894. // defaults to 3 otherwise indicating support for XPG3 applications.
  1895. // ANSI C and ISO 9899:1990 say the type long long doesn't exist in strictly
  1896. // conforming environments. ISO 9899:1999 says it does.
  1897. //
  1898. // The presence of _LONGLONG_TYPE says "long long exists" which is therefore
  1899. // defined in all but strictly conforming environments that disallow it.
  1900. // The following macro defines a value for the ISO C99 restrict
  1901. // keyword so that _RESTRICT_KYWD resolves to "restrict" if
  1902. // an ISO C99 compiler is used, "__restrict" for c++ and "" (null string)
  1903. // if any other compiler is used. This allows for the use of single
  1904. // prototype declarations regardless of compiler version.
  1905. // The following macro defines a value for the ISO C11 _Noreturn
  1906. // keyword so that _NORETURN_KYWD resolves to "_Noreturn" if
  1907. // an ISO C11 compiler is used and "" (null string) if any other
  1908. // compiler is used. This allows for the use of single prototype
  1909. // declarations regardless of compiler version.
  1910. // ISO/IEC 9899:2011 Annex K
  1911. // The following macro indicates header support for the ANSI C++
  1912. // standard. The ISO/IEC designation for this is ISO/IEC FDIS 14882.
  1913. // The following macro indicates header support for the C99 standard,
  1914. // ISO/IEC 9899:1999, Programming Languages - C.
  1915. // The following macro indicates header support for the C11 standard,
  1916. // ISO/IEC 9899:2011, Programming Languages - C.
  1917. // The following macro indicates header support for the C11 standard,
  1918. // ISO/IEC 9899:2011 Annex K, Programming Languages - C.
  1919. // The following macro indicates header support for DTrace. The value is an
  1920. // integer that corresponds to the major version number for DTrace.
  1921. // CDDL HEADER START
  1922. //
  1923. // The contents of this file are subject to the terms of the
  1924. // Common Development and Distribution License (the "License").
  1925. // You may not use this file except in compliance with the License.
  1926. //
  1927. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1928. // or http://www.opensolaris.org/os/licensing.
  1929. // See the License for the specific language governing permissions
  1930. // and limitations under the License.
  1931. //
  1932. // When distributing Covered Code, include this CDDL HEADER in each
  1933. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1934. // If applicable, add the following below this CDDL HEADER, with the
  1935. // fields enclosed by brackets "[]" replaced with your own identifying
  1936. // information: Portions Copyright [yyyy] [name of copyright owner]
  1937. //
  1938. // CDDL HEADER END
  1939. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  1940. // All Rights Reserved
  1941. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  1942. // Use is subject to license terms.
  1943. //
  1944. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  1945. // Copyright 2016 Joyent, Inc.
  1946. // Copyright 2021 Oxide Computer Company
  1947. // DO NOT EDIT THIS FILE.
  1948. //
  1949. // It has been auto-edited by fixincludes from:
  1950. //
  1951. // "/usr/include/sys/feature_tests.h"
  1952. //
  1953. // This had to be done to correct non-standard usages in the
  1954. // original, manufacturer supplied header file.
  1955. // CDDL HEADER START
  1956. //
  1957. // The contents of this file are subject to the terms of the
  1958. // Common Development and Distribution License (the "License").
  1959. // You may not use this file except in compliance with the License.
  1960. //
  1961. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1962. // or http://www.opensolaris.org/os/licensing.
  1963. // See the License for the specific language governing permissions
  1964. // and limitations under the License.
  1965. //
  1966. // When distributing Covered Code, include this CDDL HEADER in each
  1967. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1968. // If applicable, add the following below this CDDL HEADER, with the
  1969. // fields enclosed by brackets "[]" replaced with your own identifying
  1970. // information: Portions Copyright [yyyy] [name of copyright owner]
  1971. //
  1972. // CDDL HEADER END
  1973. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  1974. // Copyright 2016 Joyent, Inc.
  1975. // Copyright 2022 Oxide Computer Company
  1976. //
  1977. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  1978. // Use is subject to license terms.
  1979. // CDDL HEADER START
  1980. //
  1981. // The contents of this file are subject to the terms of the
  1982. // Common Development and Distribution License (the "License").
  1983. // You may not use this file except in compliance with the License.
  1984. //
  1985. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  1986. // or http://www.opensolaris.org/os/licensing.
  1987. // See the License for the specific language governing permissions
  1988. // and limitations under the License.
  1989. //
  1990. //
  1991. // When distributing Covered Code, include this CDDL HEADER in each
  1992. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  1993. // If applicable, add the following below this CDDL HEADER, with the
  1994. // fields enclosed by brackets "[]" replaced with your own identifying
  1995. // information: Portions Copyright [yyyy] [name of copyright owner]
  1996. //
  1997. // CDDL HEADER END
  1998. // Copyright 2008 Sun Microsystems, Inc. All rights reserved.
  1999. // Use is subject to license terms.
  2000. // Copyright 2016 Joyent, Inc.
  2001. // Machine dependent definitions moved to <sys/machtypes.h>.
  2002. // CDDL HEADER START
  2003. //
  2004. // The contents of this file are subject to the terms of the
  2005. // Common Development and Distribution License (the "License").
  2006. // You may not use this file except in compliance with the License.
  2007. //
  2008. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2009. // or http://www.opensolaris.org/os/licensing.
  2010. // See the License for the specific language governing permissions
  2011. // and limitations under the License.
  2012. //
  2013. // When distributing Covered Code, include this CDDL HEADER in each
  2014. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2015. // If applicable, add the following below this CDDL HEADER, with the
  2016. // fields enclosed by brackets "[]" replaced with your own identifying
  2017. // information: Portions Copyright [yyyy] [name of copyright owner]
  2018. //
  2019. // CDDL HEADER END
  2020. // Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  2021. // Use is subject to license terms.
  2022. // Machine dependent types:
  2023. //
  2024. // intel ia32 Version
  2025. type Label_t = X_label_t /* machtypes.h:59:54 */
  2026. type Lock_t = uint8 /* machtypes.h:63:23 */ // lock work for busy wait
  2027. // Include fixed width type declarations proposed by the ISO/JTC1/SC22/WG14 C
  2028. // committee's working draft for the revision of the current ISO C standard,
  2029. // ISO/IEC 9899:1990 Programming language - C. These are not currently
  2030. // required by any standard but constitute a useful, general purpose set
  2031. // of type definitions which is namespace clean with respect to all standards.
  2032. // CDDL HEADER START
  2033. //
  2034. // The contents of this file are subject to the terms of the
  2035. // Common Development and Distribution License, Version 1.0 only
  2036. // (the "License"). You may not use this file except in compliance
  2037. // with the License.
  2038. //
  2039. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2040. // or http://www.opensolaris.org/os/licensing.
  2041. // See the License for the specific language governing permissions
  2042. // and limitations under the License.
  2043. //
  2044. // When distributing Covered Code, include this CDDL HEADER in each
  2045. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2046. // If applicable, add the following below this CDDL HEADER, with the
  2047. // fields enclosed by brackets "[]" replaced with your own identifying
  2048. // information: Portions Copyright [yyyy] [name of copyright owner]
  2049. //
  2050. // CDDL HEADER END
  2051. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  2052. //
  2053. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  2054. // Use is subject to license terms.
  2055. // This file, <sys/int_types.h>, is part of the Sun Microsystems implementation
  2056. // of <inttypes.h> defined in the ISO C standard, ISO/IEC 9899:1999
  2057. // Programming language - C.
  2058. //
  2059. // Programs/Modules should not directly include this file. Access to the
  2060. // types defined in this file should be through the inclusion of one of the
  2061. // following files:
  2062. //
  2063. // <sys/types.h> Provides only the "_t" types defined in this
  2064. // file which is a subset of the contents of
  2065. // <inttypes.h>. (This can be appropriate for
  2066. // all programs/modules except those claiming
  2067. // ANSI-C conformance.)
  2068. //
  2069. // <sys/inttypes.h> Provides the Kernel and Driver appropriate
  2070. // components of <inttypes.h>.
  2071. //
  2072. // <inttypes.h> For use by applications.
  2073. //
  2074. // See these files for more details.
  2075. // DO NOT EDIT THIS FILE.
  2076. //
  2077. // It has been auto-edited by fixincludes from:
  2078. //
  2079. // "/usr/include/sys/feature_tests.h"
  2080. //
  2081. // This had to be done to correct non-standard usages in the
  2082. // original, manufacturer supplied header file.
  2083. // CDDL HEADER START
  2084. //
  2085. // The contents of this file are subject to the terms of the
  2086. // Common Development and Distribution License (the "License").
  2087. // You may not use this file except in compliance with the License.
  2088. //
  2089. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2090. // or http://www.opensolaris.org/os/licensing.
  2091. // See the License for the specific language governing permissions
  2092. // and limitations under the License.
  2093. //
  2094. // When distributing Covered Code, include this CDDL HEADER in each
  2095. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2096. // If applicable, add the following below this CDDL HEADER, with the
  2097. // fields enclosed by brackets "[]" replaced with your own identifying
  2098. // information: Portions Copyright [yyyy] [name of copyright owner]
  2099. //
  2100. // CDDL HEADER END
  2101. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2102. // Copyright 2016 Joyent, Inc.
  2103. // Copyright 2022 Oxide Computer Company
  2104. //
  2105. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2106. // Use is subject to license terms.
  2107. // Basic / Extended integer types
  2108. //
  2109. // The following defines the basic fixed-size integer types.
  2110. //
  2111. // Implementations are free to typedef them to Standard C integer types or
  2112. // extensions that they support. If an implementation does not support one
  2113. // of the particular integer data types below, then it should not define the
  2114. // typedefs and macros corresponding to that data type. Note that int8_t
  2115. // is not defined in -Xs mode on ISAs for which the ABI specifies "char"
  2116. // as an unsigned entity because there is no way to define an eight bit
  2117. // signed integral.
  2118. type Int8_t = int8 /* int_types.h:75:16 */
  2119. type Int16_t = int16 /* int_types.h:79:17 */
  2120. type Int32_t = int32 /* int_types.h:80:15 */
  2121. type Int64_t = int64 /* int_types.h:83:16 */
  2122. type Uint8_t = uint8 /* int_types.h:91:24 */
  2123. type Uint16_t = uint16 /* int_types.h:92:25 */
  2124. type Uint32_t = uint32 /* int_types.h:93:23 */
  2125. type Uint64_t = uint64 /* int_types.h:95:24 */
  2126. // intmax_t and uintmax_t are to be the longest (in number of bits) signed
  2127. // and unsigned integer types supported by the implementation.
  2128. type Intmax_t = int64 /* int_types.h:107:19 */
  2129. type Uintmax_t = uint64 /* int_types.h:108:19 */
  2130. // intptr_t and uintptr_t are signed and unsigned integer types large enough
  2131. // to hold any data pointer; that is, data pointers can be assigned into or
  2132. // from these integer types without losing precision.
  2133. type Intptr_t = int64 /* int_types.h:120:16 */
  2134. type Uintptr_t = uint64 /* int_types.h:121:24 */
  2135. // The following define the fastest integer types that can hold the
  2136. // specified number of bits.
  2137. type Int_fast8_t = int8 /* int_types.h:132:16 */
  2138. type Int_fast16_t = int32 /* int_types.h:136:15 */
  2139. type Int_fast32_t = int32 /* int_types.h:137:15 */
  2140. type Int_fast64_t = int64 /* int_types.h:139:16 */
  2141. type Uint_fast8_t = uint8 /* int_types.h:146:24 */
  2142. type Uint_fast16_t = uint32 /* int_types.h:147:23 */
  2143. type Uint_fast32_t = uint32 /* int_types.h:148:23 */
  2144. type Uint_fast64_t = uint64 /* int_types.h:150:24 */
  2145. // The following define the smallest integer types that can hold the
  2146. // specified number of bits.
  2147. type Int_least8_t = int8 /* int_types.h:162:16 */
  2148. type Int_least16_t = int16 /* int_types.h:166:17 */
  2149. type Int_least32_t = int32 /* int_types.h:167:15 */
  2150. type Int_least64_t = int64 /* int_types.h:169:16 */
  2151. // If these are changed, please update char16_t and char32_t in head/uchar.h.
  2152. type Uint_least8_t = uint8 /* int_types.h:179:24 */
  2153. type Uint_least16_t = uint16 /* int_types.h:180:25 */
  2154. type Uint_least32_t = uint32 /* int_types.h:181:23 */
  2155. type Uint_least64_t = uint64 /* int_types.h:183:24 */
  2156. // Strictly conforming ANSI C environments prior to the 1999
  2157. // revision of the C Standard (ISO/IEC 9899:1999) do not have
  2158. // the long long data type.
  2159. type Longlong_t = int64 /* types.h:72:20 */
  2160. type U_longlong_t = uint64 /* types.h:73:28 */
  2161. // These types (t_{u}scalar_t) exist because the XTI/TPI/DLPI standards had
  2162. // to use them instead of int32_t and uint32_t because DEC had
  2163. // shipped 64-bit wide.
  2164. type T_scalar_t = int32 /* types.h:92:18 */
  2165. type T_uscalar_t = uint32 /* types.h:93:18 */
  2166. // POSIX Extensions
  2167. type Uchar_t = uint8 /* types.h:102:23 */
  2168. type Ushort_t = uint16 /* types.h:103:24 */
  2169. type Uint_t = uint32 /* types.h:104:22 */
  2170. type Ulong_t = uint64 /* types.h:105:23 */
  2171. type Caddr_t = uintptr /* types.h:107:15 */ // ?<core address> type
  2172. type Daddr_t = int64 /* types.h:108:15 */ // <disk address> type
  2173. type Cnt_t = int16 /* types.h:109:16 */ // pointer difference
  2174. // VM-related types
  2175. type Pfn_t = uint64 /* types.h:123:18 */ // page frame number
  2176. type Pgcnt_t = uint64 /* types.h:124:18 */ // number of pages
  2177. type Spgcnt_t = int64 /* types.h:125:15 */ // signed number of pages
  2178. type Use_t = uint8 /* types.h:127:18 */ // use count for swap.
  2179. type Sysid_t = int16 /* types.h:128:16 */
  2180. type Index_t = int16 /* types.h:129:16 */
  2181. type Timeout_id_t = uintptr /* types.h:130:15 */ // opaque handle from timeout(9F)
  2182. type Bufcall_id_t = uintptr /* types.h:131:15 */ // opaque handle from bufcall(9F)
  2183. // The size of off_t and related types depends on the setting of
  2184. // _FILE_OFFSET_BITS. (Note that other system headers define other types
  2185. // related to those defined here.)
  2186. //
  2187. // If _LARGEFILE64_SOURCE is defined, variants of these types that are
  2188. // explicitly 64 bits wide become available.
  2189. type Off_t = int64 /* types.h:145:15 */ // offsets within files
  2190. type Off64_t = int64 /* types.h:152:16 */ // offsets within files
  2191. type Ino_t = uint64 /* types.h:161:18 */ // expanded inode type
  2192. type Blkcnt_t = int64 /* types.h:162:15 */ // count of file blocks
  2193. type Fsblkcnt_t = uint64 /* types.h:163:18 */ // count of file system blocks
  2194. type Fsfilcnt_t = uint64 /* types.h:164:18 */ // count of files
  2195. type Ino64_t = uint64 /* types.h:174:16 */ // expanded inode type
  2196. type Blkcnt64_t = int64 /* types.h:175:18 */ // count of file blocks
  2197. type Fsblkcnt64_t = uint64 /* types.h:176:20 */ // count of file system blocks
  2198. type Fsfilcnt64_t = uint64 /* types.h:177:20 */ // count of files
  2199. type Blksize_t = int32 /* types.h:187:14 */ // used for block sizes
  2200. // The boolean_t type has had a varied amount of exposure over the years in
  2201. // terms of how its enumeration constants have been exposed. In particular, it
  2202. // originally used the __XOPEN_OR_POSIX macro to determine whether to prefix the
  2203. // B_TRUE and B_FALSE with an underscore. This check never included the
  2204. // question of if we were in a strict ANSI C environment or whether extensions
  2205. // were defined.
  2206. //
  2207. // Compilers such as clang started defaulting to always including an
  2208. // XOPEN_SOURCE declaration on behalf of users, but also noted __EXTENSIONS__.
  2209. // This would lead most software that had used the non-underscore versions to
  2210. // need it. As such, we have adjusted the non-strict XOPEN environment to retain
  2211. // its old behavior so as to minimize namespace pollution; however, we instead
  2212. // include both variants of the definitions in the generally visible version
  2213. // allowing software written in either world to hopefully end up in a good
  2214. // place.
  2215. //
  2216. // This isn't perfect, but should hopefully minimize the pain for folks actually
  2217. // trying to build software.
  2218. type Boolean_t = uint32 /* types.h:215:69 */
  2219. // The {u,}pad64_t types can be used in structures such that those structures
  2220. // may be accessed by code produced by compilation environments which don't
  2221. // support a 64 bit integral datatype. The intention is not to allow
  2222. // use of these fields in such environments, but to maintain the alignment
  2223. // and offsets of the structure.
  2224. //
  2225. // Similar comments for {u,}pad128_t.
  2226. //
  2227. // Note that these types do NOT generate any stronger alignment constraints
  2228. // than those available in the underlying ABI. See <sys/isa_defs.h>
  2229. type Pad64_t = int64 /* types.h:240:18 */
  2230. type Upad64_t = uint64 /* types.h:241:18 */
  2231. type Pad128_t = struct {
  2232. F_q float64
  2233. F__ccgo_pad1 [8]byte
  2234. } /* types.h:257:3 */
  2235. type Upad128_t = struct {
  2236. F_q float64
  2237. F__ccgo_pad1 [8]byte
  2238. } /* types.h:262:3 */
  2239. type Offset_t = int64 /* types.h:264:20 */
  2240. type U_offset_t = uint64 /* types.h:265:22 */
  2241. type Len_t = uint64 /* types.h:266:22 */
  2242. type Diskaddr_t = uint64 /* types.h:267:22 */
  2243. // Definitions remaining from previous partial support for 64-bit file
  2244. // offsets. This partial support for devices greater than 2gb requires
  2245. // compiler support for long long.
  2246. type Lloff_t = struct{ F_f int64 } /* types.h:284:3 */
  2247. type Lldaddr_t = struct{ F_f int64 } /* types.h:304:3 */
  2248. type K_fltset_t = uint32 /* types.h:317:16 */ // kernel fault set type
  2249. // The following type is for various kinds of identifiers. The
  2250. // actual type must be the same for all since some system calls
  2251. // (such as sigsend) take arguments that may be any of these
  2252. // types. The enumeration type idtype_t defined in sys/procset.h
  2253. // is used to indicate what type of id is being specified --
  2254. // a process id, process group id, session id, scheduling class id,
  2255. // user id, group id, project id, task id or zone id.
  2256. type Id_t = int32 /* types.h:329:14 */
  2257. type Lgrp_id_t = int32 /* types.h:334:15 */ // lgroup ID
  2258. // Type useconds_t is an unsigned integral type capable of storing
  2259. // values at least in the range of zero to 1,000,000.
  2260. type Useconds_t = uint32 /* types.h:340:17 */ // Time, in microseconds
  2261. type Suseconds_t = int64 /* types.h:344:14 */ // signed # of microseconds
  2262. // Typedefs for dev_t components.
  2263. type Major_t = uint32 /* types.h:351:16 */ // major part of device number
  2264. type Minor_t = uint32 /* types.h:352:16 */ // minor part of device number
  2265. // The data type of a thread priority.
  2266. type Pri_t = int16 /* types.h:361:15 */
  2267. // The data type for a CPU flags field. (Can be extended to larger unsigned
  2268. // types, if needed, limited by ability to update atomically.)
  2269. type Cpu_flag_t = uint16 /* types.h:367:18 */
  2270. // For compatibility reasons the following typedefs (prefixed o_)
  2271. // can't grow regardless of the EFT definition. Although,
  2272. // applications should not explicitly use these typedefs
  2273. // they may be included via a system header definition.
  2274. // WARNING: These typedefs may be removed in a future
  2275. // release.
  2276. //
  2277. // ex. the definitions in s5inode.h (now obsoleted)
  2278. // remained small to preserve compatibility
  2279. // in the S5 file system type.
  2280. type O_mode_t = uint16 /* types.h:380:18 */ // old file attribute type
  2281. type O_dev_t = int16 /* types.h:381:15 */ // old device type
  2282. type O_uid_t = uint16 /* types.h:382:18 */ // old UID type
  2283. type O_gid_t = uint16 /* types.h:383:17 */ // old GID type
  2284. type O_nlink_t = int16 /* types.h:384:15 */ // old file link type
  2285. type O_pid_t = int16 /* types.h:385:15 */ // old process id type
  2286. type O_ino_t = uint16 /* types.h:386:18 */ // old inode type
  2287. // POSIX and XOPEN Declarations
  2288. type Key_t = int32 /* types.h:392:13 */ // IPC key type
  2289. type Mode_t = uint32 /* types.h:394:16 */ // file attribute type
  2290. type Uid_t = uint32 /* types.h:401:22 */ // UID type
  2291. type Gid_t = uint32 /* types.h:404:15 */ // GID type
  2292. type Datalink_id_t = uint32 /* types.h:406:18 */
  2293. type Vrid_t = uint32 /* types.h:407:18 */
  2294. type Taskid_t = int32 /* types.h:409:17 */
  2295. type Projid_t = int32 /* types.h:410:17 */
  2296. type Poolid_t = int32 /* types.h:411:14 */
  2297. type Zoneid_t = int32 /* types.h:412:14 */
  2298. type Ctid_t = int32 /* types.h:413:14 */
  2299. // POSIX definitions are same as defined in thread.h and synch.h.
  2300. // Any changes made to here should be reflected in corresponding
  2301. // files as described in comments.
  2302. type Pthread_t = uint32 /* types.h:420:16 */ // = thread_t in thread.h
  2303. type Pthread_key_t = uint32 /* types.h:421:16 */ // = thread_key_t in thread.h
  2304. // "Magic numbers" tagging synchronization object types
  2305. type X_pthread_mutex = struct {
  2306. F__pthread_mutex_flags struct {
  2307. F__pthread_mutex_flag1 uint16
  2308. F__pthread_mutex_flag2 uint8
  2309. F__pthread_mutex_ceiling uint8
  2310. F__pthread_mutex_type uint16
  2311. F__pthread_mutex_magic uint16
  2312. }
  2313. F__pthread_mutex_lock struct {
  2314. F__ccgo_pad1 [0]uint64
  2315. F__pthread_mutex_lock64 struct{ F__pthread_mutex_pad [8]uint8 }
  2316. }
  2317. F__pthread_mutex_data uint64
  2318. } /* types.h:429:9 */
  2319. // = thread_key_t in thread.h
  2320. // "Magic numbers" tagging synchronization object types
  2321. type Pthread_mutex_t = X_pthread_mutex /* types.h:448:3 */
  2322. type X_pthread_cond = struct {
  2323. F__pthread_cond_flags struct {
  2324. F__pthread_cond_flag [4]uint8
  2325. F__pthread_cond_type uint16
  2326. F__pthread_cond_magic uint16
  2327. }
  2328. F__pthread_cond_data uint64
  2329. } /* types.h:450:9 */
  2330. type Pthread_cond_t = X_pthread_cond /* types.h:457:3 */
  2331. // UNIX 98 Extension
  2332. type X_pthread_rwlock = struct {
  2333. F__pthread_rwlock_readers int32
  2334. F__pthread_rwlock_type uint16
  2335. F__pthread_rwlock_magic uint16
  2336. F__pthread_rwlock_mutex Pthread_mutex_t
  2337. F__pthread_rwlock_readercv Pthread_cond_t
  2338. F__pthread_rwlock_writercv Pthread_cond_t
  2339. } /* types.h:462:9 */
  2340. // UNIX 98 Extension
  2341. type Pthread_rwlock_t = X_pthread_rwlock /* types.h:469:3 */
  2342. // SUSV3
  2343. type Pthread_barrier_t = struct {
  2344. F__pthread_barrier_count uint32
  2345. F__pthread_barrier_current uint32
  2346. F__pthread_barrier_cycle uint64
  2347. F__pthread_barrier_reserved uint64
  2348. F__pthread_barrier_lock Pthread_mutex_t
  2349. F__pthread_barrier_cond Pthread_cond_t
  2350. } /* types.h:481:3 */
  2351. type Pthread_spinlock_t = Pthread_mutex_t /* types.h:483:25 */
  2352. // attributes for threads, dynamically allocated by library
  2353. type X_pthread_attr = struct{ F__pthread_attrp uintptr } /* types.h:488:9 */
  2354. // attributes for threads, dynamically allocated by library
  2355. type Pthread_attr_t = X_pthread_attr /* types.h:490:3 */
  2356. // attributes for mutex, dynamically allocated by library
  2357. type X_pthread_mutexattr = struct{ F__pthread_mutexattrp uintptr } /* types.h:495:9 */
  2358. // attributes for mutex, dynamically allocated by library
  2359. type Pthread_mutexattr_t = X_pthread_mutexattr /* types.h:497:3 */
  2360. // attributes for cond, dynamically allocated by library
  2361. type X_pthread_condattr = struct{ F__pthread_condattrp uintptr } /* types.h:502:9 */
  2362. // attributes for cond, dynamically allocated by library
  2363. type Pthread_condattr_t = X_pthread_condattr /* types.h:504:3 */
  2364. // pthread_once
  2365. type X_once = struct{ F__pthread_once_pad [4]uint64 } /* types.h:509:9 */
  2366. // pthread_once
  2367. type Pthread_once_t = X_once /* types.h:511:3 */
  2368. // UNIX 98 Extensions
  2369. // attributes for rwlock, dynamically allocated by library
  2370. type X_pthread_rwlockattr = struct{ F__pthread_rwlockattrp uintptr } /* types.h:517:9 */
  2371. // UNIX 98 Extensions
  2372. // attributes for rwlock, dynamically allocated by library
  2373. type Pthread_rwlockattr_t = X_pthread_rwlockattr /* types.h:519:3 */
  2374. // SUSV3
  2375. // attributes for pthread_barrier_t, dynamically allocated by library
  2376. type Pthread_barrierattr_t = struct{ F__pthread_barrierattrp uintptr } /* types.h:527:3 */
  2377. type Dev_t = uint64 /* types.h:529:17 */ // expanded device type
  2378. type Nlink_t = uint32 /* types.h:532:16 */ // file link type
  2379. type Pid_t = int32 /* types.h:533:13 */ // size of something in bytes
  2380. type Ssize_t = int64 /* types.h:551:14 */ // size of something in bytes or -1
  2381. type Time_t = int64 /* types.h:559:15 */ // time of day in seconds
  2382. type Clock_t = int64 /* types.h:564:15 */ // relative time in a specified resolution
  2383. type Clockid_t = int32 /* types.h:569:13 */ // clock identifier type
  2384. type Timer_t = int32 /* types.h:574:13 */ // timer identifier type
  2385. // BEGIN CSTYLED
  2386. type Unchar = uint8 /* types.h:580:23 */
  2387. type Ushort = uint16 /* types.h:581:24 */
  2388. type Uint = uint32 /* types.h:582:22 */
  2389. type Ulong = uint64 /* types.h:583:23 */
  2390. // END CSTYLED
  2391. // The following is the value of type id_t to use to indicate the
  2392. // caller's current id. See procset.h for the type idtype_t
  2393. // which defines which kind of id is being specified.
  2394. // The following value of type pfn_t is used to indicate
  2395. // invalid page frame number.
  2396. // BEGIN CSTYLED
  2397. type U_char = uint8 /* types.h:650:23 */
  2398. type U_short = uint16 /* types.h:651:24 */
  2399. type U_int = uint32 /* types.h:652:22 */
  2400. type U_long = uint64 /* types.h:653:23 */
  2401. type X_quad = struct{ Fval [2]int32 } /* types.h:654:9 */
  2402. type Quad_t = X_quad /* types.h:654:38 */ // used by UFS
  2403. type Quad = Quad_t /* types.h:655:17 */ // used by UFS
  2404. // END CSTYLED
  2405. // Nested include for BSD/sockets source compatibility.
  2406. // (The select macros used to be defined here).
  2407. // CDDL HEADER START
  2408. //
  2409. // The contents of this file are subject to the terms of the
  2410. // Common Development and Distribution License (the "License").
  2411. // You may not use this file except in compliance with the License.
  2412. //
  2413. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2414. // or http://www.opensolaris.org/os/licensing.
  2415. // See the License for the specific language governing permissions
  2416. // and limitations under the License.
  2417. //
  2418. // When distributing Covered Code, include this CDDL HEADER in each
  2419. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2420. // If applicable, add the following below this CDDL HEADER, with the
  2421. // fields enclosed by brackets "[]" replaced with your own identifying
  2422. // information: Portions Copyright [yyyy] [name of copyright owner]
  2423. //
  2424. // CDDL HEADER END
  2425. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  2426. //
  2427. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  2428. //
  2429. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  2430. // Use is subject to license terms.
  2431. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  2432. // All Rights Reserved
  2433. // University Copyright- Copyright (c) 1982, 1986, 1988
  2434. // The Regents of the University of California
  2435. // All Rights Reserved
  2436. //
  2437. // University Acknowledgment- Portions of this document are derived from
  2438. // software developed by the University of California, Berkeley, and its
  2439. // contributors.
  2440. // DO NOT EDIT THIS FILE.
  2441. //
  2442. // It has been auto-edited by fixincludes from:
  2443. //
  2444. // "/usr/include/sys/feature_tests.h"
  2445. //
  2446. // This had to be done to correct non-standard usages in the
  2447. // original, manufacturer supplied header file.
  2448. // CDDL HEADER START
  2449. //
  2450. // The contents of this file are subject to the terms of the
  2451. // Common Development and Distribution License (the "License").
  2452. // You may not use this file except in compliance with the License.
  2453. //
  2454. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2455. // or http://www.opensolaris.org/os/licensing.
  2456. // See the License for the specific language governing permissions
  2457. // and limitations under the License.
  2458. //
  2459. // When distributing Covered Code, include this CDDL HEADER in each
  2460. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2461. // If applicable, add the following below this CDDL HEADER, with the
  2462. // fields enclosed by brackets "[]" replaced with your own identifying
  2463. // information: Portions Copyright [yyyy] [name of copyright owner]
  2464. //
  2465. // CDDL HEADER END
  2466. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2467. // Copyright 2016 Joyent, Inc.
  2468. // Copyright 2022 Oxide Computer Company
  2469. //
  2470. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2471. // Use is subject to license terms.
  2472. // CDDL HEADER START
  2473. //
  2474. // The contents of this file are subject to the terms of the
  2475. // Common Development and Distribution License, Version 1.0 only
  2476. // (the "License"). You may not use this file except in compliance
  2477. // with the License.
  2478. //
  2479. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2480. // or http://www.opensolaris.org/os/licensing.
  2481. // See the License for the specific language governing permissions
  2482. // and limitations under the License.
  2483. //
  2484. // When distributing Covered Code, include this CDDL HEADER in each
  2485. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2486. // If applicable, add the following below this CDDL HEADER, with the
  2487. // fields enclosed by brackets "[]" replaced with your own identifying
  2488. // information: Portions Copyright [yyyy] [name of copyright owner]
  2489. //
  2490. // CDDL HEADER END
  2491. // Copyright 2005 Sun Microsystems, Inc. All rights reserved.
  2492. // Use is subject to license terms.
  2493. // Implementation-private. This header should not be included
  2494. // directly by an application. The application should instead
  2495. // include <time.h> which includes this header conditionally
  2496. // depending on which feature test macros are defined. By default,
  2497. // this header is included by <time.h>. X/Open and POSIX
  2498. // standards requirements result in this header being included
  2499. // by <time.h> only under a restricted set of conditions.
  2500. // DO NOT EDIT THIS FILE.
  2501. //
  2502. // It has been auto-edited by fixincludes from:
  2503. //
  2504. // "/usr/include/sys/feature_tests.h"
  2505. //
  2506. // This had to be done to correct non-standard usages in the
  2507. // original, manufacturer supplied header file.
  2508. // CDDL HEADER START
  2509. //
  2510. // The contents of this file are subject to the terms of the
  2511. // Common Development and Distribution License (the "License").
  2512. // You may not use this file except in compliance with the License.
  2513. //
  2514. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2515. // or http://www.opensolaris.org/os/licensing.
  2516. // See the License for the specific language governing permissions
  2517. // and limitations under the License.
  2518. //
  2519. // When distributing Covered Code, include this CDDL HEADER in each
  2520. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2521. // If applicable, add the following below this CDDL HEADER, with the
  2522. // fields enclosed by brackets "[]" replaced with your own identifying
  2523. // information: Portions Copyright [yyyy] [name of copyright owner]
  2524. //
  2525. // CDDL HEADER END
  2526. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2527. // Copyright 2016 Joyent, Inc.
  2528. // Copyright 2022 Oxide Computer Company
  2529. //
  2530. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2531. // Use is subject to license terms.
  2532. // Time expressed in seconds and nanoseconds
  2533. type Timespec = struct {
  2534. Ftv_sec int64
  2535. Ftv_nsec int64
  2536. } /* time_impl.h:57:9 */
  2537. // used by UFS
  2538. // END CSTYLED
  2539. // Nested include for BSD/sockets source compatibility.
  2540. // (The select macros used to be defined here).
  2541. // CDDL HEADER START
  2542. //
  2543. // The contents of this file are subject to the terms of the
  2544. // Common Development and Distribution License (the "License").
  2545. // You may not use this file except in compliance with the License.
  2546. //
  2547. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2548. // or http://www.opensolaris.org/os/licensing.
  2549. // See the License for the specific language governing permissions
  2550. // and limitations under the License.
  2551. //
  2552. // When distributing Covered Code, include this CDDL HEADER in each
  2553. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2554. // If applicable, add the following below this CDDL HEADER, with the
  2555. // fields enclosed by brackets "[]" replaced with your own identifying
  2556. // information: Portions Copyright [yyyy] [name of copyright owner]
  2557. //
  2558. // CDDL HEADER END
  2559. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  2560. //
  2561. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  2562. //
  2563. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  2564. // Use is subject to license terms.
  2565. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  2566. // All Rights Reserved
  2567. // University Copyright- Copyright (c) 1982, 1986, 1988
  2568. // The Regents of the University of California
  2569. // All Rights Reserved
  2570. //
  2571. // University Acknowledgment- Portions of this document are derived from
  2572. // software developed by the University of California, Berkeley, and its
  2573. // contributors.
  2574. // DO NOT EDIT THIS FILE.
  2575. //
  2576. // It has been auto-edited by fixincludes from:
  2577. //
  2578. // "/usr/include/sys/feature_tests.h"
  2579. //
  2580. // This had to be done to correct non-standard usages in the
  2581. // original, manufacturer supplied header file.
  2582. // CDDL HEADER START
  2583. //
  2584. // The contents of this file are subject to the terms of the
  2585. // Common Development and Distribution License (the "License").
  2586. // You may not use this file except in compliance with the License.
  2587. //
  2588. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2589. // or http://www.opensolaris.org/os/licensing.
  2590. // See the License for the specific language governing permissions
  2591. // and limitations under the License.
  2592. //
  2593. // When distributing Covered Code, include this CDDL HEADER in each
  2594. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2595. // If applicable, add the following below this CDDL HEADER, with the
  2596. // fields enclosed by brackets "[]" replaced with your own identifying
  2597. // information: Portions Copyright [yyyy] [name of copyright owner]
  2598. //
  2599. // CDDL HEADER END
  2600. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2601. // Copyright 2016 Joyent, Inc.
  2602. // Copyright 2022 Oxide Computer Company
  2603. //
  2604. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2605. // Use is subject to license terms.
  2606. // CDDL HEADER START
  2607. //
  2608. // The contents of this file are subject to the terms of the
  2609. // Common Development and Distribution License, Version 1.0 only
  2610. // (the "License"). You may not use this file except in compliance
  2611. // with the License.
  2612. //
  2613. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2614. // or http://www.opensolaris.org/os/licensing.
  2615. // See the License for the specific language governing permissions
  2616. // and limitations under the License.
  2617. //
  2618. // When distributing Covered Code, include this CDDL HEADER in each
  2619. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2620. // If applicable, add the following below this CDDL HEADER, with the
  2621. // fields enclosed by brackets "[]" replaced with your own identifying
  2622. // information: Portions Copyright [yyyy] [name of copyright owner]
  2623. //
  2624. // CDDL HEADER END
  2625. // Copyright 2005 Sun Microsystems, Inc. All rights reserved.
  2626. // Use is subject to license terms.
  2627. // Implementation-private. This header should not be included
  2628. // directly by an application. The application should instead
  2629. // include <time.h> which includes this header conditionally
  2630. // depending on which feature test macros are defined. By default,
  2631. // this header is included by <time.h>. X/Open and POSIX
  2632. // standards requirements result in this header being included
  2633. // by <time.h> only under a restricted set of conditions.
  2634. // DO NOT EDIT THIS FILE.
  2635. //
  2636. // It has been auto-edited by fixincludes from:
  2637. //
  2638. // "/usr/include/sys/feature_tests.h"
  2639. //
  2640. // This had to be done to correct non-standard usages in the
  2641. // original, manufacturer supplied header file.
  2642. // CDDL HEADER START
  2643. //
  2644. // The contents of this file are subject to the terms of the
  2645. // Common Development and Distribution License (the "License").
  2646. // You may not use this file except in compliance with the License.
  2647. //
  2648. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2649. // or http://www.opensolaris.org/os/licensing.
  2650. // See the License for the specific language governing permissions
  2651. // and limitations under the License.
  2652. //
  2653. // When distributing Covered Code, include this CDDL HEADER in each
  2654. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2655. // If applicable, add the following below this CDDL HEADER, with the
  2656. // fields enclosed by brackets "[]" replaced with your own identifying
  2657. // information: Portions Copyright [yyyy] [name of copyright owner]
  2658. //
  2659. // CDDL HEADER END
  2660. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2661. // Copyright 2016 Joyent, Inc.
  2662. // Copyright 2022 Oxide Computer Company
  2663. //
  2664. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2665. // Use is subject to license terms.
  2666. // Time expressed in seconds and nanoseconds
  2667. type Timespec_t = Timespec /* time_impl.h:60:3 */
  2668. type Timestruc_t = Timespec /* time_impl.h:81:25 */ // definition per SVr4
  2669. // The following has been left in for backward compatibility. Portable
  2670. // applications should not use the structure name timestruc.
  2671. // Timer specification
  2672. type Itimerspec = struct {
  2673. Fit_interval struct {
  2674. Ftv_sec int64
  2675. Ftv_nsec int64
  2676. }
  2677. Fit_value struct {
  2678. Ftv_sec int64
  2679. Ftv_nsec int64
  2680. }
  2681. } /* time_impl.h:95:9 */
  2682. // definition per SVr4
  2683. // The following has been left in for backward compatibility. Portable
  2684. // applications should not use the structure name timestruc.
  2685. // Timer specification
  2686. type Itimerspec_t = Itimerspec /* time_impl.h:98:3 */
  2687. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  2688. // All Rights Reserved
  2689. // Copyright (c) 1982, 1986, 1993 Regents of the University of California.
  2690. // All rights reserved. The Berkeley software License Agreement
  2691. // specifies the terms and conditions for redistribution.
  2692. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  2693. //
  2694. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  2695. // Use is subject to license terms.
  2696. //
  2697. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  2698. // Copyright 2016 Joyent, Inc.
  2699. // Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
  2700. // Copyright (c) 2013, 2016 by Delphix. All rights reserved.
  2701. // DO NOT EDIT THIS FILE.
  2702. //
  2703. // It has been auto-edited by fixincludes from:
  2704. //
  2705. // "/usr/include/sys/feature_tests.h"
  2706. //
  2707. // This had to be done to correct non-standard usages in the
  2708. // original, manufacturer supplied header file.
  2709. // CDDL HEADER START
  2710. //
  2711. // The contents of this file are subject to the terms of the
  2712. // Common Development and Distribution License (the "License").
  2713. // You may not use this file except in compliance with the License.
  2714. //
  2715. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2716. // or http://www.opensolaris.org/os/licensing.
  2717. // See the License for the specific language governing permissions
  2718. // and limitations under the License.
  2719. //
  2720. // When distributing Covered Code, include this CDDL HEADER in each
  2721. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2722. // If applicable, add the following below this CDDL HEADER, with the
  2723. // fields enclosed by brackets "[]" replaced with your own identifying
  2724. // information: Portions Copyright [yyyy] [name of copyright owner]
  2725. //
  2726. // CDDL HEADER END
  2727. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2728. // Copyright 2016 Joyent, Inc.
  2729. // Copyright 2022 Oxide Computer Company
  2730. //
  2731. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2732. // Use is subject to license terms.
  2733. // Structure returned by gettimeofday(2) system call,
  2734. // and used in other calls.
  2735. type Timeval = struct {
  2736. Ftv_sec int64
  2737. Ftv_usec int64
  2738. } /* time.h:54:1 */
  2739. type Timezone = struct {
  2740. Ftz_minuteswest int32
  2741. Ftz_dsttime int32
  2742. } /* time.h:86:1 */
  2743. // Needed for longlong_t type. Placement of this due to <sys/types.h>
  2744. // including <sys/select.h> which relies on the presense of the itimerval
  2745. // structure.
  2746. // CDDL HEADER START
  2747. //
  2748. // The contents of this file are subject to the terms of the
  2749. // Common Development and Distribution License (the "License").
  2750. // You may not use this file except in compliance with the License.
  2751. //
  2752. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2753. // or http://www.opensolaris.org/os/licensing.
  2754. // See the License for the specific language governing permissions
  2755. // and limitations under the License.
  2756. //
  2757. // When distributing Covered Code, include this CDDL HEADER in each
  2758. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2759. // If applicable, add the following below this CDDL HEADER, with the
  2760. // fields enclosed by brackets "[]" replaced with your own identifying
  2761. // information: Portions Copyright [yyyy] [name of copyright owner]
  2762. //
  2763. // CDDL HEADER END
  2764. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  2765. // All Rights Reserved
  2766. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  2767. // Use is subject to license terms.
  2768. //
  2769. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  2770. // Copyright 2016 Joyent, Inc.
  2771. // Copyright 2021 Oxide Computer Company
  2772. // Operations on timevals.
  2773. // Names of the interval timers, and structure
  2774. // defining a timer setting.
  2775. // time and when system is running on
  2776. // behalf of the process.
  2777. // time profiling of multithreaded
  2778. // programs.
  2779. type Itimerval = struct {
  2780. Fit_interval struct {
  2781. Ftv_sec int64
  2782. Ftv_usec int64
  2783. }
  2784. Fit_value struct {
  2785. Ftv_sec int64
  2786. Ftv_usec int64
  2787. }
  2788. } /* time.h:209:1 */
  2789. // Definitions for commonly used resolutions.
  2790. // Time expressed as a 64-bit nanosecond counter.
  2791. type Hrtime_t = int64 /* time.h:265:20 */
  2792. // The inclusion of <time.h> is historical and was added for
  2793. // backward compatibility in delta 1.2 when a number of definitions
  2794. // were moved out of <sys/time.h>. More recently, the timespec and
  2795. // itimerspec structure definitions, along with the _CLOCK_*, CLOCK_*,
  2796. // _TIMER_*, and TIMER_* symbols were moved to <sys/time_impl.h>,
  2797. // which is now included by <time.h>. This change was due to POSIX
  2798. // 1003.1b-1993 and X/Open UNIX 98 requirements. For non-POSIX and
  2799. // non-X/Open applications, including this header will still make
  2800. // visible these definitions.
  2801. // CDDL HEADER START
  2802. //
  2803. // The contents of this file are subject to the terms of the
  2804. // Common Development and Distribution License (the "License").
  2805. // You may not use this file except in compliance with the License.
  2806. //
  2807. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2808. // or http://www.opensolaris.org/os/licensing.
  2809. // See the License for the specific language governing permissions
  2810. // and limitations under the License.
  2811. //
  2812. // When distributing Covered Code, include this CDDL HEADER in each
  2813. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2814. // If applicable, add the following below this CDDL HEADER, with the
  2815. // fields enclosed by brackets "[]" replaced with your own identifying
  2816. // information: Portions Copyright [yyyy] [name of copyright owner]
  2817. //
  2818. // CDDL HEADER END
  2819. // Copyright (c) 1988 AT&T
  2820. // All Rights Reserved
  2821. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  2822. //
  2823. // Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  2824. // Use is subject to license terms.
  2825. // Copyright 2010 Nexenta Systems, Inc. Al rights reserved.
  2826. // Copyright 2016 Joyent, Inc.
  2827. // DO NOT EDIT THIS FILE.
  2828. //
  2829. // It has been auto-edited by fixincludes from:
  2830. //
  2831. // "/usr/include/sys/feature_tests.h"
  2832. //
  2833. // This had to be done to correct non-standard usages in the
  2834. // original, manufacturer supplied header file.
  2835. // CDDL HEADER START
  2836. //
  2837. // The contents of this file are subject to the terms of the
  2838. // Common Development and Distribution License (the "License").
  2839. // You may not use this file except in compliance with the License.
  2840. //
  2841. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2842. // or http://www.opensolaris.org/os/licensing.
  2843. // See the License for the specific language governing permissions
  2844. // and limitations under the License.
  2845. //
  2846. // When distributing Covered Code, include this CDDL HEADER in each
  2847. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2848. // If applicable, add the following below this CDDL HEADER, with the
  2849. // fields enclosed by brackets "[]" replaced with your own identifying
  2850. // information: Portions Copyright [yyyy] [name of copyright owner]
  2851. //
  2852. // CDDL HEADER END
  2853. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2854. // Copyright 2016 Joyent, Inc.
  2855. // Copyright 2022 Oxide Computer Company
  2856. //
  2857. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2858. // Use is subject to license terms.
  2859. // CDDL HEADER START
  2860. //
  2861. // The contents of this file are subject to the terms of the
  2862. // Common Development and Distribution License, Version 1.0 only
  2863. // (the "License"). You may not use this file except in compliance
  2864. // with the License.
  2865. //
  2866. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2867. // or http://www.opensolaris.org/os/licensing.
  2868. // See the License for the specific language governing permissions
  2869. // and limitations under the License.
  2870. //
  2871. // When distributing Covered Code, include this CDDL HEADER in each
  2872. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2873. // If applicable, add the following below this CDDL HEADER, with the
  2874. // fields enclosed by brackets "[]" replaced with your own identifying
  2875. // information: Portions Copyright [yyyy] [name of copyright owner]
  2876. //
  2877. // CDDL HEADER END
  2878. // Copyright (c) 1988 AT&T
  2879. // All Rights Reserved
  2880. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  2881. // Copyright 2014 PALO, Richard.
  2882. //
  2883. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  2884. // Use is subject to license terms.
  2885. // An application should not include this header directly. Instead it
  2886. // should be included only through the inclusion of other Sun headers.
  2887. //
  2888. // The contents of this header is limited to identifiers specified in the
  2889. // C Standard. Any new identifiers specified in future amendments to the
  2890. // C Standard must be placed in this header. If these new identifiers
  2891. // are required to also be in the C++ Standard "std" namespace, then for
  2892. // anything other than macro definitions, corresponding "using" directives
  2893. // must also be added to <time.h.h>.
  2894. // DO NOT EDIT THIS FILE.
  2895. //
  2896. // It has been auto-edited by fixincludes from:
  2897. //
  2898. // "/usr/include/sys/feature_tests.h"
  2899. //
  2900. // This had to be done to correct non-standard usages in the
  2901. // original, manufacturer supplied header file.
  2902. // CDDL HEADER START
  2903. //
  2904. // The contents of this file are subject to the terms of the
  2905. // Common Development and Distribution License (the "License").
  2906. // You may not use this file except in compliance with the License.
  2907. //
  2908. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2909. // or http://www.opensolaris.org/os/licensing.
  2910. // See the License for the specific language governing permissions
  2911. // and limitations under the License.
  2912. //
  2913. // When distributing Covered Code, include this CDDL HEADER in each
  2914. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2915. // If applicable, add the following below this CDDL HEADER, with the
  2916. // fields enclosed by brackets "[]" replaced with your own identifying
  2917. // information: Portions Copyright [yyyy] [name of copyright owner]
  2918. //
  2919. // CDDL HEADER END
  2920. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2921. // Copyright 2016 Joyent, Inc.
  2922. // Copyright 2022 Oxide Computer Company
  2923. //
  2924. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2925. // Use is subject to license terms.
  2926. // This file and its contents are supplied under the terms of the
  2927. // Common Development and Distribution License ("CDDL"), version 1.0.
  2928. // You may only use this file in accordance with the terms of version
  2929. // 1.0 of the CDDL.
  2930. //
  2931. // A full copy of the text of the CDDL should have accompanied this
  2932. // source. A copy of the CDDL is also available via the Internet at
  2933. // http://www.illumos.org/license/CDDL.
  2934. // Copyright 2014-2016 PALO, Richard.
  2935. // DO NOT EDIT THIS FILE.
  2936. //
  2937. // It has been auto-edited by fixincludes from:
  2938. //
  2939. // "/usr/include/sys/feature_tests.h"
  2940. //
  2941. // This had to be done to correct non-standard usages in the
  2942. // original, manufacturer supplied header file.
  2943. // CDDL HEADER START
  2944. //
  2945. // The contents of this file are subject to the terms of the
  2946. // Common Development and Distribution License (the "License").
  2947. // You may not use this file except in compliance with the License.
  2948. //
  2949. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  2950. // or http://www.opensolaris.org/os/licensing.
  2951. // See the License for the specific language governing permissions
  2952. // and limitations under the License.
  2953. //
  2954. // When distributing Covered Code, include this CDDL HEADER in each
  2955. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  2956. // If applicable, add the following below this CDDL HEADER, with the
  2957. // fields enclosed by brackets "[]" replaced with your own identifying
  2958. // information: Portions Copyright [yyyy] [name of copyright owner]
  2959. //
  2960. // CDDL HEADER END
  2961. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  2962. // Copyright 2016 Joyent, Inc.
  2963. // Copyright 2022 Oxide Computer Company
  2964. //
  2965. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  2966. // Use is subject to license terms.
  2967. // POSIX.1-2008 requires that the NULL macro be cast to type void *.
  2968. type Tm = struct {
  2969. Ftm_sec int32
  2970. Ftm_min int32
  2971. Ftm_hour int32
  2972. Ftm_mday int32
  2973. Ftm_mon int32
  2974. Ftm_year int32
  2975. Ftm_wday int32
  2976. Ftm_yday int32
  2977. Ftm_isdst int32
  2978. } /* time_iso.h:80:1 */
  2979. // Neither X/Open nor POSIX allow the inclusion of <signal.h> for the
  2980. // definition of the sigevent structure. Both require the inclusion
  2981. // of <signal.h> and <time.h> when using the timer_create() function.
  2982. // However, X/Open also specifies that the sigevent structure be defined
  2983. // in <time.h> as described in the header <signal.h>. This prevents
  2984. // compiler warnings for applications that only include <time.h> and not
  2985. // also <signal.h>. The sigval union and the sigevent structure is
  2986. // therefore defined both here and in <sys/siginfo.h> which gets included
  2987. // via inclusion of <signal.h>.
  2988. type Sigval = struct {
  2989. F__ccgo_pad1 [0]uint64
  2990. Fsival_int int32
  2991. F__ccgo_pad2 [4]byte
  2992. } /* time.h:125:1 */
  2993. type Sigevent = struct {
  2994. Fsigev_notify int32
  2995. Fsigev_signo int32
  2996. Fsigev_value struct {
  2997. F__ccgo_pad1 [0]uint64
  2998. Fsival_int int32
  2999. F__ccgo_pad2 [4]byte
  3000. }
  3001. Fsigev_notify_function uintptr
  3002. Fsigev_notify_attributes uintptr
  3003. F__sigev_pad2 int32
  3004. F__ccgo_pad1 [4]byte
  3005. } /* time.h:133:1 */
  3006. type Locale_t = uintptr /* time.h:292:24 */
  3007. // The inclusion of <sys/select.h> is needed for the FD_CLR,
  3008. // FD_ISSET, FD_SET, and FD_SETSIZE macros as well as the
  3009. // select() prototype defined in the XOpen specifications
  3010. // beginning with XSH4v2. Placement required after definition
  3011. // for itimerval.
  3012. // CDDL HEADER START
  3013. //
  3014. // The contents of this file are subject to the terms of the
  3015. // Common Development and Distribution License (the "License").
  3016. // You may not use this file except in compliance with the License.
  3017. //
  3018. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3019. // or http://www.opensolaris.org/os/licensing.
  3020. // See the License for the specific language governing permissions
  3021. // and limitations under the License.
  3022. //
  3023. // When distributing Covered Code, include this CDDL HEADER in each
  3024. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3025. // If applicable, add the following below this CDDL HEADER, with the
  3026. // fields enclosed by brackets "[]" replaced with your own identifying
  3027. // information: Portions Copyright [yyyy] [name of copyright owner]
  3028. //
  3029. // CDDL HEADER END
  3030. // Copyright 2014 Garrett D'Amore <garrett@damore.org>
  3031. //
  3032. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  3033. //
  3034. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  3035. // Use is subject to license terms.
  3036. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3037. // All Rights Reserved
  3038. // University Copyright- Copyright (c) 1982, 1986, 1988
  3039. // The Regents of the University of California
  3040. // All Rights Reserved
  3041. //
  3042. // University Acknowledgment- Portions of this document are derived from
  3043. // software developed by the University of California, Berkeley, and its
  3044. // contributors.
  3045. // The sigset_t type is defined in <sys/signal.h> and duplicated
  3046. // in <sys/ucontext.h> as a result of XPG4v2 requirements. XPG6
  3047. // now allows the visibility of signal.h in this header, however
  3048. // an order of inclusion problem occurs as a result of inclusion
  3049. // of <sys/select.h> in <signal.h> under certain conditions.
  3050. // Rather than include <sys/signal.h> here, we've duplicated
  3051. // the sigset_t type instead. This type is required for the XPG6
  3052. // introduced pselect() function also declared in this header.
  3053. type Sigset_t = struct{ F__sigbits [4]uint32 } /* select.h:76:3 */
  3054. // Select uses bit masks of file descriptors in longs.
  3055. // These macros manipulate such bit fields.
  3056. // FD_SETSIZE may be defined by the user, but the default here
  3057. // should be >= RLIM_FD_MAX.
  3058. type Fd_mask = int64 /* select.h:92:14 */
  3059. type Fds_mask = int64 /* select.h:94:14 */
  3060. // The value of _NBBY needs to be consistant with the value
  3061. // of NBBY in <sys/param.h>.
  3062. type Fd_set1 = struct{ Ffds_bits [1024]int64 } /* select.h:120:9 */
  3063. // The value of _NBBY needs to be consistant with the value
  3064. // of NBBY in <sys/param.h>.
  3065. type Fd_set = Fd_set1 /* select.h:125:3 */ // System Private interface to sysconf()
  3066. type Sig_atomic_t = int32 /* signal_iso.h:58:13 */
  3067. // CDDL HEADER START
  3068. //
  3069. // The contents of this file are subject to the terms of the
  3070. // Common Development and Distribution License (the "License").
  3071. // You may not use this file except in compliance with the License.
  3072. //
  3073. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3074. // or http://www.opensolaris.org/os/licensing.
  3075. // See the License for the specific language governing permissions
  3076. // and limitations under the License.
  3077. //
  3078. // When distributing Covered Code, include this CDDL HEADER in each
  3079. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3080. // If applicable, add the following below this CDDL HEADER, with the
  3081. // fields enclosed by brackets "[]" replaced with your own identifying
  3082. // information: Portions Copyright [yyyy] [name of copyright owner]
  3083. //
  3084. // CDDL HEADER END
  3085. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  3086. // Use is subject to license terms.
  3087. // Copyright 2015, Joyent, Inc.
  3088. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3089. // All Rights Reserved
  3090. // University Copyright- Copyright (c) 1982, 1986, 1988
  3091. // The Regents of the University of California
  3092. // All Rights Reserved
  3093. //
  3094. // University Acknowledgment- Portions of this document are derived from
  3095. // software developed by the University of California, Berkeley, and its
  3096. // contributors.
  3097. // DO NOT EDIT THIS FILE.
  3098. //
  3099. // It has been auto-edited by fixincludes from:
  3100. //
  3101. // "/usr/include/sys/feature_tests.h"
  3102. //
  3103. // This had to be done to correct non-standard usages in the
  3104. // original, manufacturer supplied header file.
  3105. // CDDL HEADER START
  3106. //
  3107. // The contents of this file are subject to the terms of the
  3108. // Common Development and Distribution License (the "License").
  3109. // You may not use this file except in compliance with the License.
  3110. //
  3111. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3112. // or http://www.opensolaris.org/os/licensing.
  3113. // See the License for the specific language governing permissions
  3114. // and limitations under the License.
  3115. //
  3116. // When distributing Covered Code, include this CDDL HEADER in each
  3117. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3118. // If applicable, add the following below this CDDL HEADER, with the
  3119. // fields enclosed by brackets "[]" replaced with your own identifying
  3120. // information: Portions Copyright [yyyy] [name of copyright owner]
  3121. //
  3122. // CDDL HEADER END
  3123. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  3124. // Copyright 2016 Joyent, Inc.
  3125. // Copyright 2022 Oxide Computer Company
  3126. //
  3127. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  3128. // Use is subject to license terms.
  3129. // CDDL HEADER START
  3130. //
  3131. // The contents of this file are subject to the terms of the
  3132. // Common Development and Distribution License (the "License").
  3133. // You may not use this file except in compliance with the License.
  3134. //
  3135. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3136. // or http://www.opensolaris.org/os/licensing.
  3137. // See the License for the specific language governing permissions
  3138. // and limitations under the License.
  3139. //
  3140. // When distributing Covered Code, include this CDDL HEADER in each
  3141. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3142. // If applicable, add the following below this CDDL HEADER, with the
  3143. // fields enclosed by brackets "[]" replaced with your own identifying
  3144. // information: Portions Copyright [yyyy] [name of copyright owner]
  3145. //
  3146. // CDDL HEADER END
  3147. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  3148. // Use is subject to license terms.
  3149. // Copyright 2015, Joyent, Inc.
  3150. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3151. // All Rights Reserved
  3152. // An application should not include this header directly. Instead it
  3153. // should be included only through the inclusion of other Sun headers.
  3154. //
  3155. // The contents of this header is limited to identifiers specified in the
  3156. // C Standard. Any new identifiers specified in future amendments to the
  3157. // C Standard must be placed in this header. If these new identifiers
  3158. // are required to also be in the C++ Standard "std" namespace, then for
  3159. // anything other than macro definitions, corresponding "using" directives
  3160. // must also be added to <sys/signal.h.h>.
  3161. // We need <sys/siginfo.h> for the declaration of siginfo_t.
  3162. // CDDL HEADER START
  3163. //
  3164. // The contents of this file are subject to the terms of the
  3165. // Common Development and Distribution License, Version 1.0 only
  3166. // (the "License"). You may not use this file except in compliance
  3167. // with the License.
  3168. //
  3169. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3170. // or http://www.opensolaris.org/os/licensing.
  3171. // See the License for the specific language governing permissions
  3172. // and limitations under the License.
  3173. //
  3174. // When distributing Covered Code, include this CDDL HEADER in each
  3175. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3176. // If applicable, add the following below this CDDL HEADER, with the
  3177. // fields enclosed by brackets "[]" replaced with your own identifying
  3178. // information: Portions Copyright [yyyy] [name of copyright owner]
  3179. //
  3180. // CDDL HEADER END
  3181. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  3182. // Use is subject to license terms.
  3183. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3184. // All Rights Reserved
  3185. // DO NOT EDIT THIS FILE.
  3186. //
  3187. // It has been auto-edited by fixincludes from:
  3188. //
  3189. // "/usr/include/sys/feature_tests.h"
  3190. //
  3191. // This had to be done to correct non-standard usages in the
  3192. // original, manufacturer supplied header file.
  3193. // CDDL HEADER START
  3194. //
  3195. // The contents of this file are subject to the terms of the
  3196. // Common Development and Distribution License (the "License").
  3197. // You may not use this file except in compliance with the License.
  3198. //
  3199. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3200. // or http://www.opensolaris.org/os/licensing.
  3201. // See the License for the specific language governing permissions
  3202. // and limitations under the License.
  3203. //
  3204. // When distributing Covered Code, include this CDDL HEADER in each
  3205. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3206. // If applicable, add the following below this CDDL HEADER, with the
  3207. // fields enclosed by brackets "[]" replaced with your own identifying
  3208. // information: Portions Copyright [yyyy] [name of copyright owner]
  3209. //
  3210. // CDDL HEADER END
  3211. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  3212. // Copyright 2016 Joyent, Inc.
  3213. // Copyright 2022 Oxide Computer Company
  3214. //
  3215. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  3216. // Use is subject to license terms.
  3217. // CDDL HEADER START
  3218. //
  3219. // The contents of this file are subject to the terms of the
  3220. // Common Development and Distribution License (the "License").
  3221. // You may not use this file except in compliance with the License.
  3222. //
  3223. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3224. // or http://www.opensolaris.org/os/licensing.
  3225. // See the License for the specific language governing permissions
  3226. // and limitations under the License.
  3227. //
  3228. // When distributing Covered Code, include this CDDL HEADER in each
  3229. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3230. // If applicable, add the following below this CDDL HEADER, with the
  3231. // fields enclosed by brackets "[]" replaced with your own identifying
  3232. // information: Portions Copyright [yyyy] [name of copyright owner]
  3233. //
  3234. // CDDL HEADER END
  3235. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3236. // All Rights Reserved
  3237. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  3238. // Use is subject to license terms.
  3239. //
  3240. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  3241. // Copyright 2016 Joyent, Inc.
  3242. // Copyright 2021 Oxide Computer Company
  3243. // The union sigval is also defined in <time.h> as per X/Open and
  3244. // POSIX requirements.
  3245. // The sigevent structure is also defined in <time.h> as per X/Open and
  3246. // POSIX requirements.
  3247. // values of sigev_notify
  3248. // negative signal codes are reserved for future use for user generated
  3249. // signals
  3250. // Get the machine dependent signal codes (SIGILL, SIGFPE, SIGSEGV, and
  3251. // SIGBUS) from <sys/machsig.h>
  3252. // CDDL HEADER START
  3253. //
  3254. // The contents of this file are subject to the terms of the
  3255. // Common Development and Distribution License, Version 1.0 only
  3256. // (the "License"). You may not use this file except in compliance
  3257. // with the License.
  3258. //
  3259. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3260. // or http://www.opensolaris.org/os/licensing.
  3261. // See the License for the specific language governing permissions
  3262. // and limitations under the License.
  3263. //
  3264. // When distributing Covered Code, include this CDDL HEADER in each
  3265. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3266. // If applicable, add the following below this CDDL HEADER, with the
  3267. // fields enclosed by brackets "[]" replaced with your own identifying
  3268. // information: Portions Copyright [yyyy] [name of copyright owner]
  3269. //
  3270. // CDDL HEADER END
  3271. // Copyright 2003 Sun Microsystems, Inc. All rights reserved.
  3272. // Use is subject to license terms.
  3273. // Copyright (c) 1988 AT&T
  3274. // All Rights Reserved
  3275. // DO NOT EDIT THIS FILE.
  3276. //
  3277. // It has been auto-edited by fixincludes from:
  3278. //
  3279. // "/usr/include/sys/feature_tests.h"
  3280. //
  3281. // This had to be done to correct non-standard usages in the
  3282. // original, manufacturer supplied header file.
  3283. // CDDL HEADER START
  3284. //
  3285. // The contents of this file are subject to the terms of the
  3286. // Common Development and Distribution License (the "License").
  3287. // You may not use this file except in compliance with the License.
  3288. //
  3289. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3290. // or http://www.opensolaris.org/os/licensing.
  3291. // See the License for the specific language governing permissions
  3292. // and limitations under the License.
  3293. //
  3294. // When distributing Covered Code, include this CDDL HEADER in each
  3295. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3296. // If applicable, add the following below this CDDL HEADER, with the
  3297. // fields enclosed by brackets "[]" replaced with your own identifying
  3298. // information: Portions Copyright [yyyy] [name of copyright owner]
  3299. //
  3300. // CDDL HEADER END
  3301. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  3302. // Copyright 2016 Joyent, Inc.
  3303. // Copyright 2022 Oxide Computer Company
  3304. //
  3305. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  3306. // Use is subject to license terms.
  3307. // machsig.h is the machine dependent portion of siginfo.h (and is
  3308. // included by siginfo.h). A version of machsig.h should exist for
  3309. // each architecture. The codes for SIGILL, SIGFPU, SIGSEGV and SIGBUS
  3310. // are in this file. The codes for SIGTRAP, SIGCLD(SIGCHLD), and
  3311. // SIGPOLL are architecture independent and may be found in siginfo.h.
  3312. // CDDL HEADER START
  3313. //
  3314. // The contents of this file are subject to the terms of the
  3315. // Common Development and Distribution License (the "License").
  3316. // You may not use this file except in compliance with the License.
  3317. //
  3318. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3319. // or http://www.opensolaris.org/os/licensing.
  3320. // See the License for the specific language governing permissions
  3321. // and limitations under the License.
  3322. //
  3323. // When distributing Covered Code, include this CDDL HEADER in each
  3324. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3325. // If applicable, add the following below this CDDL HEADER, with the
  3326. // fields enclosed by brackets "[]" replaced with your own identifying
  3327. // information: Portions Copyright [yyyy] [name of copyright owner]
  3328. //
  3329. // CDDL HEADER END
  3330. // Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  3331. // Use is subject to license terms.
  3332. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3333. // All Rights Reserved
  3334. // University Copyright- Copyright (c) 1982, 1986, 1988
  3335. // The Regents of the University of California
  3336. // All Rights Reserved
  3337. //
  3338. // University Acknowledgment- Portions of this document are derived from
  3339. // software developed by the University of California, Berkeley, and its
  3340. // contributors.
  3341. // This file describes the data type returned by vm routines
  3342. // which handle faults.
  3343. //
  3344. // If FC_CODE(fc) == FC_OBJERR, then FC_ERRNO(fc) contains the errno value
  3345. // returned by the underlying object mapped at the fault address.
  3346. type Faultcode_t = int32 /* faultcode.h:66:13 */
  3347. // SIGILL signal codes
  3348. // SIGEMT signal codes
  3349. // SIGFPE signal codes
  3350. // SIGSEGV signal codes
  3351. // SIGBUS signal codes
  3352. // SIGTRAP signal codes
  3353. // SIGCLD signal codes
  3354. // SIGPOLL signal codes
  3355. // SIGPROF signal codes
  3356. // Inclusion of <sys/time_impl.h> is needed for the declaration of
  3357. // timestruc_t. However, since inclusion of <sys/time_impl.h> results
  3358. // in X/Open and POSIX namespace pollution, the definition for
  3359. // timestruct_t has been duplicated in a standards namespace safe header
  3360. // <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure
  3361. // name, tag, and member names, as well as the type itself, all have
  3362. // leading underscores to protect namespace.
  3363. // CDDL HEADER START
  3364. //
  3365. // The contents of this file are subject to the terms of the
  3366. // Common Development and Distribution License, Version 1.0 only
  3367. // (the "License"). You may not use this file except in compliance
  3368. // with the License.
  3369. //
  3370. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3371. // or http://www.opensolaris.org/os/licensing.
  3372. // See the License for the specific language governing permissions
  3373. // and limitations under the License.
  3374. //
  3375. // When distributing Covered Code, include this CDDL HEADER in each
  3376. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3377. // If applicable, add the following below this CDDL HEADER, with the
  3378. // fields enclosed by brackets "[]" replaced with your own identifying
  3379. // information: Portions Copyright [yyyy] [name of copyright owner]
  3380. //
  3381. // CDDL HEADER END
  3382. // Copyright 2005 Sun Microsystems, Inc. All rights reserved.
  3383. // Use is subject to license terms.
  3384. // Implementation-private. This header should not be included
  3385. // directly by an application. The application should instead
  3386. // include <time.h> which includes this header conditionally
  3387. // depending on which feature test macros are defined. By default,
  3388. // this header is included by <time.h>. X/Open and POSIX
  3389. // standards requirements result in this header being included
  3390. // by <time.h> only under a restricted set of conditions.
  3391. // The inclusion of <sys/types.h> is needed for definitions of pid_t, etc.
  3392. // Placement here is due to a dependency in <sys/select.h> which is included
  3393. // by <sys/types.h> for the sigevent structure. Hence this inclusion must
  3394. // follow that definition.
  3395. // CDDL HEADER START
  3396. //
  3397. // The contents of this file are subject to the terms of the
  3398. // Common Development and Distribution License (the "License").
  3399. // You may not use this file except in compliance with the License.
  3400. //
  3401. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3402. // or http://www.opensolaris.org/os/licensing.
  3403. // See the License for the specific language governing permissions
  3404. // and limitations under the License.
  3405. //
  3406. // When distributing Covered Code, include this CDDL HEADER in each
  3407. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3408. // If applicable, add the following below this CDDL HEADER, with the
  3409. // fields enclosed by brackets "[]" replaced with your own identifying
  3410. // information: Portions Copyright [yyyy] [name of copyright owner]
  3411. //
  3412. // CDDL HEADER END
  3413. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3414. // All Rights Reserved
  3415. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  3416. // Use is subject to license terms.
  3417. //
  3418. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  3419. // Copyright 2016 Joyent, Inc.
  3420. // Copyright 2021 Oxide Computer Company
  3421. type Siginfo = struct {
  3422. Fsi_signo int32
  3423. Fsi_code int32
  3424. Fsi_errno int32
  3425. Fsi_pad int32
  3426. F__data struct {
  3427. F__ccgo_pad1 [0]uint64
  3428. F__pad [60]int32
  3429. }
  3430. } /* siginfo.h:237:9 */
  3431. // SIGILL signal codes
  3432. // SIGEMT signal codes
  3433. // SIGFPE signal codes
  3434. // SIGSEGV signal codes
  3435. // SIGBUS signal codes
  3436. // SIGTRAP signal codes
  3437. // SIGCLD signal codes
  3438. // SIGPOLL signal codes
  3439. // SIGPROF signal codes
  3440. // Inclusion of <sys/time_impl.h> is needed for the declaration of
  3441. // timestruc_t. However, since inclusion of <sys/time_impl.h> results
  3442. // in X/Open and POSIX namespace pollution, the definition for
  3443. // timestruct_t has been duplicated in a standards namespace safe header
  3444. // <sys/time_std_impl.h>. In <sys/time_std_impl.h>, the structure
  3445. // name, tag, and member names, as well as the type itself, all have
  3446. // leading underscores to protect namespace.
  3447. // CDDL HEADER START
  3448. //
  3449. // The contents of this file are subject to the terms of the
  3450. // Common Development and Distribution License, Version 1.0 only
  3451. // (the "License"). You may not use this file except in compliance
  3452. // with the License.
  3453. //
  3454. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3455. // or http://www.opensolaris.org/os/licensing.
  3456. // See the License for the specific language governing permissions
  3457. // and limitations under the License.
  3458. //
  3459. // When distributing Covered Code, include this CDDL HEADER in each
  3460. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3461. // If applicable, add the following below this CDDL HEADER, with the
  3462. // fields enclosed by brackets "[]" replaced with your own identifying
  3463. // information: Portions Copyright [yyyy] [name of copyright owner]
  3464. //
  3465. // CDDL HEADER END
  3466. // Copyright 2005 Sun Microsystems, Inc. All rights reserved.
  3467. // Use is subject to license terms.
  3468. // Implementation-private. This header should not be included
  3469. // directly by an application. The application should instead
  3470. // include <time.h> which includes this header conditionally
  3471. // depending on which feature test macros are defined. By default,
  3472. // this header is included by <time.h>. X/Open and POSIX
  3473. // standards requirements result in this header being included
  3474. // by <time.h> only under a restricted set of conditions.
  3475. // The inclusion of <sys/types.h> is needed for definitions of pid_t, etc.
  3476. // Placement here is due to a dependency in <sys/select.h> which is included
  3477. // by <sys/types.h> for the sigevent structure. Hence this inclusion must
  3478. // follow that definition.
  3479. // CDDL HEADER START
  3480. //
  3481. // The contents of this file are subject to the terms of the
  3482. // Common Development and Distribution License (the "License").
  3483. // You may not use this file except in compliance with the License.
  3484. //
  3485. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3486. // or http://www.opensolaris.org/os/licensing.
  3487. // See the License for the specific language governing permissions
  3488. // and limitations under the License.
  3489. //
  3490. // When distributing Covered Code, include this CDDL HEADER in each
  3491. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3492. // If applicable, add the following below this CDDL HEADER, with the
  3493. // fields enclosed by brackets "[]" replaced with your own identifying
  3494. // information: Portions Copyright [yyyy] [name of copyright owner]
  3495. //
  3496. // CDDL HEADER END
  3497. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3498. // All Rights Reserved
  3499. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  3500. // Use is subject to license terms.
  3501. //
  3502. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  3503. // Copyright 2016 Joyent, Inc.
  3504. // Copyright 2021 Oxide Computer Company
  3505. type Siginfo_t = Siginfo /* siginfo.h:304:3 */
  3506. // XXX -- internal version is identical to siginfo_t but without the padding.
  3507. // This must be maintained in sync with it.
  3508. type K_siginfo = struct {
  3509. Fsi_signo int32
  3510. Fsi_code int32
  3511. Fsi_errno int32
  3512. Fsi_pad int32
  3513. F__data struct {
  3514. F__proc struct {
  3515. F__pid int32
  3516. F__ccgo_pad1 [4]byte
  3517. F__pdata struct {
  3518. F__kill struct {
  3519. F__uid uint32
  3520. F__ccgo_pad1 [4]byte
  3521. F__value struct {
  3522. F__ccgo_pad1 [0]uint64
  3523. Fsival_int int32
  3524. F__ccgo_pad2 [4]byte
  3525. }
  3526. }
  3527. F__ccgo_pad1 [8]byte
  3528. }
  3529. F__ctid int32
  3530. F__zoneid int32
  3531. }
  3532. }
  3533. } /* siginfo.h:379:9 */
  3534. // XXX -- internal version is identical to siginfo_t but without the padding.
  3535. // This must be maintained in sync with it.
  3536. type K_siginfo_t = K_siginfo /* siginfo.h:438:3 */
  3537. type Sigqueue = struct {
  3538. Fsq_next uintptr
  3539. Fsq_info K_siginfo_t
  3540. Fsq_func uintptr
  3541. Fsq_backptr uintptr
  3542. Fsq_external int32
  3543. F__ccgo_pad1 [4]byte
  3544. } /* siginfo.h:440:9 */
  3545. type Sigqueue_t = Sigqueue /* siginfo.h:447:3 */
  3546. // indication whether to queue the signal or not
  3547. // Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements
  3548. type K_sigset_t = struct{ F__sigbits [3]uint32 } /* signal.h:73:3 */
  3549. // The signal handler routine can have either one or three arguments.
  3550. // Existing C code has used either form so not specifing the arguments
  3551. // neatly finesses the problem. C++ doesn't accept this. To C++
  3552. // "(*sa_handler)()" indicates a routine with no arguments (ANSI C would
  3553. // specify this as "(*sa_handler)(void)"). One or the other form must be
  3554. // used for C++ and the only logical choice is "(*sa_handler)(int)" to allow
  3555. // the SIG_* defines to work. "(*sa_sigaction)(int, siginfo_t *, void *)"
  3556. // can be used for the three argument form.
  3557. // Note: storage overlap by sa_handler and sa_sigaction
  3558. type Sigaction = struct {
  3559. Fsa_flags int32
  3560. F__ccgo_pad1 [4]byte
  3561. F_funcptr struct{ F_handler uintptr }
  3562. Fsa_mask Sigset_t
  3563. } /* signal.h:89:1 */
  3564. // this is only valid for SIGCLD
  3565. // non-conformant ANSI compilation
  3566. // definitions for the sa_flags field
  3567. // this is only valid for SIGCLD
  3568. // use of these symbols by applications is injurious
  3569. // to binary compatibility
  3570. // Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements.
  3571. type Sigaltstack = struct {
  3572. Fss_sp uintptr
  3573. Fss_size uint64
  3574. Fss_flags int32
  3575. F__ccgo_pad1 [4]byte
  3576. } /* signal.h:176:9 */
  3577. // this is only valid for SIGCLD
  3578. // non-conformant ANSI compilation
  3579. // definitions for the sa_flags field
  3580. // this is only valid for SIGCLD
  3581. // use of these symbols by applications is injurious
  3582. // to binary compatibility
  3583. // Duplicated in <sys/ucontext.h> as a result of XPG4v2 requirements.
  3584. type Stack_t = Sigaltstack /* signal.h:183:3 */
  3585. // signotify id used only by libc for mq_notify()/aio_notify()
  3586. type Signotify_id = struct {
  3587. Fsn_pid int32
  3588. Fsn_index int32
  3589. Fsn_pad int32
  3590. } /* signal.h:205:9 */
  3591. // signotify id used only by libc for mq_notify()/aio_notify()
  3592. type Signotify_id_t = Signotify_id /* signal.h:209:3 */
  3593. // Command codes for sig_notify call
  3594. // Added as per XPG4v2
  3595. type Sigstack = struct {
  3596. Fss_sp uintptr
  3597. Fss_onstack int32
  3598. F__ccgo_pad1 [4]byte
  3599. } /* signal.h:235:1 */
  3600. // CDDL HEADER START
  3601. //
  3602. // The contents of this file are subject to the terms of the
  3603. // Common Development and Distribution License, Version 1.0 only
  3604. // (the "License"). You may not use this file except in compliance
  3605. // with the License.
  3606. //
  3607. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3608. // or http://www.opensolaris.org/os/licensing.
  3609. // See the License for the specific language governing permissions
  3610. // and limitations under the License.
  3611. //
  3612. // When distributing Covered Code, include this CDDL HEADER in each
  3613. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3614. // If applicable, add the following below this CDDL HEADER, with the
  3615. // fields enclosed by brackets "[]" replaced with your own identifying
  3616. // information: Portions Copyright [yyyy] [name of copyright owner]
  3617. //
  3618. // CDDL HEADER END
  3619. // Copyright 2004 Sun Microsystems, Inc. All rights reserved.
  3620. // Use is subject to license terms.
  3621. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3622. // All Rights Reserved
  3623. // DO NOT EDIT THIS FILE.
  3624. //
  3625. // It has been auto-edited by fixincludes from:
  3626. //
  3627. // "/usr/include/sys/feature_tests.h"
  3628. //
  3629. // This had to be done to correct non-standard usages in the
  3630. // original, manufacturer supplied header file.
  3631. // CDDL HEADER START
  3632. //
  3633. // The contents of this file are subject to the terms of the
  3634. // Common Development and Distribution License (the "License").
  3635. // You may not use this file except in compliance with the License.
  3636. //
  3637. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3638. // or http://www.opensolaris.org/os/licensing.
  3639. // See the License for the specific language governing permissions
  3640. // and limitations under the License.
  3641. //
  3642. // When distributing Covered Code, include this CDDL HEADER in each
  3643. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3644. // If applicable, add the following below this CDDL HEADER, with the
  3645. // fields enclosed by brackets "[]" replaced with your own identifying
  3646. // information: Portions Copyright [yyyy] [name of copyright owner]
  3647. //
  3648. // CDDL HEADER END
  3649. // Copyright 2013 Garrett D'Amore <garrett@damore.org>
  3650. // Copyright 2016 Joyent, Inc.
  3651. // Copyright 2022 Oxide Computer Company
  3652. //
  3653. // Copyright 2006 Sun Microsystems, Inc. All rights reserved.
  3654. // Use is subject to license terms.
  3655. // CDDL HEADER START
  3656. //
  3657. // The contents of this file are subject to the terms of the
  3658. // Common Development and Distribution License (the "License").
  3659. // You may not use this file except in compliance with the License.
  3660. //
  3661. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3662. // or http://www.opensolaris.org/os/licensing.
  3663. // See the License for the specific language governing permissions
  3664. // and limitations under the License.
  3665. //
  3666. // When distributing Covered Code, include this CDDL HEADER in each
  3667. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3668. // If applicable, add the following below this CDDL HEADER, with the
  3669. // fields enclosed by brackets "[]" replaced with your own identifying
  3670. // information: Portions Copyright [yyyy] [name of copyright owner]
  3671. //
  3672. // CDDL HEADER END
  3673. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3674. // All Rights Reserved
  3675. // Copyright 2009 Sun Microsystems, Inc. All rights reserved.
  3676. // Use is subject to license terms.
  3677. //
  3678. // Copyright 2013 Nexenta Systems, Inc. All rights reserved.
  3679. // Copyright 2016 Joyent, Inc.
  3680. // Copyright 2021 Oxide Computer Company
  3681. // CDDL HEADER START
  3682. //
  3683. // The contents of this file are subject to the terms of the
  3684. // Common Development and Distribution License (the "License").
  3685. // You may not use this file except in compliance with the License.
  3686. //
  3687. // You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  3688. // or http://www.opensolaris.org/os/licensing.
  3689. // See the License for the specific language governing permissions
  3690. // and limitations under the License.
  3691. //
  3692. // When distributing Covered Code, include this CDDL HEADER in each
  3693. // file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  3694. // If applicable, add the following below this CDDL HEADER, with the
  3695. // fields enclosed by brackets "[]" replaced with your own identifying
  3696. // information: Portions Copyright [yyyy] [name of copyright owner]
  3697. //
  3698. // CDDL HEADER END
  3699. // Copyright 2010 Sun Microsystems, Inc. All rights reserved.
  3700. // Use is subject to license terms.
  3701. // Copyright 2015, Joyent, Inc.
  3702. // Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
  3703. // All Rights Reserved
  3704. // University Copyright- Copyright (c) 1982, 1986, 1988
  3705. // The Regents of the University of California
  3706. // All Rights Reserved
  3707. //
  3708. // University Acknowledgment- Portions of this document are derived from
  3709. // software developed by the University of California, Berkeley, and its
  3710. // contributors.
  3711. // This file defines the data needed to specify a set of
  3712. // processes. These types are used by the sigsend, sigsendset,
  3713. // priocntl, priocntlset, waitid, evexit, and evexitset system
  3714. // calls.
  3715. // The following defines the values for an identifier type. It
  3716. // specifies the interpretation of an id value. An idtype and
  3717. // id together define a simple set of processes.
  3718. type Idtype_t = uint32 /* procset.h:80:3 */
  3719. // The following defines the operations which can be performed to
  3720. // combine two simple sets of processes to form another set of
  3721. // processes.
  3722. type Idop_t = uint32 /* procset.h:102:3 */
  3723. // The following structure is used to define a set of processes.
  3724. // The set is defined in terms of two simple sets of processes
  3725. // and an operator which operates on these two operand sets.
  3726. type Procset = struct {
  3727. Fp_op uint32
  3728. Fp_lidtype uint32
  3729. Fp_lid int32
  3730. Fp_ridtype uint32
  3731. Fp_rid int32
  3732. } /* procset.h:110:9 */
  3733. // The following structure is used to define a set of processes.
  3734. // The set is defined in terms of two simple sets of processes
  3735. // and an operator which operates on these two operand sets.
  3736. type Procset_t = Procset /* procset.h:125:3 */
  3737. var _ int8 /* gen.c:2:13: */