netdb_openbsd_arm64.go (71855B)
1 // Code generated by 'ccgo netdb/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 netdb/netdb_openbsd_arm64.go -pkgname netdb', DO NOT EDIT. 2 3 package netdb 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 ) 11 12 var _ = math.Pi 13 var _ reflect.Kind 14 var _ atomic.Value 15 var _ unsafe.Pointer 16 17 const ( 18 AI_ADDRCONFIG = 64 // netdb.h:165:1: 19 AI_CANONNAME = 2 // netdb.h:160:1: 20 AI_EXT = 8 // netdb.h:162:1: 21 AI_FQDN = 32 // netdb.h:164:1: 22 AI_MASK = 119 // netdb.h:167:1: 23 AI_NUMERICHOST = 4 // netdb.h:161:1: 24 AI_NUMERICSERV = 16 // netdb.h:163:1: 25 AI_PASSIVE = 1 // netdb.h:159:1: 26 BIG_ENDIAN = 4321 // endian.h:45:1: 27 BYTE_ORDER = 1234 // endian.h:47:1: 28 EAI_ADDRFAMILY = -9 // netdb.h:196:1: 29 EAI_AGAIN = -3 // netdb.h:190:1: 30 EAI_BADFLAGS = -1 // netdb.h:188:1: 31 EAI_BADHINTS = -12 // netdb.h:199:1: 32 EAI_FAIL = -4 // netdb.h:191:1: 33 EAI_FAMILY = -6 // netdb.h:193:1: 34 EAI_MEMORY = -10 // netdb.h:197:1: 35 EAI_NODATA = -5 // netdb.h:192:1: 36 EAI_NONAME = -2 // netdb.h:189:1: 37 EAI_OVERFLOW = -14 // netdb.h:201:1: 38 EAI_PROTOCOL = -13 // netdb.h:200:1: 39 EAI_SERVICE = -8 // netdb.h:195:1: 40 EAI_SOCKTYPE = -7 // netdb.h:194:1: 41 EAI_SYSTEM = -11 // netdb.h:198:1: 42 ERRSET_FAIL = 2 // netdb.h:225:1: 43 ERRSET_INVAL = 3 // netdb.h:226:1: 44 ERRSET_NODATA = 5 // netdb.h:228:1: 45 ERRSET_NOMEMORY = 1 // netdb.h:224:1: 46 ERRSET_NONAME = 4 // netdb.h:227:1: 47 ERRSET_SUCCESS = 0 // netdb.h:223:1: 48 HOST_NOT_FOUND = 1 // netdb.h:151:1: 49 ICMP6_FILTER = 18 // in6.h:304:1: 50 INET6_ADDRSTRLEN = 46 // in6.h:97:1: 51 INET_ADDRSTRLEN = 16 // in.h:382:1: 52 IN_CLASSA_MAX = 128 // in.h:195:1: 53 IN_CLASSA_NSHIFT = 24 // in.h:193:1: 54 IN_CLASSB_MAX = 65536 // in.h:202:1: 55 IN_CLASSB_NSHIFT = 16 // in.h:200:1: 56 IN_CLASSC_NSHIFT = 8 // in.h:207:1: 57 IN_CLASSD_NSHIFT = 28 // in.h:214:1: 58 IN_LOOPBACKNET = 127 // in.h:253:1: 59 IN_RFC3021_NSHIFT = 31 // in.h:219:1: 60 IPCTL_ARPDOWN = 40 // in.h:698:1: 61 IPCTL_ARPQUEUE = 41 // in.h:699:1: 62 IPCTL_ARPQUEUED = 36 // in.h:694:1: 63 IPCTL_ARPTIMEOUT = 39 // in.h:697:1: 64 IPCTL_DEFTTL = 3 // in.h:662:1: 65 IPCTL_DIRECTEDBCAST = 6 // in.h:664:1: 66 IPCTL_ENCDEBUG = 12 // in.h:670:1: 67 IPCTL_FORWARDING = 1 // in.h:660:1: 68 IPCTL_IFQUEUE = 30 // in.h:688:1: 69 IPCTL_IPPORT_FIRSTAUTO = 7 // in.h:665:1: 70 IPCTL_IPPORT_HIFIRSTAUTO = 9 // in.h:667:1: 71 IPCTL_IPPORT_HILASTAUTO = 10 // in.h:668:1: 72 IPCTL_IPPORT_LASTAUTO = 8 // in.h:666:1: 73 IPCTL_IPPORT_MAXQUEUE = 11 // in.h:669:1: 74 IPCTL_IPSEC_ALLOCATIONS = 18 // in.h:676:1: 75 IPCTL_IPSEC_AUTH_ALGORITHM = 26 // in.h:684:1: 76 IPCTL_IPSEC_BYTES = 20 // in.h:678:1: 77 IPCTL_IPSEC_EMBRYONIC_SA_TIMEOUT = 15 // in.h:673:1: 78 IPCTL_IPSEC_ENC_ALGORITHM = 25 // in.h:683:1: 79 IPCTL_IPSEC_EXPIRE_ACQUIRE = 14 // in.h:672:1: 80 IPCTL_IPSEC_FIRSTUSE = 24 // in.h:682:1: 81 IPCTL_IPSEC_IPCOMP_ALGORITHM = 29 // in.h:687:1: 82 IPCTL_IPSEC_REQUIRE_PFS = 16 // in.h:674:1: 83 IPCTL_IPSEC_SOFT_ALLOCATIONS = 17 // in.h:675:1: 84 IPCTL_IPSEC_SOFT_BYTES = 19 // in.h:677:1: 85 IPCTL_IPSEC_SOFT_FIRSTUSE = 23 // in.h:681:1: 86 IPCTL_IPSEC_SOFT_TIMEOUT = 22 // in.h:680:1: 87 IPCTL_IPSEC_STATS = 13 // in.h:671:1: 88 IPCTL_IPSEC_TIMEOUT = 21 // in.h:679:1: 89 IPCTL_MAXID = 42 // in.h:700:1: 90 IPCTL_MFORWARDING = 31 // in.h:689:1: 91 IPCTL_MRTMFC = 37 // in.h:695:1: 92 IPCTL_MRTPROTO = 34 // in.h:692:1: 93 IPCTL_MRTSTATS = 35 // in.h:693:1: 94 IPCTL_MRTVIF = 38 // in.h:696:1: 95 IPCTL_MTUDISC = 27 // in.h:685:1: 96 IPCTL_MTUDISCTIMEOUT = 28 // in.h:686:1: 97 IPCTL_MULTIPATH = 32 // in.h:690:1: 98 IPCTL_SENDREDIRECTS = 2 // in.h:661:1: 99 IPCTL_SOURCEROUTE = 5 // in.h:663:1: 100 IPCTL_STATS = 33 // in.h:691:1: 101 IPPORT_HIFIRSTAUTO = 49152 // in.h:159:1: 102 IPPORT_HILASTAUTO = 65535 // in.h:160:1: 103 IPPORT_RESERVED = 1024 // in.h:153:1: 104 IPPORT_USERRESERVED = 49151 // in.h:154:1: 105 IPPROTO_AH = 51 // in.h:89:1: 106 IPPROTO_CARP = 112 // in.h:99:1: 107 IPPROTO_DIVERT = 258 // in.h:109:1: 108 IPPROTO_DONE = 257 // in.h:173:1: 109 IPPROTO_DSTOPTS = 60 // in.h:93:1: 110 IPPROTO_EGP = 8 // in.h:78:1: 111 IPPROTO_ENCAP = 98 // in.h:96:1: 112 IPPROTO_EON = 80 // in.h:94:1: 113 IPPROTO_ESP = 50 // in.h:88:1: 114 IPPROTO_ETHERIP = 97 // in.h:95:1: 115 IPPROTO_FRAGMENT = 44 // in.h:85:1: 116 IPPROTO_GGP = 3 // in.h:74:1: 117 IPPROTO_GRE = 47 // in.h:87:1: 118 IPPROTO_HOPOPTS = 0 // in.h:71:1: 119 IPPROTO_ICMP = 1 // in.h:72:1: 120 IPPROTO_ICMPV6 = 58 // in.h:91:1: 121 IPPROTO_IDP = 22 // in.h:81:1: 122 IPPROTO_IGMP = 2 // in.h:73:1: 123 IPPROTO_IP = 0 // in.h:70:1: 124 IPPROTO_IPCOMP = 108 // in.h:98:1: 125 IPPROTO_IPIP = 4 // in.h:75:1: 126 IPPROTO_IPV4 = 4 // in.h:76:1: 127 IPPROTO_IPV6 = 41 // in.h:83:1: 128 IPPROTO_MAX = 256 // in.h:106:1: 129 IPPROTO_MAXID = 259 // in.h:393:1: 130 IPPROTO_MOBILE = 55 // in.h:90:1: 131 IPPROTO_MPLS = 137 // in.h:102:1: 132 IPPROTO_NONE = 59 // in.h:92:1: 133 IPPROTO_PFSYNC = 240 // in.h:103:1: 134 IPPROTO_PIM = 103 // in.h:97:1: 135 IPPROTO_PUP = 12 // in.h:79:1: 136 IPPROTO_RAW = 255 // in.h:104:1: 137 IPPROTO_ROUTING = 43 // in.h:84:1: 138 IPPROTO_RSVP = 46 // in.h:86:1: 139 IPPROTO_SCTP = 132 // in.h:100:1: 140 IPPROTO_TCP = 6 // in.h:77:1: 141 IPPROTO_TP = 29 // in.h:82:1: 142 IPPROTO_UDP = 17 // in.h:80:1: 143 IPPROTO_UDPLITE = 136 // in.h:101:1: 144 IPSEC6_OUTSA = 56 // in6.h:337:1: 145 IPSEC_AUTH_LEVEL_DEFAULT = 1 // in.h:336:1: 146 IPSEC_ESP_NETWORK_LEVEL_DEFAULT = 1 // in.h:338:1: 147 IPSEC_ESP_TRANS_LEVEL_DEFAULT = 1 // in.h:337:1: 148 IPSEC_IPCOMP_LEVEL_DEFAULT = 1 // in.h:339:1: 149 IPSEC_LEVEL_AVAIL = 0x01 // in.h:330:1: 150 IPSEC_LEVEL_BYPASS = 0x00 // in.h:328:1: 151 IPSEC_LEVEL_DEFAULT = 1 // in.h:334:1: 152 IPSEC_LEVEL_NONE = 0x00 // in.h:329:1: 153 IPSEC_LEVEL_REQUIRE = 0x03 // in.h:332:1: 154 IPSEC_LEVEL_UNIQUE = 0x04 // in.h:333:1: 155 IPSEC_LEVEL_USE = 0x02 // in.h:331:1: 156 IPV6CTL_ACCEPT_RTADV = 12 // in6.h:575:1: 157 IPV6CTL_AUTO_FLOWLABEL = 17 // in6.h:579:1: 158 IPV6CTL_DAD_COUNT = 16 // in6.h:578:1: 159 IPV6CTL_DAD_PENDING = 49 // in6.h:589:1: 160 IPV6CTL_DEFHLIM = 3 // in6.h:567:1: 161 IPV6CTL_DEFMCASTHLIM = 18 // in6.h:580:1: 162 IPV6CTL_FORWARDING = 1 // in6.h:565:1: 163 IPV6CTL_FORWSRCRT = 5 // in6.h:568:1: 164 IPV6CTL_HDRNESTLIMIT = 15 // in6.h:577:1: 165 IPV6CTL_IFQUEUE = 51 // in6.h:591:1: 166 IPV6CTL_LOG_INTERVAL = 14 // in6.h:576:1: 167 IPV6CTL_MAXDYNROUTES = 48 // in6.h:588:1: 168 IPV6CTL_MAXFRAGPACKETS = 9 // in6.h:572:1: 169 IPV6CTL_MAXFRAGS = 41 // in6.h:583:1: 170 IPV6CTL_MAXID = 55 // in6.h:595:1: 171 IPV6CTL_MCAST_PMTU = 44 // in6.h:586:1: 172 IPV6CTL_MFORWARDING = 42 // in6.h:584:1: 173 IPV6CTL_MRTMFC = 53 // in6.h:593:1: 174 IPV6CTL_MRTMIF = 52 // in6.h:592:1: 175 IPV6CTL_MRTPROTO = 8 // in6.h:571:1: 176 IPV6CTL_MRTSTATS = 7 // in6.h:570:1: 177 IPV6CTL_MTUDISCTIMEOUT = 50 // in6.h:590:1: 178 IPV6CTL_MULTIPATH = 43 // in6.h:585:1: 179 IPV6CTL_NEIGHBORGCTHRESH = 45 // in6.h:587:1: 180 IPV6CTL_SENDREDIRECTS = 2 // in6.h:566:1: 181 IPV6CTL_SOIIKEY = 54 // in6.h:594:1: 182 IPV6CTL_SOURCECHECK = 10 // in6.h:573:1: 183 IPV6CTL_SOURCECHECK_LOGINT = 11 // in6.h:574:1: 184 IPV6CTL_STATS = 6 // in6.h:569:1: 185 IPV6CTL_USE_DEPRECATED = 21 // in6.h:581:1: 186 IPV6PROTO_MAXID = 259 // in6.h:470:1: 187 IPV6_AUTH_LEVEL = 53 // in6.h:333:1: 188 IPV6_AUTOFLOWLABEL = 59 // in6.h:341:1: 189 IPV6_CHECKSUM = 26 // in6.h:307:1: 190 IPV6_DEFAULT_MULTICAST_HOPS = 1 // in6.h:360:1: 191 IPV6_DEFAULT_MULTICAST_LOOP = 1 // in6.h:361:1: 192 IPV6_DONTFRAG = 62 // in6.h:345:1: 193 IPV6_DSTOPTS = 50 // in6.h:330:1: 194 IPV6_ESP_NETWORK_LEVEL = 55 // in6.h:335:1: 195 IPV6_ESP_TRANS_LEVEL = 54 // in6.h:334:1: 196 IPV6_HOPLIMIT = 47 // in6.h:327:1: 197 IPV6_HOPOPTS = 49 // in6.h:329:1: 198 IPV6_IPCOMP_LEVEL = 60 // in6.h:342:1: 199 IPV6_JOIN_GROUP = 12 // in6.h:300:1: 200 IPV6_LEAVE_GROUP = 13 // in6.h:301:1: 201 IPV6_MINHOPCOUNT = 65 // in6.h:349:1: 202 IPV6_MULTICAST_HOPS = 10 // in6.h:298:1: 203 IPV6_MULTICAST_IF = 9 // in6.h:297:1: 204 IPV6_MULTICAST_LOOP = 11 // in6.h:299:1: 205 IPV6_NEXTHOP = 48 // in6.h:328:1: 206 IPV6_PATHMTU = 44 // in6.h:322:1: 207 IPV6_PIPEX = 63 // in6.h:346:1: 208 IPV6_PKTINFO = 46 // in6.h:326:1: 209 IPV6_PORTRANGE = 14 // in6.h:302:1: 210 IPV6_PORTRANGE_DEFAULT = 0 // in6.h:393:1: 211 IPV6_PORTRANGE_HIGH = 1 // in6.h:394:1: 212 IPV6_PORTRANGE_LOW = 2 // in6.h:395:1: 213 IPV6_RECVDSTOPTS = 40 // in6.h:317:1: 214 IPV6_RECVDSTPORT = 64 // in6.h:348:1: 215 IPV6_RECVHOPLIMIT = 37 // in6.h:314:1: 216 IPV6_RECVHOPOPTS = 39 // in6.h:316:1: 217 IPV6_RECVPATHMTU = 43 // in6.h:320:1: 218 IPV6_RECVPKTINFO = 36 // in6.h:313:1: 219 IPV6_RECVRTHDR = 38 // in6.h:315:1: 220 IPV6_RECVTCLASS = 57 // in6.h:339:1: 221 IPV6_RTABLE = 0x1021 // in6.h:351:1: 222 IPV6_RTHDR = 51 // in6.h:331:1: 223 IPV6_RTHDRDSTOPTS = 35 // in6.h:311:1: 224 IPV6_RTHDR_LOOSE = 0 // in6.h:354:1: 225 IPV6_RTHDR_TYPE_0 = 0 // in6.h:355:1: 226 IPV6_TCLASS = 61 // in6.h:344:1: 227 IPV6_UNICAST_HOPS = 4 // in6.h:296:1: 228 IPV6_USE_MIN_MTU = 42 // in6.h:319:1: 229 IPV6_V6ONLY = 27 // in6.h:308:1: 230 IP_ADD_MEMBERSHIP = 12 // in.h:297:1: 231 IP_AUTH_LEVEL = 20 // in.h:300:1: 232 IP_DEFAULT_MULTICAST_LOOP = 1 // in.h:347:1: 233 IP_DEFAULT_MULTICAST_TTL = 1 // in.h:346:1: 234 IP_DROP_MEMBERSHIP = 13 // in.h:298:1: 235 IP_ESP_NETWORK_LEVEL = 22 // in.h:302:1: 236 IP_ESP_TRANS_LEVEL = 21 // in.h:301:1: 237 IP_HDRINCL = 2 // in.h:287:1: 238 IP_IPCOMP_LEVEL = 29 // in.h:309:1: 239 IP_IPDEFTTL = 37 // in.h:317:1: 240 IP_IPSECFLOWINFO = 36 // in.h:316:1: 241 IP_IPSEC_LOCAL_AUTH = 27 // in.h:307:1: 242 IP_IPSEC_LOCAL_CRED = 25 // in.h:305:1: 243 IP_IPSEC_LOCAL_ID = 23 // in.h:303:1: 244 IP_IPSEC_REMOTE_AUTH = 28 // in.h:308:1: 245 IP_IPSEC_REMOTE_CRED = 26 // in.h:306:1: 246 IP_IPSEC_REMOTE_ID = 24 // in.h:304:1: 247 IP_MAX_MEMBERSHIPS = 4095 // in.h:354:1: 248 IP_MINTTL = 32 // in.h:312:1: 249 IP_MIN_MEMBERSHIPS = 15 // in.h:353:1: 250 IP_MULTICAST_IF = 9 // in.h:294:1: 251 IP_MULTICAST_LOOP = 11 // in.h:296:1: 252 IP_MULTICAST_TTL = 10 // in.h:295:1: 253 IP_OPTIONS = 1 // in.h:286:1: 254 IP_PIPEX = 34 // in.h:314:1: 255 IP_PORTRANGE = 19 // in.h:299:1: 256 IP_PORTRANGE_DEFAULT = 0 // in.h:374:1: 257 IP_PORTRANGE_HIGH = 1 // in.h:375:1: 258 IP_PORTRANGE_LOW = 2 // in.h:376:1: 259 IP_RECVDSTADDR = 7 // in.h:292:1: 260 IP_RECVDSTPORT = 33 // in.h:313:1: 261 IP_RECVIF = 30 // in.h:310:1: 262 IP_RECVOPTS = 5 // in.h:290:1: 263 IP_RECVRETOPTS = 6 // in.h:291:1: 264 IP_RECVRTABLE = 35 // in.h:315:1: 265 IP_RECVTTL = 31 // in.h:311:1: 266 IP_RETOPTS = 8 // in.h:293:1: 267 IP_RTABLE = 0x1021 // in.h:321:1: 268 IP_SENDSRCADDR = 7 // in.h:318:1: 269 IP_TOS = 3 // in.h:288:1: 270 IP_TTL = 4 // in.h:289:1: 271 LITTLE_ENDIAN = 1234 // endian.h:44:1: 272 NETDB_INTERNAL = -1 // netdb.h:149:1: 273 NETDB_SUCCESS = 0 // netdb.h:150:1: 274 NI_DGRAM = 16 // netdb.h:175:1: 275 NI_MAXHOST = 256 // netdb.h:179:1: 276 NI_MAXSERV = 32 // netdb.h:180:1: 277 NI_NAMEREQD = 8 // netdb.h:174:1: 278 NI_NOFQDN = 4 // netdb.h:173:1: 279 NI_NUMERICHOST = 1 // netdb.h:171:1: 280 NI_NUMERICSERV = 2 // netdb.h:172:1: 281 NO_ADDRESS = 4 // netdb.h:155:1: 282 NO_DATA = 4 // netdb.h:154:1: 283 NO_RECOVERY = 3 // netdb.h:153:1: 284 PDP_ENDIAN = 3412 // endian.h:46:1: 285 RRSET_VALIDATED = 1 // netdb.h:218:1: 286 SCOPE_DELIMITER = 37 // netdb.h:185:1: 287 SIN6_LEN = 0 // in6.h:104:1: 288 TRY_AGAIN = 2 // netdb.h:152:1: 289 X_BIG_ENDIAN = 4321 // _endian.h:43:1: 290 X_BYTE_ORDER = 1234 // endian.h:60:1: 291 X_CLOCKID_T_DEFINED_ = 0 // types.h:162:1: 292 X_CLOCK_T_DEFINED_ = 0 // types.h:157:1: 293 X_FILE_OFFSET_BITS = 64 // <builtin>:25:1: 294 X_INT16_T_DEFINED_ = 0 // types.h:84:1: 295 X_INT32_T_DEFINED_ = 0 // types.h:94:1: 296 X_INT64_T_DEFINED_ = 0 // types.h:104:1: 297 X_INT8_T_DEFINED_ = 0 // types.h:74:1: 298 X_IN_ADDR_DECLARED = 0 // in.h:163:1: 299 X_IN_TYPES_DEFINED_ = 0 // in.h:62:1: 300 X_LITTLE_ENDIAN = 1234 // _endian.h:42:1: 301 X_LP64 = 1 // <predefined>:1:1: 302 X_MACHINE_CDEFS_H_ = 0 // cdefs.h:4:1: 303 X_MACHINE_ENDIAN_H_ = 0 // endian.h:20:1: 304 X_MACHINE__TYPES_H_ = 0 // _types.h:35:1: 305 X_MAX_PAGE_SHIFT = 12 // _types.h:57:1: 306 X_NETDB_H_ = 0 // netdb.h:88:1: 307 X_NETINET6_IN6_H_ = 0 // in6.h:69:1: 308 X_NETINET_IN_H_ = 0 // in.h:39:1: 309 X_OFF_T_DEFINED_ = 0 // types.h:192:1: 310 X_PATH_HEQUIV = "/etc/hosts.equiv" // netdb.h:97:1: 311 X_PATH_HOSTS = "/etc/hosts" // netdb.h:98:1: 312 X_PATH_NETWORKS = "/etc/networks" // netdb.h:99:1: 313 X_PATH_PROTOCOLS = "/etc/protocols" // netdb.h:100:1: 314 X_PATH_SERVICES = "/etc/services" // netdb.h:101:1: 315 X_PDP_ENDIAN = 3412 // _endian.h:44:1: 316 X_PID_T_DEFINED_ = 0 // types.h:167:1: 317 X_QUAD_HIGHWORD = 1 // _endian.h:95:1: 318 X_QUAD_LOWWORD = 0 // _endian.h:96:1: 319 X_RET_PROTECTOR = 1 // <predefined>:2:1: 320 X_SA_FAMILY_T_DEFINED_ = 0 // in.h:57:1: 321 X_SIZE_T_DEFINED_ = 0 // types.h:172:1: 322 X_SOCKLEN_T_DEFINED_ = 0 // in6.h:400:1: 323 X_SSIZE_T_DEFINED_ = 0 // types.h:177:1: 324 X_STACKALIGNBYTES = 15 // _types.h:54:1: 325 X_SYS_CDEFS_H_ = 0 // cdefs.h:39:1: 326 X_SYS_ENDIAN_H_ = 0 // endian.h:38:1: 327 X_SYS_TYPES_H_ = 0 // types.h:41:1: 328 X_SYS__ENDIAN_H_ = 0 // _endian.h:34:1: 329 X_SYS__TYPES_H_ = 0 // _types.h:35:1: 330 X_TIMER_T_DEFINED_ = 0 // types.h:187:1: 331 X_TIME_T_DEFINED_ = 0 // types.h:182:1: 332 X_UINT16_T_DEFINED_ = 0 // types.h:89:1: 333 X_UINT32_T_DEFINED_ = 0 // types.h:99:1: 334 X_UINT64_T_DEFINED_ = 0 // types.h:109:1: 335 X_UINT8_T_DEFINED_ = 0 // types.h:79:1: 336 Unix = 1 // <predefined>:360:1: 337 ) 338 339 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 340 341 type Size_t = uint64 /* <builtin>:9:23 */ 342 343 type Wchar_t = int32 /* <builtin>:15:24 */ 344 345 type X__int128_t = struct { 346 Flo int64 347 Fhi int64 348 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 349 type X__uint128_t = struct { 350 Flo uint64 351 Fhi uint64 352 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 353 354 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 355 type X__float128 = float64 /* <builtin>:47:21 */ 356 357 // $OpenBSD: netdb.h,v 1.33 2015/01/18 20:29:31 deraadt Exp $ 358 359 // ++Copyright++ 1980, 1983, 1988, 1993 360 // - 361 // Copyright (c) 1980, 1983, 1988, 1993 362 // The Regents of the University of California. All rights reserved. 363 // 364 // Redistribution and use in source and binary forms, with or without 365 // modification, are permitted provided that the following conditions 366 // are met: 367 // 1. Redistributions of source code must retain the above copyright 368 // notice, this list of conditions and the following disclaimer. 369 // 2. Redistributions in binary form must reproduce the above copyright 370 // notice, this list of conditions and the following disclaimer in the 371 // documentation and/or other materials provided with the distribution. 372 // 3. Neither the name of the University nor the names of its contributors 373 // may be used to endorse or promote products derived from this software 374 // without specific prior written permission. 375 // 376 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 377 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 378 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 379 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 380 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 381 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 382 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 383 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 384 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 385 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 386 // SUCH DAMAGE. 387 // - 388 // Portions Copyright (c) 1993 by Digital Equipment Corporation. 389 // 390 // Permission to use, copy, modify, and distribute this software for any 391 // purpose with or without fee is hereby granted, provided that the above 392 // copyright notice and this permission notice appear in all copies, and that 393 // the name of Digital Equipment Corporation not be used in advertising or 394 // publicity pertaining to distribution of the document or software without 395 // specific, written prior permission. 396 // 397 // THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL 398 // WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES 399 // OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL DIGITAL EQUIPMENT 400 // CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 401 // DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 402 // PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS 403 // ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 404 // SOFTWARE. 405 // - 406 // --Copyright-- 407 408 // Copyright (c) 1995, 1996, 1997, 1998, 1999 Craig Metz. All rights reserved. 409 // 410 // Redistribution and use in source and binary forms, with or without 411 // modification, are permitted provided that the following conditions 412 // are met: 413 // 1. Redistributions of source code must retain the above copyright 414 // notice, this list of conditions and the following disclaimer. 415 // 2. Redistributions in binary form must reproduce the above copyright 416 // notice, this list of conditions and the following disclaimer in the 417 // documentation and/or other materials provided with the distribution. 418 // 3. Neither the name of the author nor the names of any contributors 419 // may be used to endorse or promote products derived from this software 420 // without specific prior written permission. 421 // 422 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 423 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 424 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 425 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 426 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 427 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 428 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 429 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 430 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 431 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 432 // SUCH DAMAGE. 433 434 // @(#)netdb.h 8.1 (Berkeley) 6/2/93 435 // $From: netdb.h,v 8.7 1996/05/09 05:59:09 vixie Exp $ 436 437 // $OpenBSD: in.h,v 1.141 2021/06/02 00:09:57 dlg Exp $ 438 // $NetBSD: in.h,v 1.20 1996/02/13 23:41:47 christos Exp $ 439 440 // Copyright (c) 1982, 1986, 1990, 1993 441 // The Regents of the University of California. All rights reserved. 442 // 443 // Redistribution and use in source and binary forms, with or without 444 // modification, are permitted provided that the following conditions 445 // are met: 446 // 1. Redistributions of source code must retain the above copyright 447 // notice, this list of conditions and the following disclaimer. 448 // 2. Redistributions in binary form must reproduce the above copyright 449 // notice, this list of conditions and the following disclaimer in the 450 // documentation and/or other materials provided with the distribution. 451 // 3. Neither the name of the University nor the names of its contributors 452 // may be used to endorse or promote products derived from this software 453 // without specific prior written permission. 454 // 455 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 456 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 457 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 458 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 459 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 460 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 461 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 462 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 463 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 464 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 465 // SUCH DAMAGE. 466 467 // Constants and structures defined by the internet system, 468 // Per RFC 790, September 1981, and numerous additions. 469 470 // $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $ 471 // $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $ 472 473 // Copyright (c) 1991, 1993 474 // The Regents of the University of California. All rights reserved. 475 // 476 // This code is derived from software contributed to Berkeley by 477 // Berkeley Software Design, Inc. 478 // 479 // Redistribution and use in source and binary forms, with or without 480 // modification, are permitted provided that the following conditions 481 // are met: 482 // 1. Redistributions of source code must retain the above copyright 483 // notice, this list of conditions and the following disclaimer. 484 // 2. Redistributions in binary form must reproduce the above copyright 485 // notice, this list of conditions and the following disclaimer in the 486 // documentation and/or other materials provided with the distribution. 487 // 3. Neither the name of the University nor the names of its contributors 488 // may be used to endorse or promote products derived from this software 489 // without specific prior written permission. 490 // 491 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 492 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 493 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 494 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 495 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 496 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 497 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 498 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 499 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 500 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 501 // SUCH DAMAGE. 502 // 503 // @(#)cdefs.h 8.7 (Berkeley) 1/21/94 504 505 // $OpenBSD: cdefs.h,v 1.1 2016/12/17 23:38:33 patrick Exp $ 506 507 // Macro to test if we're using a specific version of gcc or later. 508 509 // The __CONCAT macro is used to concatenate parts of symbol names, e.g. 510 // with "#define OLD(foo) __CONCAT(old,foo)", OLD(foo) produces oldfoo. 511 // The __CONCAT macro is a bit tricky -- make sure you don't put spaces 512 // in between its arguments. Do not use __CONCAT on double-quoted strings, 513 // such as those from the __STRING macro: to concatenate strings just put 514 // them next to each other. 515 516 // GCC1 and some versions of GCC2 declare dead (non-returning) and 517 // pure (no side effects) functions using "volatile" and "const"; 518 // unfortunately, these then cause warnings under "-ansi -pedantic". 519 // GCC >= 2.5 uses the __attribute__((attrs)) style. All of these 520 // work for GNU C++ (modulo a slight glitch in the C++ grammar in 521 // the distribution version of 2.5.5). 522 523 // __returns_twice makes the compiler not assume the function 524 // only returns once. This affects registerisation of variables: 525 // even local variables need to be in memory across such a call. 526 // Example: setjmp() 527 528 // __only_inline makes the compiler only use this function definition 529 // for inlining; references that can't be inlined will be left as 530 // external references instead of generating a local copy. The 531 // matching library should include a simple extern definition for 532 // the function to handle those references. c.f. ctype.h 533 534 // GNU C version 2.96 adds explicit branch prediction so that 535 // the CPU back-end can hint the processor and also so that 536 // code blocks can be reordered such that the predicted path 537 // sees a more linear flow, thus improving cache behavior, etc. 538 // 539 // The following two macros provide us with a way to utilize this 540 // compiler feature. Use __predict_true() if you expect the expression 541 // to evaluate to true, and __predict_false() if you expect the 542 // expression to evaluate to false. 543 // 544 // A few notes about usage: 545 // 546 // * Generally, __predict_false() error condition checks (unless 547 // you have some _strong_ reason to do otherwise, in which case 548 // document it), and/or __predict_true() `no-error' condition 549 // checks, assuming you want to optimize for the no-error case. 550 // 551 // * Other than that, if you don't know the likelihood of a test 552 // succeeding from empirical or other `hard' evidence, don't 553 // make predictions. 554 // 555 // * These are meant to be used in places that are run `a lot'. 556 // It is wasteful to make predictions in code that is run 557 // seldomly (e.g. at subsystem initialization time) as the 558 // basic block reordering that this affects can often generate 559 // larger code. 560 561 // Delete pseudo-keywords wherever they are not available or needed. 562 563 // The __packed macro indicates that a variable or structure members 564 // should have the smallest possible alignment, despite any host CPU 565 // alignment requirements. 566 // 567 // The __aligned(x) macro specifies the minimum alignment of a 568 // variable or structure. 569 // 570 // These macros together are useful for describing the layout and 571 // alignment of messages exchanged with hardware or other systems. 572 573 // "The nice thing about standards is that there are so many to choose from." 574 // There are a number of "feature test macros" specified by (different) 575 // standards that determine which interfaces and types the header files 576 // should expose. 577 // 578 // Because of inconsistencies in these macros, we define our own 579 // set in the private name space that end in _VISIBLE. These are 580 // always defined and so headers can test their values easily. 581 // Things can get tricky when multiple feature macros are defined. 582 // We try to take the union of all the features requested. 583 // 584 // The following macros are guaranteed to have a value after cdefs.h 585 // has been included: 586 // __POSIX_VISIBLE 587 // __XPG_VISIBLE 588 // __ISO_C_VISIBLE 589 // __BSD_VISIBLE 590 591 // X/Open Portability Guides and Single Unix Specifications. 592 // _XOPEN_SOURCE XPG3 593 // _XOPEN_SOURCE && _XOPEN_VERSION = 4 XPG4 594 // _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED = 1 XPG4v2 595 // _XOPEN_SOURCE == 500 XPG5 596 // _XOPEN_SOURCE == 520 XPG5v2 597 // _XOPEN_SOURCE == 600 POSIX 1003.1-2001 with XSI 598 // _XOPEN_SOURCE == 700 POSIX 1003.1-2008 with XSI 599 // 600 // The XPG spec implies a specific value for _POSIX_C_SOURCE. 601 602 // POSIX macros, these checks must follow the XOPEN ones above. 603 // 604 // _POSIX_SOURCE == 1 1003.1-1988 (superseded by _POSIX_C_SOURCE) 605 // _POSIX_C_SOURCE == 1 1003.1-1990 606 // _POSIX_C_SOURCE == 2 1003.2-1992 607 // _POSIX_C_SOURCE == 199309L 1003.1b-1993 608 // _POSIX_C_SOURCE == 199506L 1003.1c-1995, 1003.1i-1995, 609 // and the omnibus ISO/IEC 9945-1:1996 610 // _POSIX_C_SOURCE == 200112L 1003.1-2001 611 // _POSIX_C_SOURCE == 200809L 1003.1-2008 612 // 613 // The POSIX spec implies a specific value for __ISO_C_VISIBLE, though 614 // this may be overridden by the _ISOC99_SOURCE macro later. 615 616 // _ANSI_SOURCE means to expose ANSI C89 interfaces only. 617 // If the user defines it in addition to one of the POSIX or XOPEN 618 // macros, assume the POSIX/XOPEN macro(s) should take precedence. 619 620 // _ISOC99_SOURCE, _ISOC11_SOURCE, __STDC_VERSION__, and __cplusplus 621 // override any of the other macros since they are non-exclusive. 622 623 // Finally deal with BSD-specific interfaces that are not covered 624 // by any standards. We expose these when none of the POSIX or XPG 625 // macros is defined or if the user explicitly asks for them. 626 627 // Default values. 628 629 // $OpenBSD: types.h,v 1.49 2022/08/06 13:31:13 semarie Exp $ 630 // $NetBSD: types.h,v 1.29 1996/11/15 22:48:25 jtc Exp $ 631 632 // - 633 // Copyright (c) 1982, 1986, 1991, 1993 634 // The Regents of the University of California. All rights reserved. 635 // (c) UNIX System Laboratories, Inc. 636 // All or some portions of this file are derived from material licensed 637 // to the University of California by American Telephone and Telegraph 638 // Co. or Unix System Laboratories, Inc. and are reproduced herein with 639 // the permission of UNIX System Laboratories, Inc. 640 // 641 // Redistribution and use in source and binary forms, with or without 642 // modification, are permitted provided that the following conditions 643 // are met: 644 // 1. Redistributions of source code must retain the above copyright 645 // notice, this list of conditions and the following disclaimer. 646 // 2. Redistributions in binary form must reproduce the above copyright 647 // notice, this list of conditions and the following disclaimer in the 648 // documentation and/or other materials provided with the distribution. 649 // 3. Neither the name of the University nor the names of its contributors 650 // may be used to endorse or promote products derived from this software 651 // without specific prior written permission. 652 // 653 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 654 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 655 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 656 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 657 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 658 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 659 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 660 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 661 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 662 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 663 // SUCH DAMAGE. 664 // 665 // @(#)types.h 8.4 (Berkeley) 1/21/94 666 667 // $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $ 668 // $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $ 669 670 // Copyright (c) 1991, 1993 671 // The Regents of the University of California. All rights reserved. 672 // 673 // This code is derived from software contributed to Berkeley by 674 // Berkeley Software Design, Inc. 675 // 676 // Redistribution and use in source and binary forms, with or without 677 // modification, are permitted provided that the following conditions 678 // are met: 679 // 1. Redistributions of source code must retain the above copyright 680 // notice, this list of conditions and the following disclaimer. 681 // 2. Redistributions in binary form must reproduce the above copyright 682 // notice, this list of conditions and the following disclaimer in the 683 // documentation and/or other materials provided with the distribution. 684 // 3. Neither the name of the University nor the names of its contributors 685 // may be used to endorse or promote products derived from this software 686 // without specific prior written permission. 687 // 688 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 689 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 690 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 691 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 692 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 693 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 694 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 695 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 696 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 697 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 698 // SUCH DAMAGE. 699 // 700 // @(#)cdefs.h 8.7 (Berkeley) 1/21/94 701 702 // $OpenBSD: endian.h,v 1.25 2014/12/21 04:49:00 guenther Exp $ 703 704 // - 705 // Copyright (c) 1997 Niklas Hallqvist. All rights reserved. 706 // 707 // Redistribution and use in source and binary forms, with or without 708 // modification, are permitted provided that the following conditions 709 // are met: 710 // 1. Redistributions of source code must retain the above copyright 711 // notice, this list of conditions and the following disclaimer. 712 // 2. Redistributions in binary form must reproduce the above copyright 713 // notice, this list of conditions and the following disclaimer in the 714 // documentation and/or other materials provided with the distribution. 715 // 716 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 717 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 718 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 719 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 720 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 721 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 722 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 723 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 724 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 725 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 726 727 // Public definitions for little- and big-endian systems. 728 // This file should be included as <endian.h> in userspace and as 729 // <sys/endian.h> in the kernel. 730 // 731 // System headers that need endian information but that can't or don't 732 // want to export the public names here should include <sys/_endian.h> 733 // and use the internal names: _BYTE_ORDER, _*_ENDIAN, etc. 734 735 // $OpenBSD: cdefs.h,v 1.43 2018/10/29 17:10:40 guenther Exp $ 736 // $NetBSD: cdefs.h,v 1.16 1996/04/03 20:46:39 christos Exp $ 737 738 // Copyright (c) 1991, 1993 739 // The Regents of the University of California. All rights reserved. 740 // 741 // This code is derived from software contributed to Berkeley by 742 // Berkeley Software Design, Inc. 743 // 744 // Redistribution and use in source and binary forms, with or without 745 // modification, are permitted provided that the following conditions 746 // are met: 747 // 1. Redistributions of source code must retain the above copyright 748 // notice, this list of conditions and the following disclaimer. 749 // 2. Redistributions in binary form must reproduce the above copyright 750 // notice, this list of conditions and the following disclaimer in the 751 // documentation and/or other materials provided with the distribution. 752 // 3. Neither the name of the University nor the names of its contributors 753 // may be used to endorse or promote products derived from this software 754 // without specific prior written permission. 755 // 756 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 757 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 758 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 759 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 760 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 761 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 762 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 763 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 764 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 765 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 766 // SUCH DAMAGE. 767 // 768 // @(#)cdefs.h 8.7 (Berkeley) 1/21/94 769 770 // $OpenBSD: _endian.h,v 1.8 2018/01/11 23:13:37 dlg Exp $ 771 772 // - 773 // Copyright (c) 1997 Niklas Hallqvist. All rights reserved. 774 // 775 // Redistribution and use in source and binary forms, with or without 776 // modification, are permitted provided that the following conditions 777 // are met: 778 // 1. Redistributions of source code must retain the above copyright 779 // notice, this list of conditions and the following disclaimer. 780 // 2. Redistributions in binary form must reproduce the above copyright 781 // notice, this list of conditions and the following disclaimer in the 782 // documentation and/or other materials provided with the distribution. 783 // 784 // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 785 // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 786 // OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 787 // IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 788 // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 789 // NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 790 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 791 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 792 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 793 // THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 794 795 // Internal endianness macros. This pulls in <machine/endian.h> to 796 // get the correct setting direction for the platform and sets internal 797 // ('__' prefix) macros appropriately. 798 799 // $OpenBSD: _types.h,v 1.10 2022/08/06 13:31:13 semarie Exp $ 800 801 // - 802 // Copyright (c) 1990, 1993 803 // The Regents of the University of California. All rights reserved. 804 // 805 // Redistribution and use in source and binary forms, with or without 806 // modification, are permitted provided that the following conditions 807 // are met: 808 // 1. Redistributions of source code must retain the above copyright 809 // notice, this list of conditions and the following disclaimer. 810 // 2. Redistributions in binary form must reproduce the above copyright 811 // notice, this list of conditions and the following disclaimer in the 812 // documentation and/or other materials provided with the distribution. 813 // 3. Neither the name of the University nor the names of its contributors 814 // may be used to endorse or promote products derived from this software 815 // without specific prior written permission. 816 // 817 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 818 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 819 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 820 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 821 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 822 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 823 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 824 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 825 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 826 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 827 // SUCH DAMAGE. 828 // 829 // @(#)types.h 8.3 (Berkeley) 1/5/94 830 831 // $OpenBSD: _types.h,v 1.4 2018/03/05 01:15:25 deraadt Exp $ 832 // - 833 // Copyright (c) 1990, 1993 834 // The Regents of the University of California. All rights reserved. 835 // 836 // Redistribution and use in source and binary forms, with or without 837 // modification, are permitted provided that the following conditions 838 // are met: 839 // 1. Redistributions of source code must retain the above copyright 840 // notice, this list of conditions and the following disclaimer. 841 // 2. Redistributions in binary form must reproduce the above copyright 842 // notice, this list of conditions and the following disclaimer in the 843 // documentation and/or other materials provided with the distribution. 844 // 3. Neither the name of the University nor the names of its contributors 845 // may be used to endorse or promote products derived from this software 846 // without specific prior written permission. 847 // 848 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 849 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 850 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 851 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 852 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 853 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 854 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 855 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 856 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 857 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 858 // SUCH DAMAGE. 859 // 860 // @(#)types.h 8.3 (Berkeley) 1/5/94 861 // @(#)ansi.h 8.2 (Berkeley) 1/4/94 862 863 // _ALIGN(p) rounds p (pointer or byte index) up to a correctly-aligned 864 // value for all data types (int, long, ...). The result is an 865 // unsigned long and must be cast to any desired pointer type. 866 // 867 // _ALIGNED_POINTER is a boolean macro that checks whether an address 868 // is valid to fetch data elements of type t from on this architecture. 869 // This does not reflect the optimal alignment, just the possibility 870 // (within reasonable limits). 871 872 // 7.18.1.1 Exact-width integer types 873 type X__int8_t = int8 /* _types.h:60:22 */ 874 type X__uint8_t = uint8 /* _types.h:61:24 */ 875 type X__int16_t = int16 /* _types.h:62:17 */ 876 type X__uint16_t = uint16 /* _types.h:63:25 */ 877 type X__int32_t = int32 /* _types.h:64:15 */ 878 type X__uint32_t = uint32 /* _types.h:65:23 */ 879 // LONGLONG 880 type X__int64_t = int64 /* _types.h:67:20 */ 881 // LONGLONG 882 type X__uint64_t = uint64 /* _types.h:69:28 */ 883 884 // 7.18.1.2 Minimum-width integer types 885 type X__int_least8_t = X__int8_t /* _types.h:72:19 */ 886 type X__uint_least8_t = X__uint8_t /* _types.h:73:20 */ 887 type X__int_least16_t = X__int16_t /* _types.h:74:20 */ 888 type X__uint_least16_t = X__uint16_t /* _types.h:75:21 */ 889 type X__int_least32_t = X__int32_t /* _types.h:76:20 */ 890 type X__uint_least32_t = X__uint32_t /* _types.h:77:21 */ 891 type X__int_least64_t = X__int64_t /* _types.h:78:20 */ 892 type X__uint_least64_t = X__uint64_t /* _types.h:79:21 */ 893 894 // 7.18.1.3 Fastest minimum-width integer types 895 type X__int_fast8_t = X__int32_t /* _types.h:82:20 */ 896 type X__uint_fast8_t = X__uint32_t /* _types.h:83:21 */ 897 type X__int_fast16_t = X__int32_t /* _types.h:84:20 */ 898 type X__uint_fast16_t = X__uint32_t /* _types.h:85:21 */ 899 type X__int_fast32_t = X__int32_t /* _types.h:86:20 */ 900 type X__uint_fast32_t = X__uint32_t /* _types.h:87:21 */ 901 type X__int_fast64_t = X__int64_t /* _types.h:88:20 */ 902 type X__uint_fast64_t = X__uint64_t /* _types.h:89:21 */ 903 904 // 7.18.1.4 Integer types capable of holding object pointers 905 type X__intptr_t = int64 /* _types.h:104:16 */ 906 type X__uintptr_t = uint64 /* _types.h:105:24 */ 907 908 // 7.18.1.5 Greatest-width integer types 909 type X__intmax_t = X__int64_t /* _types.h:108:20 */ 910 type X__uintmax_t = X__uint64_t /* _types.h:109:21 */ 911 912 // Register size 913 type X__register_t = int64 /* _types.h:112:16 */ 914 915 // VM system types 916 type X__vaddr_t = uint64 /* _types.h:115:24 */ 917 type X__paddr_t = uint64 /* _types.h:116:24 */ 918 type X__vsize_t = uint64 /* _types.h:117:24 */ 919 type X__psize_t = uint64 /* _types.h:118:24 */ 920 921 // Standard system types 922 type X__double_t = float64 /* _types.h:121:18 */ 923 type X__float_t = float32 /* _types.h:122:17 */ 924 type X__ptrdiff_t = int64 /* _types.h:123:16 */ 925 type X__size_t = uint64 /* _types.h:124:24 */ 926 type X__ssize_t = int64 /* _types.h:125:16 */ 927 type X__va_list = X__builtin_va_list /* _types.h:127:27 */ 928 929 // Wide character support types 930 type X__wchar_t = int32 /* _types.h:137:15 */ 931 type X__wint_t = int32 /* _types.h:140:15 */ 932 type X__rune_t = int32 /* _types.h:141:15 */ 933 type X__wctrans_t = uintptr /* _types.h:142:14 */ 934 type X__wctype_t = uintptr /* _types.h:143:14 */ 935 936 type X__blkcnt_t = X__int64_t /* _types.h:39:19 */ // blocks allocated for file 937 type X__blksize_t = X__int32_t /* _types.h:40:19 */ // optimal blocksize for I/O 938 type X__clock_t = X__int64_t /* _types.h:41:19 */ // ticks in CLOCKS_PER_SEC 939 type X__clockid_t = X__int32_t /* _types.h:42:19 */ // CLOCK_* identifiers 940 type X__cpuid_t = uint64 /* _types.h:43:23 */ // CPU id 941 type X__dev_t = X__int32_t /* _types.h:44:19 */ // device number 942 type X__fixpt_t = X__uint32_t /* _types.h:45:20 */ // fixed point number 943 type X__fsblkcnt_t = X__uint64_t /* _types.h:46:20 */ // file system block count 944 type X__fsfilcnt_t = X__uint64_t /* _types.h:47:20 */ // file system file count 945 type X__gid_t = X__uint32_t /* _types.h:48:20 */ // group id 946 type X__id_t = X__uint32_t /* _types.h:49:20 */ // may contain pid, uid or gid 947 type X__in_addr_t = X__uint32_t /* _types.h:50:20 */ // base type for internet address 948 type X__in_port_t = X__uint16_t /* _types.h:51:20 */ // IP port type 949 type X__ino_t = X__uint64_t /* _types.h:52:20 */ // inode number 950 type X__key_t = int64 /* _types.h:53:15 */ // IPC key (for Sys V IPC) 951 type X__mode_t = X__uint32_t /* _types.h:54:20 */ // permissions 952 type X__nlink_t = X__uint32_t /* _types.h:55:20 */ // link count 953 type X__off_t = X__int64_t /* _types.h:56:19 */ // file offset or size 954 type X__pid_t = X__int32_t /* _types.h:57:19 */ // process id 955 type X__rlim_t = X__uint64_t /* _types.h:58:20 */ // resource limit 956 type X__sa_family_t = X__uint8_t /* _types.h:59:19 */ // sockaddr address family type 957 type X__segsz_t = X__int32_t /* _types.h:60:19 */ // segment size 958 type X__socklen_t = X__uint32_t /* _types.h:61:20 */ // length type for network syscalls 959 type X__suseconds_t = int64 /* _types.h:62:15 */ // microseconds (signed) 960 type X__time_t = X__int64_t /* _types.h:63:19 */ // epoch time 961 type X__timer_t = X__int32_t /* _types.h:64:19 */ // POSIX timer identifiers 962 type X__uid_t = X__uint32_t /* _types.h:65:20 */ // user id 963 type X__useconds_t = X__uint32_t /* _types.h:66:20 */ // microseconds 964 965 // mbstate_t is an opaque object to keep conversion state, during multibyte 966 // stream conversions. The content must not be referenced by user programs. 967 type X__mbstate_t = struct { 968 F__ccgo_pad1 [0]uint64 969 F__mbstate8 [128]int8 970 } /* _types.h:75:3 */ 971 972 // Tell sys/endian.h we have MD variants of the swap macros. 973 974 // Note that these macros evaluate their arguments several times. 975 976 // Public names 977 978 // These are specified to be function-like macros to match the spec 979 980 // POSIX names 981 982 // original BSD names 983 984 // these were exposed here before 985 986 // ancient stuff 987 988 type U_char = uint8 /* types.h:51:23 */ 989 type U_short = uint16 /* types.h:52:24 */ 990 type U_int = uint32 /* types.h:53:22 */ 991 type U_long = uint64 /* types.h:54:23 */ 992 993 type Unchar = uint8 /* types.h:56:23 */ // Sys V compatibility 994 type Ushort = uint16 /* types.h:57:24 */ // Sys V compatibility 995 type Uint = uint32 /* types.h:58:22 */ // Sys V compatibility 996 type Ulong = uint64 /* types.h:59:23 */ // Sys V compatibility 997 998 type Cpuid_t = X__cpuid_t /* types.h:61:19 */ // CPU id 999 type Register_t = X__register_t /* types.h:62:22 */ // register-sized type 1000 1001 // XXX The exact-width bit types should only be exposed if __BSD_VISIBLE 1002 // but the rest of the includes are not ready for that yet. 1003 1004 type Int8_t = X__int8_t /* types.h:75:19 */ 1005 1006 type Uint8_t = X__uint8_t /* types.h:80:20 */ 1007 1008 type Int16_t = X__int16_t /* types.h:85:20 */ 1009 1010 type Uint16_t = X__uint16_t /* types.h:90:21 */ 1011 1012 type Int32_t = X__int32_t /* types.h:95:20 */ 1013 1014 type Uint32_t = X__uint32_t /* types.h:100:21 */ 1015 1016 type Int64_t = X__int64_t /* types.h:105:20 */ 1017 1018 type Uint64_t = X__uint64_t /* types.h:110:21 */ 1019 1020 // BSD-style unsigned bits types 1021 type U_int8_t = X__uint8_t /* types.h:114:19 */ 1022 type U_int16_t = X__uint16_t /* types.h:115:20 */ 1023 type U_int32_t = X__uint32_t /* types.h:116:20 */ 1024 type U_int64_t = X__uint64_t /* types.h:117:20 */ 1025 1026 // quads, deprecated in favor of 64 bit int types 1027 type Quad_t = X__int64_t /* types.h:120:19 */ 1028 type U_quad_t = X__uint64_t /* types.h:121:20 */ 1029 1030 // VM system types 1031 type Vaddr_t = X__vaddr_t /* types.h:125:19 */ 1032 type Paddr_t = X__paddr_t /* types.h:126:19 */ 1033 type Vsize_t = X__vsize_t /* types.h:127:19 */ 1034 type Psize_t = X__psize_t /* types.h:128:19 */ 1035 1036 // Standard system types 1037 type Blkcnt_t = X__blkcnt_t /* types.h:132:20 */ // blocks allocated for file 1038 type Blksize_t = X__blksize_t /* types.h:133:21 */ // optimal blocksize for I/O 1039 type Caddr_t = uintptr /* types.h:134:14 */ // core address 1040 type Daddr32_t = X__int32_t /* types.h:135:19 */ // 32-bit disk address 1041 type Daddr_t = X__int64_t /* types.h:136:19 */ // 64-bit disk address 1042 type Dev_t = X__dev_t /* types.h:137:18 */ // device number 1043 type Fixpt_t = X__fixpt_t /* types.h:138:19 */ // fixed point number 1044 type Gid_t = X__gid_t /* types.h:139:18 */ // group id 1045 type Id_t = X__id_t /* types.h:140:17 */ // may contain pid, uid or gid 1046 type Ino_t = X__ino_t /* types.h:141:18 */ // inode number 1047 type Key_t = X__key_t /* types.h:142:18 */ // IPC key (for Sys V IPC) 1048 type Mode_t = X__mode_t /* types.h:143:18 */ // permissions 1049 type Nlink_t = X__nlink_t /* types.h:144:19 */ // link count 1050 type Rlim_t = X__rlim_t /* types.h:145:18 */ // resource limit 1051 type Segsz_t = X__segsz_t /* types.h:146:19 */ // segment size 1052 type Uid_t = X__uid_t /* types.h:147:18 */ // user id 1053 type Useconds_t = X__useconds_t /* types.h:148:22 */ // microseconds 1054 type Suseconds_t = X__suseconds_t /* types.h:149:23 */ // microseconds (signed) 1055 type Fsblkcnt_t = X__fsblkcnt_t /* types.h:150:22 */ // file system block count 1056 type Fsfilcnt_t = X__fsfilcnt_t /* types.h:151:22 */ // file system file count 1057 1058 // The following types may be defined in multiple header files. 1059 type Clock_t = X__clock_t /* types.h:158:19 */ 1060 1061 type Clockid_t = X__clockid_t /* types.h:163:21 */ 1062 1063 type Pid_t = X__pid_t /* types.h:168:18 */ 1064 1065 type Ssize_t = X__ssize_t /* types.h:178:19 */ 1066 1067 type Time_t = X__time_t /* types.h:183:18 */ 1068 1069 type Timer_t = X__timer_t /* types.h:188:19 */ 1070 1071 type Off_t = X__off_t /* types.h:193:18 */ 1072 1073 // Major, minor numbers, dev_t's. 1074 1075 // <sys/_endian.h> is pulled in by <sys/types.h> 1076 1077 type Sa_family_t = X__sa_family_t /* in.h:58:23 */ // sockaddr address family type 1078 1079 type In_addr_t = X__in_addr_t /* in.h:63:21 */ // base type for internet address 1080 type In_port_t = X__in_port_t /* in.h:64:21 */ // IP port type 1081 1082 // Protocols 1083 1084 // Only used internally, so it can be outside the range of valid IP protocols 1085 1086 // From FreeBSD: 1087 // 1088 // Local port number conventions: 1089 // 1090 // When a user does a bind(2) or connect(2) with a port number of zero, 1091 // a non-conflicting local port address is chosen. 1092 // The default range is IPPORT_RESERVED through 1093 // IPPORT_USERRESERVED, although that is settable by sysctl. 1094 // 1095 // A user may set the IPPROTO_IP option IP_PORTRANGE to change this 1096 // default assignment range. 1097 // 1098 // The value IP_PORTRANGE_DEFAULT causes the default behavior. 1099 // 1100 // The value IP_PORTRANGE_HIGH changes the range of candidate port numbers 1101 // into the "high" range. These are reserved for client outbound connections 1102 // which do not want to be filtered by any firewalls. 1103 // 1104 // The value IP_PORTRANGE_LOW changes the range to the "low" are 1105 // that is (by convention) restricted to privileged processes. This 1106 // convention is based on "vouchsafe" principles only. It is only secure 1107 // if you trust the remote host to restrict these ports. 1108 // 1109 // The default range of ports and the high range can be changed by 1110 // sysctl(3). (net.inet.ip.port{hi}{first,last}) 1111 // 1112 // Changing those values has bad security implications if you are 1113 // using a a stateless firewall that is allowing packets outside of that 1114 // range in order to allow transparent outgoing connections. 1115 // 1116 // Such a firewall configuration will generally depend on the use of these 1117 // default values. If you change them, you may find your Security 1118 // Administrator looking for you with a heavy object. 1119 1120 // Ports < IPPORT_RESERVED are reserved for 1121 // privileged processes (e.g. root). 1122 // Ports > IPPORT_USERRESERVED are reserved 1123 // for servers, not necessarily privileged. 1124 1125 // Default local port range to use by setting IP_PORTRANGE_HIGH 1126 1127 // IP Version 4 Internet address (a structure for historical reasons) 1128 type In_addr = struct{ Fs_addr In_addr_t } /* in.h:167:1 */ 1129 1130 // last return value of *_input(), meaning "all job for this pkt is done". 1131 1132 // Definitions of bits in internet address integers. 1133 // On subnets, the decomposition of addresses to host and net parts 1134 // is done according to subnet mask, not the masks here. 1135 // 1136 // By byte-swapping the constants, we avoid ever having to byte-swap IP 1137 // addresses inside the kernel. Unfortunately, user-level programs rely 1138 // on these macros not doing byte-swapping. 1139 1140 // These ones aren't really net and host fields, but routing needn't know. 1141 1142 // IP Version 4 socket address. 1143 type Sockaddr_in = struct { 1144 Fsin_len U_int8_t 1145 Fsin_family Sa_family_t 1146 Fsin_port In_port_t 1147 Fsin_addr struct{ Fs_addr In_addr_t } 1148 Fsin_zero [8]Int8_t 1149 } /* in.h:258:1 */ 1150 1151 // Structure used to describe IP options. 1152 // Used to store options internally, to pass them to a process, 1153 // or to restore options retrieved earlier. 1154 // The ip_dst is used for the first-hop gateway when using a source route 1155 // (this gets put into the header proper). 1156 type Ip_opts = struct { 1157 Fip_dst struct{ Fs_addr In_addr_t } 1158 Fip_opts [40]Int8_t 1159 } /* in.h:273:1 */ 1160 1161 // Options for use with [gs]etsockopt at the IP level. 1162 // First word of comment is data type; bool is stored in int. 1163 // source address to use 1164 1165 // Security levels - IPsec, not IPSO 1166 1167 // Defaults and limits for options 1168 // The imo_membership vector for each socket starts at IP_MIN_MEMBERSHIPS 1169 // and is dynamically allocated at run-time, bounded by IP_MAX_MEMBERSHIPS, 1170 // and is reallocated when needed, sized according to a power-of-two increment. 1171 1172 // Argument structure for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. 1173 type Ip_mreq = struct { 1174 Fimr_multiaddr struct{ Fs_addr In_addr_t } 1175 Fimr_interface struct{ Fs_addr In_addr_t } 1176 } /* in.h:359:1 */ 1177 1178 type Ip_mreqn = struct { 1179 Fimr_multiaddr struct{ Fs_addr In_addr_t } 1180 Fimr_address struct{ Fs_addr In_addr_t } 1181 Fimr_ifindex int32 1182 } /* in.h:364:1 */ 1183 1184 // Argument for IP_PORTRANGE: 1185 // - which range to search when port is unspecified at bind() or connect() 1186 1187 // Buffer lengths for strings containing printable IP addresses 1188 1189 // Definitions for inet sysctl operations. 1190 // 1191 // Third level is protocol number. 1192 // Fourth level is desired variable within that protocol. 1193 1194 // Names for IP sysctl objects 1195 1196 // INET6 stuff 1197 // $OpenBSD: in6.h,v 1.109 2021/06/02 00:20:50 dlg Exp $ 1198 // $KAME: in6.h,v 1.83 2001/03/29 02:55:07 jinmei Exp $ 1199 1200 // Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 1201 // All rights reserved. 1202 // 1203 // Redistribution and use in source and binary forms, with or without 1204 // modification, are permitted provided that the following conditions 1205 // are met: 1206 // 1. Redistributions of source code must retain the above copyright 1207 // notice, this list of conditions and the following disclaimer. 1208 // 2. Redistributions in binary form must reproduce the above copyright 1209 // notice, this list of conditions and the following disclaimer in the 1210 // documentation and/or other materials provided with the distribution. 1211 // 3. Neither the name of the project nor the names of its contributors 1212 // may be used to endorse or promote products derived from this software 1213 // without specific prior written permission. 1214 // 1215 // THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 1216 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1217 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1218 // ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 1219 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1220 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1221 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1222 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1223 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1224 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1225 // SUCH DAMAGE. 1226 1227 // Copyright (c) 1982, 1986, 1990, 1993 1228 // The Regents of the University of California. All rights reserved. 1229 // 1230 // Redistribution and use in source and binary forms, with or without 1231 // modification, are permitted provided that the following conditions 1232 // are met: 1233 // 1. Redistributions of source code must retain the above copyright 1234 // notice, this list of conditions and the following disclaimer. 1235 // 2. Redistributions in binary form must reproduce the above copyright 1236 // notice, this list of conditions and the following disclaimer in the 1237 // documentation and/or other materials provided with the distribution. 1238 // 3. Neither the name of the University nor the names of its contributors 1239 // may be used to endorse or promote products derived from this software 1240 // without specific prior written permission. 1241 // 1242 // THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 1243 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1244 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1245 // ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 1246 // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 1247 // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 1248 // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 1249 // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 1250 // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 1251 // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1252 // SUCH DAMAGE. 1253 // 1254 // @(#)in.h 8.3 (Berkeley) 1/3/94 1255 1256 // Identification of the network protocol stack 1257 // for *BSD-current/release: http://www.kame.net/dev/cvsweb2.cgi/kame/COVERAGE 1258 // has the table of implementation/integration differences. 1259 1260 // IPv6 address 1261 type In6_addr = struct { 1262 F__u6_addr struct { 1263 F__ccgo_pad1 [0]uint32 1264 F__u6_addr8 [16]U_int8_t 1265 } 1266 } /* in6.h:81:1 */ 1267 1268 // Socket address for IPv6 1269 type Sockaddr_in6 = struct { 1270 Fsin6_len U_int8_t 1271 Fsin6_family Sa_family_t 1272 Fsin6_port In_port_t 1273 Fsin6_flowinfo U_int32_t 1274 Fsin6_addr struct { 1275 F__u6_addr struct { 1276 F__ccgo_pad1 [0]uint32 1277 F__u6_addr8 [16]U_int8_t 1278 } 1279 } 1280 Fsin6_scope_id U_int32_t 1281 } /* in6.h:106:1 */ 1282 1283 // IPv6 route structure 1284 type Route_in6 = struct { 1285 Fro_rt uintptr 1286 Fro_tableid U_long 1287 Fro_dst struct { 1288 Fsin6_len U_int8_t 1289 Fsin6_family Sa_family_t 1290 Fsin6_port In_port_t 1291 Fsin6_flowinfo U_int32_t 1292 Fsin6_addr struct { 1293 F__u6_addr struct { 1294 F__ccgo_pad1 [0]uint32 1295 F__u6_addr8 [16]U_int8_t 1296 } 1297 } 1298 Fsin6_scope_id U_int32_t 1299 } 1300 F__ccgo_pad1 [4]byte 1301 } /* in6.h:150:1 */ 1302 1303 // Definition of some useful macros to handle IP6 addresses 1304 1305 // Macros started with IPV6_ADDR is KAME local 1306 1307 // Unspecified 1308 1309 // Loopback 1310 1311 // IPv4 compatible 1312 1313 // Mapped 1314 1315 // Unicast Scope 1316 // Note that we must check topmost 10 bits only, not 16 bits (see RFC2373). 1317 1318 // Multicast 1319 1320 // Options for use with [gs]etsockopt at the IPV6 level. 1321 // First word of comment is data type; bool is stored in int. 1322 1323 // new socket options introduced in RFC3542 1324 1325 // More new socket options introduced in RFC3542 1326 1327 // to define items, should talk with KAME guys first, for *BSD compatibility 1328 1329 // Defaults and limits for options 1330 1331 // Argument structure for IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP. 1332 type Ipv6_mreq = struct { 1333 Fipv6mr_multiaddr struct { 1334 F__u6_addr struct { 1335 F__ccgo_pad1 [0]uint32 1336 F__u6_addr8 [16]U_int8_t 1337 } 1338 } 1339 Fipv6mr_interface uint32 1340 } /* in6.h:366:1 */ 1341 1342 // IPV6_PKTINFO: Packet information(RFC3542 sec 6) 1343 type In6_pktinfo = struct { 1344 Fipi6_addr struct { 1345 F__u6_addr struct { 1346 F__ccgo_pad1 [0]uint32 1347 F__u6_addr8 [16]U_int8_t 1348 } 1349 } 1350 Fipi6_ifindex uint32 1351 } /* in6.h:374:1 */ 1352 1353 // Control structure for IPV6_RECVPATHMTU socket option. 1354 // XXX Not allowed here by POSIX, but required by RFC 3542, so go 1355 // XXX with the code on the pavement. 1356 type Ip6_mtuinfo = struct { 1357 Fip6m_addr struct { 1358 Fsin6_len U_int8_t 1359 Fsin6_family Sa_family_t 1360 Fsin6_port In_port_t 1361 Fsin6_flowinfo U_int32_t 1362 Fsin6_addr struct { 1363 F__u6_addr struct { 1364 F__ccgo_pad1 [0]uint32 1365 F__u6_addr8 [16]U_int8_t 1366 } 1367 } 1368 Fsin6_scope_id U_int32_t 1369 } 1370 Fip6m_mtu U_int32_t 1371 } /* in6.h:384:1 */ 1372 1373 // Argument for IPV6_PORTRANGE: 1374 // - which range to search when port is unspecified at bind() or connect() 1375 1376 type Socklen_t = X__socklen_t /* in6.h:401:21 */ 1377 1378 // Structures returned by network data base library. All addresses are 1379 // supplied in host order, and returned in network order (suitable for 1380 // use in system calls). 1381 type Hostent = struct { 1382 Fh_name uintptr 1383 Fh_aliases uintptr 1384 Fh_addrtype int32 1385 Fh_length int32 1386 Fh_addr_list uintptr 1387 } /* netdb.h:108:1 */ 1388 1389 // Assumption here is that a network number 1390 // fits in an in_addr_t -- probably a poor one. 1391 type Netent = struct { 1392 Fn_name uintptr 1393 Fn_aliases uintptr 1394 Fn_addrtype int32 1395 Fn_net In_addr_t 1396 } /* netdb.h:121:1 */ 1397 1398 type Servent = struct { 1399 Fs_name uintptr 1400 Fs_aliases uintptr 1401 Fs_port int32 1402 F__ccgo_pad1 [4]byte 1403 Fs_proto uintptr 1404 } /* netdb.h:128:1 */ 1405 1406 type Protoent = struct { 1407 Fp_name uintptr 1408 Fp_aliases uintptr 1409 Fp_proto int32 1410 F__ccgo_pad1 [4]byte 1411 } /* netdb.h:135:1 */ 1412 1413 // Error return codes from gethostbyname() and gethostbyaddr() 1414 // (left in extern int h_errno). 1415 1416 // Values for getaddrinfo() and getnameinfo() 1417 // valid flags for addrinfo 1418 1419 // #define NI_NUMERICSCOPE 32 return the scope number, not the name 1420 1421 // Scope delimit character (KAME hack) 1422 1423 type Addrinfo = struct { 1424 Fai_flags int32 1425 Fai_family int32 1426 Fai_socktype int32 1427 Fai_protocol int32 1428 Fai_addrlen Socklen_t 1429 F__ccgo_pad1 [4]byte 1430 Fai_addr uintptr 1431 Fai_canonname uintptr 1432 Fai_next uintptr 1433 } /* netdb.h:203:1 */ 1434 1435 // Flags for getrrsetbyname() 1436 1437 // Return codes for getrrsetbyname() 1438 1439 // Structures used by getrrsetbyname() and freerrset() 1440 type Rdatainfo = struct { 1441 Frdi_length uint32 1442 F__ccgo_pad1 [4]byte 1443 Frdi_data uintptr 1444 } /* netdb.h:233:1 */ 1445 1446 type Rrsetinfo = struct { 1447 Frri_flags uint32 1448 Frri_rdclass uint32 1449 Frri_rdtype uint32 1450 Frri_ttl uint32 1451 Frri_nrdatas uint32 1452 Frri_nsigs uint32 1453 Frri_name uintptr 1454 Frri_rdatas uintptr 1455 Frri_sigs uintptr 1456 } /* netdb.h:238:1 */ 1457 1458 type Servent_data = struct { 1459 Ffp uintptr 1460 Faliases uintptr 1461 Fmaxaliases int32 1462 Fstayopen int32 1463 Fline uintptr 1464 } /* netdb.h:250:1 */ 1465 1466 type Protoent_data = struct { 1467 Ffp uintptr 1468 Faliases uintptr 1469 Fmaxaliases int32 1470 Fstayopen int32 1471 Fline uintptr 1472 } /* netdb.h:258:1 */ 1473 1474 var _ int8 /* gen.c:2:13: */