socket_netbsd_arm.go 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850
  1. // Code generated by 'ccgo sys/socket/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 sys/socket/socket_netbsd_arm.go -pkgname socket', DO NOT EDIT.
  2. package socket
  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. AF_APPLETALK = 16 // socket.h:218:1:
  15. AF_ARP = 28 // socket.h:237:1:
  16. AF_BLUETOOTH = 31 // socket.h:243:1:
  17. AF_CAN = 35 // socket.h:247:1:
  18. AF_CCITT = 10 // socket.h:212:1:
  19. AF_CHAOS = 5 // socket.h:206:1:
  20. AF_CNT = 21 // socket.h:225:1:
  21. AF_COIP = 20 // socket.h:224:1:
  22. AF_DATAKIT = 9 // socket.h:211:1:
  23. AF_DECnet = 12 // socket.h:214:1:
  24. AF_DLI = 13 // socket.h:215:1:
  25. AF_E164 = 26 // socket.h:235:1:
  26. AF_ECMA = 8 // socket.h:210:1:
  27. AF_ETHER = 36 // socket.h:248:1:
  28. AF_HYLINK = 15 // socket.h:217:1:
  29. AF_IEEE80211 = 32 // socket.h:244:1:
  30. AF_IMPLINK = 3 // socket.h:204:1:
  31. AF_INET = 2 // socket.h:203:1:
  32. AF_INET6 = 24 // socket.h:230:1:
  33. AF_IPX = 23 // socket.h:229:1:
  34. AF_ISDN = 26 // socket.h:234:1:
  35. AF_ISO = 7 // socket.h:208:1:
  36. AF_LAT = 14 // socket.h:216:1:
  37. AF_LINK = 18 // socket.h:220:1:
  38. AF_LOCAL = 1 // socket.h:201:1:
  39. AF_MAX = 37 // socket.h:249:1:
  40. AF_MPLS = 33 // socket.h:245:1:
  41. AF_NATM = 27 // socket.h:236:1:
  42. AF_NS = 6 // socket.h:207:1:
  43. AF_OROUTE = 17 // socket.h:219:1:
  44. AF_OSI = 7 // socket.h:209:1:
  45. AF_PUP = 4 // socket.h:205:1:
  46. AF_ROUTE = 34 // socket.h:246:1:
  47. AF_SNA = 11 // socket.h:213:1:
  48. AF_UNIX = 1 // socket.h:202:1:
  49. AF_UNSPEC = 0 // socket.h:200:1:
  50. MSG_BCAST = 0x0100 // socket.h:497:1:
  51. MSG_CMSG_CLOEXEC = 0x0800 // socket.h:501:1:
  52. MSG_CONTROLMBUF = 0x2000000 // socket.h:515:1:
  53. MSG_CTRUNC = 0x0020 // socket.h:494:1:
  54. MSG_DONTROUTE = 0x0004 // socket.h:491:1:
  55. MSG_DONTWAIT = 0x0080 // socket.h:496:1:
  56. MSG_EOR = 0x0008 // socket.h:492:1:
  57. MSG_IOVUSRSPACE = 0x4000000 // socket.h:516:1:
  58. MSG_LENUSRSPACE = 0x8000000 // socket.h:517:1:
  59. MSG_MCAST = 0x0200 // socket.h:498:1:
  60. MSG_NAMEMBUF = 0x1000000 // socket.h:514:1:
  61. MSG_NBIO = 0x1000 // socket.h:502:1:
  62. MSG_NOSIGNAL = 0x0400 // socket.h:499:1:
  63. MSG_NOTIFICATION = 0x4000 // socket.h:504:1:
  64. MSG_OOB = 0x0001 // socket.h:489:1:
  65. MSG_PEEK = 0x0002 // socket.h:490:1:
  66. MSG_TRUNC = 0x0010 // socket.h:493:1:
  67. MSG_USERFLAGS = 0x0ffffff // socket.h:513:1:
  68. MSG_WAITALL = 0x0040 // socket.h:495:1:
  69. MSG_WAITFORONE = 0x2000 // socket.h:503:1:
  70. NET_RT_DUMP = 1 // socket.h:457:1:
  71. NET_RT_FLAGS = 2 // socket.h:458:1:
  72. NET_RT_IFLIST = 6 // socket.h:462:1:
  73. NET_RT_OIFLIST = 5 // socket.h:461:1:
  74. NET_RT_OOIFLIST = 4 // socket.h:460:1:
  75. NET_RT_OOOIFLIST = 3 // socket.h:459:1:
  76. PCB_ALL = 0 // socket.h:444:1:
  77. PCB_SLOP = 20 // socket.h:443:1:
  78. PF_APPLETALK = 16 // socket.h:334:1:
  79. PF_ARP = 28 // socket.h:351:1:
  80. PF_BLUETOOTH = 31 // socket.h:355:1:
  81. PF_CAN = 35 // socket.h:358:1:
  82. PF_CCITT = 10 // socket.h:328:1:
  83. PF_CHAOS = 5 // socket.h:322:1:
  84. PF_CNT = 21 // socket.h:341:1:
  85. PF_COIP = 20 // socket.h:340:1:
  86. PF_DATAKIT = 9 // socket.h:327:1:
  87. PF_DECnet = 12 // socket.h:330:1:
  88. PF_DLI = 13 // socket.h:331:1:
  89. PF_E164 = 26 // socket.h:349:1:
  90. PF_ECMA = 8 // socket.h:326:1:
  91. PF_ETHER = 36 // socket.h:359:1:
  92. PF_HYLINK = 15 // socket.h:333:1:
  93. PF_IMPLINK = 3 // socket.h:320:1:
  94. PF_INET = 2 // socket.h:319:1:
  95. PF_INET6 = 24 // socket.h:342:1:
  96. PF_IPX = 23 // socket.h:343:1:
  97. PF_ISDN = 26 // socket.h:348:1:
  98. PF_ISO = 7 // socket.h:324:1:
  99. PF_KEY = 29 // socket.h:353:1:
  100. PF_LAT = 14 // socket.h:332:1:
  101. PF_LINK = 18 // socket.h:336:1:
  102. PF_LOCAL = 1 // socket.h:317:1:
  103. PF_MAX = 37 // socket.h:361:1:
  104. PF_MPLS = 33 // socket.h:356:1:
  105. PF_NATM = 27 // socket.h:350:1:
  106. PF_NS = 6 // socket.h:323:1:
  107. PF_OROUTE = 17 // socket.h:335:1:
  108. PF_OSI = 7 // socket.h:325:1:
  109. PF_PIP = 25 // socket.h:346:1:
  110. PF_PUP = 4 // socket.h:321:1:
  111. PF_ROUTE = 34 // socket.h:357:1:
  112. PF_RTIP = 22 // socket.h:345:1:
  113. PF_SNA = 11 // socket.h:329:1:
  114. PF_UNIX = 1 // socket.h:318:1:
  115. PF_UNSPEC = 0 // socket.h:316:1:
  116. PF_XTP = 19 // socket.h:338:1:
  117. SCM_CREDS = 0x10 // socket.h:581:1:
  118. SCM_RIGHTS = 0x01 // socket.h:576:1:
  119. SCM_TIMESTAMP = 0x08 // socket.h:580:1:
  120. SHUT_RD = 0 // socket.h:587:1:
  121. SHUT_RDWR = 2 // socket.h:589:1:
  122. SHUT_WR = 1 // socket.h:588:1:
  123. SOCK_CLOEXEC = 0x10000000 // socket.h:113:1:
  124. SOCK_CONN_DGRAM = 6 // socket.h:110:1:
  125. SOCK_DCCP = 6 // socket.h:111:1:
  126. SOCK_DGRAM = 2 // socket.h:106:1:
  127. SOCK_FLAGS_MASK = 0xf0000000 // socket.h:116:1:
  128. SOCK_NONBLOCK = 0x20000000 // socket.h:114:1:
  129. SOCK_NOSIGPIPE = 0x40000000 // socket.h:115:1:
  130. SOCK_RAW = 3 // socket.h:107:1:
  131. SOCK_RDM = 4 // socket.h:108:1:
  132. SOCK_SEQPACKET = 5 // socket.h:109:1:
  133. SOCK_STREAM = 1 // socket.h:105:1:
  134. SOL_SOCKET = 0xffff // socket.h:195:1:
  135. SOMAXCONN = 128 // socket.h:470:1:
  136. SO_ACCEPTCONN = 0x0002 // socket.h:122:1:
  137. SO_ACCEPTFILTER = 0x1000 // socket.h:133:1:
  138. SO_BROADCAST = 0x0020 // socket.h:126:1:
  139. SO_DEBUG = 0x0001 // socket.h:121:1:
  140. SO_DEFOPTS = 27645 // socket.h:138:1:
  141. SO_DONTROUTE = 0x0010 // socket.h:125:1:
  142. SO_ERROR = 0x1007 // socket.h:169:1:
  143. SO_KEEPALIVE = 0x0008 // socket.h:124:1:
  144. SO_LINGER = 0x0080 // socket.h:128:1:
  145. SO_NOHEADER = 0x100a // socket.h:173:1:
  146. SO_NOSIGPIPE = 0x0800 // socket.h:132:1:
  147. SO_OOBINLINE = 0x0100 // socket.h:129:1:
  148. SO_OVERFLOWED = 0x1009 // socket.h:171:1:
  149. SO_RCVBUF = 0x1002 // socket.h:164:1:
  150. SO_RCVLOWAT = 0x1004 // socket.h:166:1:
  151. SO_RCVTIMEO = 0x100c // socket.h:178:1:
  152. SO_RERROR = 0x4000 // socket.h:135:1:
  153. SO_REUSEADDR = 0x0004 // socket.h:123:1:
  154. SO_REUSEPORT = 0x0200 // socket.h:130:1:
  155. SO_SNDBUF = 0x1001 // socket.h:163:1:
  156. SO_SNDLOWAT = 0x1003 // socket.h:165:1:
  157. SO_SNDTIMEO = 0x100b // socket.h:177:1:
  158. SO_TIMESTAMP = 0x2000 // socket.h:134:1:
  159. SO_TYPE = 0x1008 // socket.h:170:1:
  160. SO_USELOOPBACK = 0x0040 // socket.h:127:1:
  161. UIO_MAXIOV = 1024 // uio.h:97:1:
  162. X_ARM_ARCH_4T = 0 // cdefs.h:44:1:
  163. X_ARM_ARCH_5 = 0 // cdefs.h:40:1:
  164. X_ARM_ARCH_5T = 0 // cdefs.h:36:1:
  165. X_ARM_ARCH_6 = 0 // cdefs.h:31:1:
  166. X_ARM_ARCH_7 = 0 // cdefs.h:20:1:
  167. X_ARM_ARCH_DWORD_OK = 0 // cdefs.h:51:1:
  168. X_ARM_ARCH_T2 = 0 // cdefs.h:24:1:
  169. X_ARM_CDEFS_H_ = 0 // cdefs.h:4:1:
  170. X_ARM_INT_TYPES_H_ = 0 // int_types.h:33:1:
  171. X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
  172. X_NETBSD_SOURCE = 1 // featuretest.h:70:1:
  173. X_SS_MAXSIZE = 128 // socket.h:294:1:
  174. X_SYS_ANSI_H_ = 0 // ansi.h:33:1:
  175. X_SYS_CDEFS_ELF_H_ = 0 // cdefs_elf.h:31:1:
  176. X_SYS_CDEFS_H_ = 0 // cdefs.h:37:1:
  177. X_SYS_COMMON_ANSI_H_ = 0 // common_ansi.h:33:1:
  178. X_SYS_COMMON_INT_TYPES_H_ = 0 // common_int_types.h:33:1:
  179. X_SYS_SIGTYPES_H_ = 0 // sigtypes.h:40:1:
  180. X_SYS_SOCKET_H_ = 0 // socket.h:64:1:
  181. X_SYS_UIO_H_ = 0 // uio.h:35:1:
  182. Pseudo_AF_HDRCMPLT = 30 // socket.h:240:1:
  183. Pseudo_AF_KEY = 29 // socket.h:239:1:
  184. Pseudo_AF_PIP = 25 // socket.h:232:1:
  185. Pseudo_AF_RTIP = 22 // socket.h:227:1:
  186. Pseudo_AF_XTP = 19 // socket.h:222:1:
  187. )
  188. // file offset
  189. const ( /* uio.h:69:1: */
  190. UIO_READ = 0
  191. UIO_WRITE = 1
  192. )
  193. // Segment flag values.
  194. const ( /* uio.h:72:1: */
  195. UIO_USERSPACE = 0 // from user data space
  196. UIO_SYSSPACE = 1
  197. )
  198. type Ptrdiff_t = int32 /* <builtin>:3:26 */
  199. type Size_t = uint32 /* <builtin>:9:23 */
  200. type Wchar_t = int32 /* <builtin>:15:24 */
  201. type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  202. type X__float128 = float64 /* <builtin>:47:21 */
  203. // return true if value 'a' fits in type 't'
  204. // $NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
  205. // -
  206. // Copyright (c) 2014 The NetBSD Foundation, Inc.
  207. // All rights reserved.
  208. //
  209. // This code is derived from software contributed to The NetBSD Foundation
  210. // by Matt Thomas of 3am Software Foundry.
  211. //
  212. // Redistribution and use in source and binary forms, with or without
  213. // modification, are permitted provided that the following conditions
  214. // are met:
  215. // 1. Redistributions of source code must retain the above copyright
  216. // notice, this list of conditions and the following disclaimer.
  217. // 2. Redistributions in binary form must reproduce the above copyright
  218. // notice, this list of conditions and the following disclaimer in the
  219. // documentation and/or other materials provided with the distribution.
  220. //
  221. // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  222. // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  223. // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  224. // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  225. // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  226. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  227. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  228. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  229. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  230. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  231. // POSSIBILITY OF SUCH DAMAGE.
  232. // $NetBSD: common_int_types.h,v 1.1 2014/07/25 21:43:13 joerg Exp $
  233. // -
  234. // Copyright (c) 2014 The NetBSD Foundation, Inc.
  235. // All rights reserved.
  236. //
  237. // This code is derived from software contributed to The NetBSD Foundation
  238. // by Joerg Sonnenberger.
  239. //
  240. // Redistribution and use in source and binary forms, with or without
  241. // modification, are permitted provided that the following conditions
  242. // are met:
  243. // 1. Redistributions of source code must retain the above copyright
  244. // notice, this list of conditions and the following disclaimer.
  245. // 2. Redistributions in binary form must reproduce the above copyright
  246. // notice, this list of conditions and the following disclaimer in the
  247. // documentation and/or other materials provided with the distribution.
  248. //
  249. // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  250. // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  251. // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  252. // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  253. // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  254. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  255. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  256. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  257. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  258. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  259. // POSSIBILITY OF SUCH DAMAGE.
  260. // 7.18.1 Integer types
  261. // 7.18.1.1 Exact-width integer types
  262. type X__int8_t = int8 /* common_int_types.h:45:27 */
  263. type X__uint8_t = uint8 /* common_int_types.h:46:27 */
  264. type X__int16_t = int16 /* common_int_types.h:47:27 */
  265. type X__uint16_t = uint16 /* common_int_types.h:48:27 */
  266. type X__int32_t = int32 /* common_int_types.h:49:27 */
  267. type X__uint32_t = uint32 /* common_int_types.h:50:27 */
  268. type X__int64_t = int64 /* common_int_types.h:51:27 */
  269. type X__uint64_t = uint64 /* common_int_types.h:52:27 */
  270. // 7.18.1.4 Integer types capable of holding object pointers
  271. type X__intptr_t = int32 /* common_int_types.h:58:27 */
  272. type X__uintptr_t = uint32 /* common_int_types.h:59:26 */
  273. // Types which are fundamental to the implementation and may appear in
  274. // more than one standard header are defined here. Standard headers
  275. // then use:
  276. // #ifdef _BSD_SIZE_T_
  277. // typedef _BSD_SIZE_T_ size_t;
  278. // #undef _BSD_SIZE_T_
  279. // #endif
  280. type X__caddr_t = uintptr /* ansi.h:37:14 */ // core address
  281. type X__gid_t = X__uint32_t /* ansi.h:38:20 */ // group id
  282. type X__in_addr_t = X__uint32_t /* ansi.h:39:20 */ // IP(v4) address
  283. type X__in_port_t = X__uint16_t /* ansi.h:40:20 */ // "Internet" port number
  284. type X__mode_t = X__uint32_t /* ansi.h:41:20 */ // file permissions
  285. type X__off_t = X__int64_t /* ansi.h:42:19 */ // file offset
  286. type X__pid_t = X__int32_t /* ansi.h:43:19 */ // process id
  287. type X__sa_family_t = X__uint8_t /* ansi.h:44:19 */ // socket address family
  288. type X__socklen_t = uint32 /* ansi.h:45:22 */ // socket-related datum length
  289. type X__uid_t = X__uint32_t /* ansi.h:46:20 */ // user id
  290. type X__fsblkcnt_t = X__uint64_t /* ansi.h:47:20 */ // fs block count (statvfs)
  291. type X__fsfilcnt_t = X__uint64_t /* ansi.h:48:20 */
  292. type X__wctrans_t = uintptr /* ansi.h:51:32 */
  293. type X__wctype_t = uintptr /* ansi.h:54:31 */
  294. // mbstate_t is an opaque object to keep conversion state, during multibyte
  295. // stream conversions. The content must not be referenced by user programs.
  296. type X__mbstate_t = struct {
  297. F__mbstateL X__int64_t
  298. F__ccgo_pad1 [120]byte
  299. } /* ansi.h:63:3 */
  300. type X__va_list = X__builtin_va_list /* ansi.h:72:27 */
  301. type Sa_family_t = X__sa_family_t /* socket.h:78:23 */
  302. type Socklen_t = X__socklen_t /* socket.h:83:21 */
  303. type Ssize_t = int32 /* socket.h:95:23 */
  304. // $NetBSD: uio.h,v 1.36 2011/07/27 13:20:07 uebayasi Exp $
  305. // Copyright (c) 1982, 1986, 1993, 1994
  306. // The Regents of the University of California. All rights reserved.
  307. //
  308. // Redistribution and use in source and binary forms, with or without
  309. // modification, are permitted provided that the following conditions
  310. // are met:
  311. // 1. Redistributions of source code must retain the above copyright
  312. // notice, this list of conditions and the following disclaimer.
  313. // 2. Redistributions in binary form must reproduce the above copyright
  314. // notice, this list of conditions and the following disclaimer in the
  315. // documentation and/or other materials provided with the distribution.
  316. // 3. Neither the name of the University nor the names of its contributors
  317. // may be used to endorse or promote products derived from this software
  318. // without specific prior written permission.
  319. //
  320. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  321. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  322. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  323. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  324. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  325. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  326. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  327. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  328. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  329. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  330. // SUCH DAMAGE.
  331. //
  332. // @(#)uio.h 8.5 (Berkeley) 2/22/94
  333. // $NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
  334. // $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
  335. // -
  336. // Copyright (c) 2014 The NetBSD Foundation, Inc.
  337. // All rights reserved.
  338. //
  339. // This code is derived from software contributed to The NetBSD Foundation
  340. // by Matt Thomas of 3am Software Foundry.
  341. //
  342. // Redistribution and use in source and binary forms, with or without
  343. // modification, are permitted provided that the following conditions
  344. // are met:
  345. // 1. Redistributions of source code must retain the above copyright
  346. // notice, this list of conditions and the following disclaimer.
  347. // 2. Redistributions in binary form must reproduce the above copyright
  348. // notice, this list of conditions and the following disclaimer in the
  349. // documentation and/or other materials provided with the distribution.
  350. //
  351. // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  352. // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  353. // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  354. // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  355. // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  356. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  357. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  358. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  359. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  360. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  361. // POSSIBILITY OF SUCH DAMAGE.
  362. // $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  363. // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  364. // Public domain.
  365. //
  366. // NOTE: Do not protect this header against multiple inclusion. Doing
  367. // so can have subtle side-effects due to header file inclusion order
  368. // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
  369. // protect each CPP macro that we want to supply.
  370. // Feature-test macros are defined by several standards, and allow an
  371. // application to specify what symbols they want the system headers to
  372. // expose, and hence what standard they want them to conform to.
  373. // There are two classes of feature-test macros. The first class
  374. // specify complete standards, and if one of these is defined, header
  375. // files will try to conform to the relevant standard. They are:
  376. //
  377. // ANSI macros:
  378. // _ANSI_SOURCE ANSI C89
  379. //
  380. // POSIX macros:
  381. // _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
  382. // _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
  383. // _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
  384. // _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
  385. // _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
  386. // _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
  387. // _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
  388. //
  389. // X/Open macros:
  390. // _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
  391. // _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
  392. // _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
  393. // _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
  394. // _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
  395. // _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
  396. //
  397. // NetBSD macros:
  398. // _NETBSD_SOURCE == 1 Make all NetBSD features available.
  399. //
  400. // If more than one of these "major" feature-test macros is defined,
  401. // then the set of facilities provided (and namespace used) is the
  402. // union of that specified by the relevant standards, and in case of
  403. // conflict, the earlier standard in the above list has precedence (so
  404. // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  405. // of rename() that's used is the POSIX one). If none of the "major"
  406. // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  407. //
  408. // There are also "minor" feature-test macros, which enable extra
  409. // functionality in addition to some base standard. They should be
  410. // defined along with one of the "major" macros. The "minor" macros
  411. // are:
  412. //
  413. // _REENTRANT
  414. // _ISOC99_SOURCE
  415. // _ISOC11_SOURCE
  416. // _LARGEFILE_SOURCE Large File Support
  417. // <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  418. type Iovec = struct {
  419. Fiov_base uintptr
  420. Fiov_len Size_t
  421. } /* uio.h:56:1 */
  422. // $NetBSD: ansi.h,v 1.14 2011/07/17 20:54:54 joerg Exp $
  423. // -
  424. // Copyright (c) 2000, 2001, 2002 The NetBSD Foundation, Inc.
  425. // All rights reserved.
  426. //
  427. // This code is derived from software contributed to The NetBSD Foundation
  428. // by Jun-ichiro itojun Hagino and by Klaus Klein.
  429. //
  430. // Redistribution and use in source and binary forms, with or without
  431. // modification, are permitted provided that the following conditions
  432. // are met:
  433. // 1. Redistributions of source code must retain the above copyright
  434. // notice, this list of conditions and the following disclaimer.
  435. // 2. Redistributions in binary form must reproduce the above copyright
  436. // notice, this list of conditions and the following disclaimer in the
  437. // documentation and/or other materials provided with the distribution.
  438. //
  439. // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  440. // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  441. // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  442. // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  443. // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  444. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  445. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  446. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  447. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  448. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  449. // POSSIBILITY OF SUCH DAMAGE.
  450. type Off_t = X__off_t /* uio.h:65:18 */
  451. // $NetBSD: sigtypes.h,v 1.11 2017/01/12 18:29:14 christos Exp $
  452. // Copyright (c) 1982, 1986, 1989, 1991, 1993
  453. // The Regents of the University of California. All rights reserved.
  454. // (c) UNIX System Laboratories, Inc.
  455. // All or some portions of this file are derived from material licensed
  456. // to the University of California by American Telephone and Telegraph
  457. // Co. or Unix System Laboratories, Inc. and are reproduced herein with
  458. // the permission of UNIX System Laboratories, Inc.
  459. //
  460. // Redistribution and use in source and binary forms, with or without
  461. // modification, are permitted provided that the following conditions
  462. // are met:
  463. // 1. Redistributions of source code must retain the above copyright
  464. // notice, this list of conditions and the following disclaimer.
  465. // 2. Redistributions in binary form must reproduce the above copyright
  466. // notice, this list of conditions and the following disclaimer in the
  467. // documentation and/or other materials provided with the distribution.
  468. // 3. Neither the name of the University nor the names of its contributors
  469. // may be used to endorse or promote products derived from this software
  470. // without specific prior written permission.
  471. //
  472. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  473. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  474. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  475. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  476. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  477. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  478. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  479. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  480. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  481. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  482. // SUCH DAMAGE.
  483. //
  484. // @(#)signal.h 8.4 (Berkeley) 5/4/95
  485. // This header file defines various signal-related types. We also keep
  486. // the macros to manipulate sigset_t here, to encapsulate knowledge of
  487. // its internals.
  488. // $NetBSD: featuretest.h,v 1.10 2013/04/26 18:29:06 christos Exp $
  489. // Written by Klaus Klein <kleink@NetBSD.org>, February 2, 1998.
  490. // Public domain.
  491. //
  492. // NOTE: Do not protect this header against multiple inclusion. Doing
  493. // so can have subtle side-effects due to header file inclusion order
  494. // and testing of e.g. _POSIX_SOURCE vs. _POSIX_C_SOURCE. Instead,
  495. // protect each CPP macro that we want to supply.
  496. // Feature-test macros are defined by several standards, and allow an
  497. // application to specify what symbols they want the system headers to
  498. // expose, and hence what standard they want them to conform to.
  499. // There are two classes of feature-test macros. The first class
  500. // specify complete standards, and if one of these is defined, header
  501. // files will try to conform to the relevant standard. They are:
  502. //
  503. // ANSI macros:
  504. // _ANSI_SOURCE ANSI C89
  505. //
  506. // POSIX macros:
  507. // _POSIX_SOURCE == 1 IEEE Std 1003.1 (version?)
  508. // _POSIX_C_SOURCE == 1 IEEE Std 1003.1-1990
  509. // _POSIX_C_SOURCE == 2 IEEE Std 1003.2-1992
  510. // _POSIX_C_SOURCE == 199309L IEEE Std 1003.1b-1993
  511. // _POSIX_C_SOURCE == 199506L ISO/IEC 9945-1:1996
  512. // _POSIX_C_SOURCE == 200112L IEEE Std 1003.1-2001
  513. // _POSIX_C_SOURCE == 200809L IEEE Std 1003.1-2008
  514. //
  515. // X/Open macros:
  516. // _XOPEN_SOURCE System Interfaces and Headers, Issue 4, Ver 2
  517. // _XOPEN_SOURCE_EXTENDED == 1 XSH4.2 UNIX extensions
  518. // _XOPEN_SOURCE == 500 System Interfaces and Headers, Issue 5
  519. // _XOPEN_SOURCE == 520 Networking Services (XNS), Issue 5.2
  520. // _XOPEN_SOURCE == 600 IEEE Std 1003.1-2001, XSI option
  521. // _XOPEN_SOURCE == 700 IEEE Std 1003.1-2008, XSI option
  522. //
  523. // NetBSD macros:
  524. // _NETBSD_SOURCE == 1 Make all NetBSD features available.
  525. //
  526. // If more than one of these "major" feature-test macros is defined,
  527. // then the set of facilities provided (and namespace used) is the
  528. // union of that specified by the relevant standards, and in case of
  529. // conflict, the earlier standard in the above list has precedence (so
  530. // if both _POSIX_C_SOURCE and _NETBSD_SOURCE are defined, the version
  531. // of rename() that's used is the POSIX one). If none of the "major"
  532. // feature-test macros is defined, _NETBSD_SOURCE is assumed.
  533. //
  534. // There are also "minor" feature-test macros, which enable extra
  535. // functionality in addition to some base standard. They should be
  536. // defined along with one of the "major" macros. The "minor" macros
  537. // are:
  538. //
  539. // _REENTRANT
  540. // _ISOC99_SOURCE
  541. // _ISOC11_SOURCE
  542. // _LARGEFILE_SOURCE Large File Support
  543. // <http://ftp.sas.com/standards/large.file/x_open.20Mar96.html>
  544. // $NetBSD: int_types.h,v 1.17 2014/07/25 21:43:13 joerg Exp $
  545. // -
  546. // Copyright (c) 2014 The NetBSD Foundation, Inc.
  547. // All rights reserved.
  548. //
  549. // This code is derived from software contributed to The NetBSD Foundation
  550. // by Matt Thomas of 3am Software Foundry.
  551. //
  552. // Redistribution and use in source and binary forms, with or without
  553. // modification, are permitted provided that the following conditions
  554. // are met:
  555. // 1. Redistributions of source code must retain the above copyright
  556. // notice, this list of conditions and the following disclaimer.
  557. // 2. Redistributions in binary form must reproduce the above copyright
  558. // notice, this list of conditions and the following disclaimer in the
  559. // documentation and/or other materials provided with the distribution.
  560. //
  561. // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  562. // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  563. // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  564. // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  565. // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  566. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  567. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  568. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  569. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  570. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  571. // POSSIBILITY OF SUCH DAMAGE.
  572. // $NetBSD: ansi.h,v 1.18 2019/05/07 03:49:26 kamil Exp $
  573. // $NetBSD: common_ansi.h,v 1.1 2014/08/19 07:27:31 matt Exp $
  574. // -
  575. // Copyright (c) 2014 The NetBSD Foundation, Inc.
  576. // All rights reserved.
  577. //
  578. // This code is derived from software contributed to The NetBSD Foundation
  579. // by Matt Thomas of 3am Software Foundry.
  580. //
  581. // Redistribution and use in source and binary forms, with or without
  582. // modification, are permitted provided that the following conditions
  583. // are met:
  584. // 1. Redistributions of source code must retain the above copyright
  585. // notice, this list of conditions and the following disclaimer.
  586. // 2. Redistributions in binary form must reproduce the above copyright
  587. // notice, this list of conditions and the following disclaimer in the
  588. // documentation and/or other materials provided with the distribution.
  589. //
  590. // THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
  591. // ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
  592. // TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  593. // PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
  594. // BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  595. // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  596. // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  597. // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  598. // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  599. // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  600. // POSSIBILITY OF SUCH DAMAGE.
  601. type Sigset_t = struct{ F__bits [4]X__uint32_t } /* sigtypes.h:62:3 */
  602. // Macro for manipulating signal masks.
  603. type Sigaltstack = struct {
  604. Fss_sp uintptr
  605. Fss_size Size_t
  606. Fss_flags int32
  607. } /* sigtypes.h:108:9 */
  608. // Macro for manipulating signal masks.
  609. type Stack_t = Sigaltstack /* sigtypes.h:116:3 */
  610. // Socket types.
  611. // Option flags per-socket.
  612. // SO_OTIMESTAMP 0x0400
  613. // Allowed default option flags
  614. // Additional options, not kept in so_options.
  615. // SO_OSNDTIMEO 0x1005
  616. // SO_ORCVTIMEO 0x1006
  617. // Structure used for manipulating linger option.
  618. type Linger = struct {
  619. Fl_onoff int32
  620. Fl_linger int32
  621. } /* socket.h:182:1 */
  622. type Accept_filter_arg = struct {
  623. Faf_name [16]uint8
  624. Faf_arg [240]uint8
  625. } /* socket.h:187:1 */
  626. // Level number for (get/set)sockopt() to apply to socket itself.
  627. // Address families.
  628. // Structure used by kernel to store most
  629. // addresses.
  630. type Sockaddr = struct {
  631. Fsa_len X__uint8_t
  632. Fsa_family X__sa_family_t
  633. Fsa_data [14]uint8
  634. } /* socket.h:255:1 */
  635. // RFC 2553: protocol-independent placeholder for socket addresses
  636. type Sockaddr_storage = struct {
  637. Fss_len X__uint8_t
  638. Fss_family X__sa_family_t
  639. F__ss_pad1 [6]uint8
  640. F__ss_align X__int64_t
  641. F__ss_pad2 [112]uint8
  642. } /* socket.h:301:1 */
  643. // Protocol families, same as address families for now.
  644. type Pid_t = X__pid_t /* socket.h:366:18 */ // process id
  645. type Gid_t = X__gid_t /* socket.h:371:18 */ // group id
  646. type Uid_t = X__uid_t /* socket.h:376:18 */ // user id
  647. // Socket credentials.
  648. type Sockcred = struct {
  649. Fsc_pid X__pid_t
  650. Fsc_uid X__uid_t
  651. Fsc_euid X__uid_t
  652. Fsc_gid X__gid_t
  653. Fsc_egid X__gid_t
  654. Fsc_ngroups int32
  655. Fsc_groups [1]X__gid_t
  656. } /* socket.h:383:1 */
  657. // Compute size of a sockcred structure with groups.
  658. // Definition for CTL_NET PCB fetching sysctls
  659. type Kinfo_pcb = struct {
  660. Fki_pcbaddr X__uint64_t
  661. Fki_ppcbaddr X__uint64_t
  662. Fki_sockaddr X__uint64_t
  663. Fki_family X__uint32_t
  664. Fki_type X__uint32_t
  665. Fki_protocol X__uint32_t
  666. Fki_pflags X__uint32_t
  667. Fki_sostate X__uint32_t
  668. Fki_prstate X__uint32_t
  669. Fki_tstate X__int32_t
  670. Fki_tflags X__uint32_t
  671. Fki_rcvq X__uint64_t
  672. Fki_sndq X__uint64_t
  673. Fki_s struct {
  674. F_kis_src struct {
  675. Fsa_len X__uint8_t
  676. Fsa_family X__sa_family_t
  677. Fsa_data [14]uint8
  678. }
  679. F__ccgo_pad1 [248]byte
  680. }
  681. Fki_d struct {
  682. F_kid_dst struct {
  683. Fsa_len X__uint8_t
  684. Fsa_family X__sa_family_t
  685. Fsa_data [14]uint8
  686. }
  687. F__ccgo_pad1 [248]byte
  688. }
  689. Fki_inode X__uint64_t
  690. Fki_vnode X__uint64_t
  691. Fki_conn X__uint64_t
  692. Fki_refs X__uint64_t
  693. Fki_nextref X__uint64_t
  694. } /* socket.h:404:1 */
  695. // PF_ROUTE - Routing table
  696. //
  697. // Three additional levels are defined:
  698. // Fourth: address family, 0 is wildcard
  699. // Fifth: type of info, defined below
  700. // Sixth: flag(s) to mask with for NET_RT_FLAGS
  701. // Maximum queue length specifiable by listen(2).
  702. // $NetBSD: cdefs.h,v 1.141 2019/02/21 21:34:05 christos Exp $
  703. // * Copyright (c) 1991, 1993
  704. // The Regents of the University of California. All rights reserved.
  705. //
  706. // This code is derived from software contributed to Berkeley by
  707. // Berkeley Software Design, Inc.
  708. //
  709. // Redistribution and use in source and binary forms, with or without
  710. // modification, are permitted provided that the following conditions
  711. // are met:
  712. // 1. Redistributions of source code must retain the above copyright
  713. // notice, this list of conditions and the following disclaimer.
  714. // 2. Redistributions in binary form must reproduce the above copyright
  715. // notice, this list of conditions and the following disclaimer in the
  716. // documentation and/or other materials provided with the distribution.
  717. // 3. Neither the name of the University nor the names of its contributors
  718. // may be used to endorse or promote products derived from this software
  719. // without specific prior written permission.
  720. //
  721. // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  722. // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  723. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  724. // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  725. // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  726. // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  727. // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  728. // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  729. // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  730. // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  731. // SUCH DAMAGE.
  732. //
  733. // @(#)cdefs.h 8.8 (Berkeley) 1/9/95
  734. // Message header for recvmsg and sendmsg calls.
  735. // Used value-result for recvmsg, value only for sendmsg.
  736. type Msghdr = struct {
  737. Fmsg_name uintptr
  738. Fmsg_namelen X__socklen_t
  739. Fmsg_iov uintptr
  740. Fmsg_iovlen int32
  741. Fmsg_control uintptr
  742. Fmsg_controllen X__socklen_t
  743. Fmsg_flags int32
  744. } /* socket.h:479:1 */
  745. type Mmsghdr = struct {
  746. Fmsg_hdr struct {
  747. Fmsg_name uintptr
  748. Fmsg_namelen X__socklen_t
  749. Fmsg_iov uintptr
  750. Fmsg_iovlen int32
  751. Fmsg_control uintptr
  752. Fmsg_controllen X__socklen_t
  753. Fmsg_flags int32
  754. }
  755. Fmsg_len uint32
  756. } /* socket.h:506:1 */
  757. // Extra flags used internally only
  758. // Header for ancillary data objects in msg_control buffer.
  759. // Used for additional information with/about a datagram
  760. // not expressible by flags. The format is a sequence
  761. // of message elements headed by cmsghdr structures.
  762. type Cmsghdr = struct {
  763. Fcmsg_len X__socklen_t
  764. Fcmsg_level int32
  765. Fcmsg_type int32
  766. } /* socket.h:525:1 */
  767. var _ uint8 /* gen.c:2:13: */