Zig 0.17.0-dev (Split by item) This is an example of documentation generated by
ZigDoc , an alternative to Zig's built-in
Auto Doc feature. See also
examples in other modes/formats . The project being documented here (as the example) is the Zig standard library.
std › c › IPPROTO Public Constant IPPROTO Doc Source Public Constant std.c.IPPROTO
pub const IPPROTO = switch (native_os ) File c.zig: 6015
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613 pub const IPPROTO = switch (native_os ) {
.linux , .emscripten => linux .IPPROTO ,
.windows => ws2_32 .IPPROTO ,
.driverkit , .ios , .maccatalyst , .macos , .tvos , .visionos , .watchos => struct {
pub const ICMP = 1 ;
pub const ICMPV6 = 58 ;
pub const TCP = 6 ;
pub const UDP = 17 ;
pub const IP = 0 ;
pub const IPV6 = 41 ;
pub const RAW = 255 ;
},
.freebsd => struct {
/// dummy for IP
pub const IP = 0 ;
/// control message protocol
pub const ICMP = 1 ;
/// tcp
pub const TCP = 6 ;
/// user datagram protocol
pub const UDP = 17 ;
/// IP6 header
pub const IPV6 = 41 ;
/// raw IP packet
pub const RAW = 255 ;
/// IP6 hop-by-hop options
pub const HOPOPTS = 0 ;
/// group mgmt protocol
pub const IGMP = 2 ;
/// gateway^2 (deprecated)
pub const GGP = 3 ;
/// IPv4 encapsulation
pub const IPV4 = 4 ;
/// for compatibility
pub const IPIP = IPV4 ;
/// Stream protocol II
pub const ST = 7 ;
/// exterior gateway protocol
pub const EGP = 8 ;
/// private interior gateway
pub const PIGP = 9 ;
/// BBN RCC Monitoring
pub const RCCMON = 10 ;
/// network voice protocol
pub const NVPII = 11 ;
/// pup
pub const PUP = 12 ;
/// Argus
pub const ARGUS = 13 ;
/// EMCON
pub const EMCON = 14 ;
/// Cross Net Debugger
pub const XNET = 15 ;
/// Chaos
pub const CHAOS = 16 ;
/// Multiplexing
pub const MUX = 18 ;
/// DCN Measurement Subsystems
pub const MEAS = 19 ;
/// Host Monitoring
pub const HMP = 20 ;
/// Packet Radio Measurement
pub const PRM = 21 ;
/// xns idp
pub const IDP = 22 ;
/// Trunk-1
pub const TRUNK1 = 23 ;
/// Trunk-2
pub const TRUNK2 = 24 ;
/// Leaf-1
pub const LEAF1 = 25 ;
/// Leaf-2
pub const LEAF2 = 26 ;
/// Reliable Data
pub const RDP = 27 ;
/// Reliable Transaction
pub const IRTP = 28 ;
/// tp-4 w/ class negotiation
pub const TP = 29 ;
/// Bulk Data Transfer
pub const BLT = 30 ;
/// Network Services
pub const NSP = 31 ;
/// Merit Internodal
pub const INP = 32 ;
/// Datagram Congestion Control Protocol
pub const DCCP = 33 ;
/// Third Party Connect
pub const @"3PC" = 34 ;
/// InterDomain Policy Routing
pub const IDPR = 35 ;
/// XTP
pub const XTP = 36 ;
/// Datagram Delivery
pub const DDP = 37 ;
/// Control Message Transport
pub const CMTP = 38 ;
/// TP++ Transport
pub const TPXX = 39 ;
/// IL transport protocol
pub const IL = 40 ;
/// Source Demand Routing
pub const SDRP = 42 ;
/// IP6 routing header
pub const ROUTING = 43 ;
/// IP6 fragmentation header
pub const FRAGMENT = 44 ;
/// InterDomain Routing
pub const IDRP = 45 ;
/// resource reservation
pub const RSVP = 46 ;
/// General Routing Encap.
pub const GRE = 47 ;
/// Mobile Host Routing
pub const MHRP = 48 ;
/// BHA
pub const BHA = 49 ;
/// IP6 Encap Sec. Payload
pub const ESP = 50 ;
/// IP6 Auth Header
pub const AH = 51 ;
/// Integ. Net Layer Security
pub const INLSP = 52 ;
/// IP with encryption
pub const SWIPE = 53 ;
/// Next Hop Resolution
pub const NHRP = 54 ;
/// IP Mobility
pub const MOBILE = 55 ;
/// Transport Layer Security
pub const TLSP = 56 ;
/// SKIP
pub const SKIP = 57 ;
/// ICMP6
pub const ICMPV6 = 58 ;
/// IP6 no next header
pub const NONE = 59 ;
/// IP6 destination option
pub const DSTOPTS = 60 ;
/// any host internal protocol
pub const AHIP = 61 ;
/// CFTP
pub const CFTP = 62 ;
/// "hello" routing protocol
pub const HELLO = 63 ;
/// SATNET/Backroom EXPAK
pub const SATEXPAK = 64 ;
/// Kryptolan
pub const KRYPTOLAN = 65 ;
/// Remote Virtual Disk
pub const RVD = 66 ;
/// Pluribus Packet Core
pub const IPPC = 67 ;
/// Any distributed FS
pub const ADFS = 68 ;
/// Satnet Monitoring
pub const SATMON = 69 ;
/// VISA Protocol
pub const VISA = 70 ;
/// Packet Core Utility
pub const IPCV = 71 ;
/// Comp. Prot. Net. Executive
pub const CPNX = 72 ;
/// Comp. Prot. HeartBeat
pub const CPHB = 73 ;
/// Wang Span Network
pub const WSN = 74 ;
/// Packet Video Protocol
pub const PVP = 75 ;
/// BackRoom SATNET Monitoring
pub const BRSATMON = 76 ;
/// Sun net disk proto (temp.)
pub const ND = 77 ;
/// WIDEBAND Monitoring
pub const WBMON = 78 ;
/// WIDEBAND EXPAK
pub const WBEXPAK = 79 ;
/// ISO cnlp
pub const EON = 80 ;
/// VMTP
pub const VMTP = 81 ;
/// Secure VMTP
pub const SVMTP = 82 ;
/// Banyon VINES
pub const VINES = 83 ;
/// TTP
pub const TTP = 84 ;
/// NSFNET-IGP
pub const IGP = 85 ;
/// dissimilar gateway prot.
pub const DGP = 86 ;
/// TCF
pub const TCF = 87 ;
/// Cisco/GXS IGRP
pub const IGRP = 88 ;
/// OSPFIGP
pub const OSPFIGP = 89 ;
/// Strite RPC protocol
pub const SRPC = 90 ;
/// Locus Address Resoloution
pub const LARP = 91 ;
/// Multicast Transport
pub const MTP = 92 ;
/// AX.25 Frames
pub const AX25 = 93 ;
/// IP encapsulated in IP
pub const IPEIP = 94 ;
/// Mobile Int.ing control
pub const MICP = 95 ;
/// Semaphore Comm. security
pub const SCCSP = 96 ;
/// Ethernet IP encapsulation
pub const ETHERIP = 97 ;
/// encapsulation header
pub const ENCAP = 98 ;
/// any private encr. scheme
pub const APES = 99 ;
/// GMTP
pub const GMTP = 100 ;
/// payload compression (IPComp)
pub const IPCOMP = 108 ;
/// SCTP
pub const SCTP = 132 ;
/// IPv6 Mobility Header
pub const MH = 135 ;
/// UDP-Lite
pub const UDPLITE = 136 ;
/// IP6 Host Identity Protocol
pub const HIP = 139 ;
/// IP6 Shim6 Protocol
pub const SHIM6 = 140 ;
/// Protocol Independent Mcast
pub const PIM = 103 ;
/// CARP
pub const CARP = 112 ;
/// PGM
pub const PGM = 113 ;
/// MPLS-in-IP
pub const MPLS = 137 ;
/// PFSYNC
pub const PFSYNC = 240 ;
/// Reserved
pub const RESERVED_253 = 253 ;
/// Reserved
pub const RESERVED_254 = 254 ;
},
.illumos => struct {
/// dummy for IP
pub const IP = 0 ;
/// Hop by hop header for IPv6
pub const HOPOPTS = 0 ;
/// control message protocol
pub const ICMP = 1 ;
/// group control protocol
pub const IGMP = 2 ;
/// gateway^2 (deprecated)
pub const GGP = 3 ;
/// IP in IP encapsulation
pub const ENCAP = 4 ;
/// tcp
pub const TCP = 6 ;
/// exterior gateway protocol
pub const EGP = 8 ;
/// pup
pub const PUP = 12 ;
/// user datagram protocol
pub const UDP = 17 ;
/// xns idp
pub const IDP = 22 ;
/// IPv6 encapsulated in IP
pub const IPV6 = 41 ;
/// Routing header for IPv6
pub const ROUTING = 43 ;
/// Fragment header for IPv6
pub const FRAGMENT = 44 ;
/// rsvp
pub const RSVP = 46 ;
/// IPsec Encap. Sec. Payload
pub const ESP = 50 ;
/// IPsec Authentication Hdr.
pub const AH = 51 ;
/// ICMP for IPv6
pub const ICMPV6 = 58 ;
/// No next header for IPv6
pub const NONE = 59 ;
/// Destination options
pub const DSTOPTS = 60 ;
/// "hello" routing protocol
pub const HELLO = 63 ;
/// UNOFFICIAL net disk proto
pub const ND = 77 ;
/// ISO clnp
pub const EON = 80 ;
/// OSPF
pub const OSPF = 89 ;
/// PIM routing protocol
pub const PIM = 103 ;
/// Stream Control
pub const SCTP = 132 ;
/// raw IP packet
pub const RAW = 255 ;
/// Sockets Direct Protocol
pub const PROTO_SDP = 257 ;
},
.netbsd => struct {
/// dummy for IP
pub const IP = 0 ;
/// IP6 hop-by-hop options
pub const HOPOPTS = 0 ;
/// control message protocol
pub const ICMP = 1 ;
/// group mgmt protocol
pub const IGMP = 2 ;
/// gateway^2 (deprecated)
pub const GGP = 3 ;
/// IP header
pub const IPV4 = 4 ;
/// IP inside IP
pub const IPIP = 4 ;
/// tcp
pub const TCP = 6 ;
/// exterior gateway protocol
pub const EGP = 8 ;
/// pup
pub const PUP = 12 ;
/// user datagram protocol
pub const UDP = 17 ;
/// xns idp
pub const IDP = 22 ;
/// tp-4 w/ class negotiation
pub const TP = 29 ;
/// DCCP
pub const DCCP = 33 ;
/// IP6 header
pub const IPV6 = 41 ;
/// IP6 routing header
pub const ROUTING = 43 ;
/// IP6 fragmentation header
pub const FRAGMENT = 44 ;
/// resource reservation
pub const RSVP = 46 ;
/// GRE encaps RFC 1701
pub const GRE = 47 ;
/// encap. security payload
pub const ESP = 50 ;
/// authentication header
pub const AH = 51 ;
/// IP Mobility RFC 2004
pub const MOBILE = 55 ;
/// IPv6 ICMP
pub const IPV6_ICMP = 58 ;
/// ICMP6
pub const ICMPV6 = 58 ;
/// IP6 no next header
pub const NONE = 59 ;
/// IP6 destination option
pub const DSTOPTS = 60 ;
/// ISO cnlp
pub const EON = 80 ;
/// Ethernet-in-IP
pub const ETHERIP = 97 ;
/// encapsulation header
pub const ENCAP = 98 ;
/// Protocol indep. multicast
pub const PIM = 103 ;
/// IP Payload Comp. Protocol
pub const IPCOMP = 108 ;
/// VRRP RFC 2338
pub const VRRP = 112 ;
/// Common Address Resolution Protocol
pub const CARP = 112 ;
/// L2TPv3
pub const L2TP = 115 ;
/// SCTP
pub const SCTP = 132 ;
/// PFSYNC
pub const PFSYNC = 240 ;
/// raw IP packet
pub const RAW = 255 ;
},
.dragonfly => struct {
pub const IP = 0 ;
pub const ICMP = 1 ;
pub const TCP = 6 ;
pub const UDP = 17 ;
pub const IPV6 = 41 ;
pub const RAW = 255 ;
pub const HOPOPTS = 0 ;
pub const IGMP = 2 ;
pub const GGP = 3 ;
pub const IPV4 = 4 ;
pub const IPIP = IPV4 ;
pub const ST = 7 ;
pub const EGP = 8 ;
pub const PIGP = 9 ;
pub const RCCMON = 10 ;
pub const NVPII = 11 ;
pub const PUP = 12 ;
pub const ARGUS = 13 ;
pub const EMCON = 14 ;
pub const XNET = 15 ;
pub const CHAOS = 16 ;
pub const MUX = 18 ;
pub const MEAS = 19 ;
pub const HMP = 20 ;
pub const PRM = 21 ;
pub const IDP = 22 ;
pub const TRUNK1 = 23 ;
pub const TRUNK2 = 24 ;
pub const LEAF1 = 25 ;
pub const LEAF2 = 26 ;
pub const RDP = 27 ;
pub const IRTP = 28 ;
pub const TP = 29 ;
pub const BLT = 30 ;
pub const NSP = 31 ;
pub const INP = 32 ;
pub const SEP = 33 ;
pub const @"3PC" = 34 ;
pub const IDPR = 35 ;
pub const XTP = 36 ;
pub const DDP = 37 ;
pub const CMTP = 38 ;
pub const TPXX = 39 ;
pub const IL = 40 ;
pub const SDRP = 42 ;
pub const ROUTING = 43 ;
pub const FRAGMENT = 44 ;
pub const IDRP = 45 ;
pub const RSVP = 46 ;
pub const GRE = 47 ;
pub const MHRP = 48 ;
pub const BHA = 49 ;
pub const ESP = 50 ;
pub const AH = 51 ;
pub const INLSP = 52 ;
pub const SWIPE = 53 ;
pub const NHRP = 54 ;
pub const MOBILE = 55 ;
pub const TLSP = 56 ;
pub const SKIP = 57 ;
pub const ICMPV6 = 58 ;
pub const NONE = 59 ;
pub const DSTOPTS = 60 ;
pub const AHIP = 61 ;
pub const CFTP = 62 ;
pub const HELLO = 63 ;
pub const SATEXPAK = 64 ;
pub const KRYPTOLAN = 65 ;
pub const RVD = 66 ;
pub const IPPC = 67 ;
pub const ADFS = 68 ;
pub const SATMON = 69 ;
pub const VISA = 70 ;
pub const IPCV = 71 ;
pub const CPNX = 72 ;
pub const CPHB = 73 ;
pub const WSN = 74 ;
pub const PVP = 75 ;
pub const BRSATMON = 76 ;
pub const ND = 77 ;
pub const WBMON = 78 ;
pub const WBEXPAK = 79 ;
pub const EON = 80 ;
pub const VMTP = 81 ;
pub const SVMTP = 82 ;
pub const VINES = 83 ;
pub const TTP = 84 ;
pub const IGP = 85 ;
pub const DGP = 86 ;
pub const TCF = 87 ;
pub const IGRP = 88 ;
pub const OSPFIGP = 89 ;
pub const SRPC = 90 ;
pub const LARP = 91 ;
pub const MTP = 92 ;
pub const AX25 = 93 ;
pub const IPEIP = 94 ;
pub const MICP = 95 ;
pub const SCCSP = 96 ;
pub const ETHERIP = 97 ;
pub const ENCAP = 98 ;
pub const APES = 99 ;
pub const GMTP = 100 ;
pub const IPCOMP = 108 ;
pub const PIM = 103 ;
pub const CARP = 112 ;
pub const PGM = 113 ;
pub const PFSYNC = 240 ;
pub const DIVERT = 254 ;
pub const MAX = 256 ;
pub const DONE = 257 ;
pub const UNKNOWN = 258 ;
},
.haiku => struct {
pub const IP = 0 ;
pub const HOPOPTS = 0 ;
pub const ICMP = 1 ;
pub const IGMP = 2 ;
pub const TCP = 6 ;
pub const UDP = 17 ;
pub const IPV6 = 41 ;
pub const ROUTING = 43 ;
pub const FRAGMENT = 44 ;
pub const ESP = 50 ;
pub const AH = 51 ;
pub const ICMPV6 = 58 ;
pub const NONE = 59 ;
pub const DSTOPTS = 60 ;
pub const ETHERIP = 97 ;
pub const RAW = 255 ;
pub const MAX = 256 ;
},
.openbsd => struct {
/// dummy for IP
pub const IP = 0 ;
/// IP6 hop-by-hop options
pub const HOPOPTS = IPPROTO .IP ;
/// control message protocol
pub const ICMP = 1 ;
/// group mgmt protocol
pub const IGMP = 2 ;
/// gateway^2 (deprecated)
pub const GGP = 3 ;
/// IP header
pub const IPV4 = IPIP ;
/// IP inside IP
pub const IPIP = 4 ;
/// tcp
pub const TCP = 6 ;
/// exterior gateway protocol
pub const EGP = 8 ;
/// pup
pub const PUP = 12 ;
/// user datagram protocol
pub const UDP = 17 ;
/// xns idp
pub const IDP = 22 ;
/// tp-4 w/ class negotiation
pub const TP = 29 ;
/// IP6 header
pub const IPV6 = 41 ;
/// IP6 routing header
pub const ROUTING = 43 ;
/// IP6 fragmentation header
pub const FRAGMENT = 44 ;
/// resource reservation
pub const RSVP = 46 ;
/// GRE encaps RFC 1701
pub const GRE = 47 ;
/// encap. security payload
pub const ESP = 50 ;
/// authentication header
pub const AH = 51 ;
/// IP Mobility RFC 2004
pub const MOBILE = 55 ;
/// IPv6 ICMP
pub const IPV6_ICMP = 58 ;
/// ICMP6
pub const ICMPV6 = 58 ;
/// IP6 no next header
pub const NONE = 59 ;
/// IP6 destination option
pub const DSTOPTS = 60 ;
/// ISO cnlp
pub const EON = 80 ;
/// Ethernet-in-IP
pub const ETHERIP = 97 ;
/// encapsulation header
pub const ENCAP = 98 ;
/// Protocol indep. multicast
pub const PIM = 103 ;
/// IP Payload Comp. Protocol
pub const IPCOMP = 108 ;
/// VRRP RFC 2338
pub const VRRP = 112 ;
/// Common Address Resolution Protocol
pub const CARP = 112 ;
/// PFSYNC
pub const PFSYNC = 240 ;
/// raw IP packet
pub const RAW = 255 ;
},
// https://github.com/SerenityOS/serenity/blob/ac44ec5ebc707f9dd0c3d4759a1e17e91db5d74f/Kernel/API/POSIX/sys/socket.h#L44-L54
.serenity => struct {
pub const IP = 0 ;
pub const ICMP = 1 ;
pub const IGMP = 2 ;
pub const IPIP = 4 ;
pub const TCP = 6 ;
pub const UDP = 17 ;
pub const IPV6 = 41 ;
pub const ESP = 50 ;
pub const AH = 51 ;
pub const ICMPV6 = 58 ;
pub const RAW = 255 ;
},
else => void ,
}