Subversion Repositories HelenOS

Rev

Rev 4307 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * Copyright (c) 2009 Lukas Mejdrech
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  *
  9.  * - Redistributions of source code must retain the above copyright
  10.  *   notice, this list of conditions and the following disclaimer.
  11.  * - Redistributions in binary form must reproduce the above copyright
  12.  *   notice, this list of conditions and the following disclaimer in the
  13.  *   documentation and/or other materials provided with the distribution.
  14.  * - The name of the author may not be used to endorse or promote products
  15.  *   derived from this software without specific prior written permission.
  16.  *
  17.  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  18.  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  19.  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  20.  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
  21.  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  22.  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  23.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  24.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  25.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  26.  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27.  */
  28.  
  29. /** @addtogroup ip
  30.  *  @{
  31.  */
  32.  
  33. /** @file
  34.  *  Internet protocol numbers according to the on-line IANA - Assigned Protocol numbers - <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml>, cited January 14 2009.
  35.  *  Names according to the linux src/include/linux/in.h header file.
  36.  */
  37.  
  38. #ifndef __NET_IPPROTOCOLS_H__
  39. #define __NET_IPPROTOCOLS_H__
  40.  
  41. /** @name IP protocols definitions
  42.  */
  43. /*@{*/
  44.  
  45. /** IPv6 Hop-by-Hop Option internet protocol number.
  46.  */
  47. #define IPPROTO_HOPOPT      0
  48.  
  49. /** Internet Control Message internet protocol number.
  50.  */
  51. #define IPPROTO_ICMP        1
  52.  
  53. /** Internet Group Management internet protocol number.
  54.  */
  55. #define IPPROTO_IGMP        2
  56.  
  57. /** Gateway-to-Gateway internet protocol number.
  58.  */
  59. #define IPPROTO_GGP     3
  60.  
  61. /** IP in IP (encapsulation) internet protocol number.
  62.  */
  63. #define IPPROTO_IP      4
  64.  
  65. /** Stream internet protocol number.
  66.  */
  67. #define IPPROTO_ST      5
  68.  
  69. /** Transmission Control internet protocol number.
  70.  */
  71. #define IPPROTO_TCP     6
  72.  
  73. /** CBT internet protocol number.
  74.  */
  75. #define IPPROTO_CBT     7
  76.  
  77. /** Exterior Gateway Protocol internet protocol number.
  78.  */
  79. #define IPPROTO_EGP     8
  80.  
  81. /** any private interior gateway            
  82. (used by Cisco for their IGRP) internet protocol number.
  83.  */
  84. #define IPPROTO_IGP     9
  85.  
  86. /** BBN RCC Monitoring internet protocol number.
  87.  */
  88. #define IPPROTO_BBN_RCC_MON     10
  89.  
  90. /** Network Voice Protocol internet protocol number.
  91.  */
  92. #define IPPROTO_NVP_II      11
  93.  
  94. /** PUP internet protocol number.
  95.  */
  96. #define IPPROTO_PUP     12
  97.  
  98. /** ARGUS internet protocol number.
  99.  */
  100. #define IPPROTO_ARGUS       13
  101.  
  102. /** EMCON internet protocol number.
  103.  */
  104. #define IPPROTO_EMCON       14
  105.  
  106. /** Cross Net Debugger internet protocol number.
  107.  */
  108. #define IPPROTO_XNET        15
  109.  
  110. /** Chaos internet protocol number.
  111.  */
  112. #define IPPROTO_CHAOS       16
  113.  
  114. /** User Datagram internet protocol number.
  115.  */
  116. #define IPPROTO_UDP     17
  117.  
  118. /** Multiplexing internet protocol number.
  119.  */
  120. #define IPPROTO_MUX     18
  121.  
  122. /** DCN Measurement Subsystems internet protocol number.
  123.  */
  124. #define IPPROTO_DCN_MEAS        19
  125.  
  126. /** Host Monitoring internet protocol number.
  127.  */
  128. #define IPPROTO_HMP     20
  129.  
  130. /** Packet Radio Measurement internet protocol number.
  131.  */
  132. #define IPPROTO_PRM     21
  133.  
  134. /** XEROX NS IDP internet protocol number.
  135.  */
  136. #define IPPROTO_XNS_IDP     22
  137.  
  138. /** Trunk-1 internet protocol number.
  139.  */
  140. #define IPPROTO_TRUNK_1     23
  141.  
  142. /** Trunk-2 internet protocol number.
  143.  */
  144. #define IPPROTO_TRUNK_2     24
  145.  
  146. /** Leaf-1 internet protocol number.
  147.  */
  148. #define IPPROTO_LEAF_1      25
  149.  
  150. /** Leaf-2 internet protocol number.
  151.  */
  152. #define IPPROTO_LEAF_2      26
  153.  
  154. /** Reliable Data Protocol internet protocol number.
  155.  */
  156. #define IPPROTO_RDP     27
  157.  
  158. /** Internet Reliable Transaction internet protocol number.
  159.  */
  160. #define IPPROTO_IRTP        28
  161.  
  162. /** ISO Transport Protocol Class 4 internet protocol number.
  163.  */
  164. #define IPPROTO_ISO_TP4     29
  165.  
  166. /** Bulk Data Transfer Protocol internet protocol number.
  167.  */
  168. #define IPPROTO_NETBLT      30
  169.  
  170. /** MFE Network Services Protocol internet protocol number.
  171.  */
  172. #define IPPROTO_MFE_NSP     31
  173.  
  174. /** MERIT Internodal Protocol internet protocol number.
  175.  */
  176. #define IPPROTO_MERIT_INP       32
  177.  
  178. /** Datagram Congestion Control Protocol internet protocol number.
  179.  */
  180. #define IPPROTO_DCCP        33
  181.  
  182. /** Third Party Connect Protocol internet protocol number.
  183.  */
  184. #define IPPROTO_3PC     34
  185.  
  186. /** Inter-Domain Policy Routing Protocol internet protocol number.
  187.  */
  188. #define IPPROTO_IDPR        35
  189.  
  190. /** XTP internet protocol number.
  191.  */
  192. #define IPPROTO_XTP     36
  193.  
  194. /** Datagram Delivery Protocol internet protocol number.
  195.  */
  196. #define IPPROTO_DDP     37
  197.  
  198. /** IDPR Control Message Transport Proto internet protocol number.
  199.  */
  200. #define IPPROTO_IDPR_CMTP       38
  201.  
  202. /** TP++ Transport Protocol internet protocol number.
  203.  */
  204. #define IPPROTO_TP      39
  205.  
  206. /** IL Transport Protocol internet protocol number.
  207.  */
  208. #define IPPROTO_IL      40
  209.  
  210. /** Ipv6 internet protocol number.
  211.  */
  212. #define IPPROTO_IPV6        41
  213.  
  214. /** Source Demand Routing Protocol internet protocol number.
  215.  */
  216. #define IPPROTO_SDRP        42
  217.  
  218. /** Routing Header for IPv6 internet protocol number.
  219.  */
  220. #define IPPROTO_IPv6_Route      43
  221.  
  222. /** Fragment Header for IPv6 internet protocol number.
  223.  */
  224. #define IPPROTO_IPv6_Frag       44
  225.  
  226. /** Inter-Domain Routing Protocol internet protocol number.
  227.  */
  228. #define IPPROTO_IDRP        45
  229.  
  230. /** Reservation Protocol internet protocol number.
  231.  */
  232. #define IPPROTO_RSVP        46
  233.  
  234. /** General Routing Encapsulation internet protocol number.
  235.  */
  236. #define IPPROTO_GRE     47
  237.  
  238. /** Dynamic Source Routing Protocol internet protocol number.
  239.  */
  240. #define IPPROTO_DSR     48
  241.  
  242. /** BNA internet protocol number.
  243.  */
  244. #define IPPROTO_BNA     49
  245.  
  246. /** Encap Security Payload internet protocol number.
  247.  */
  248. #define IPPROTO_ESP     50
  249.  
  250. /** Authentication Header internet protocol number.
  251.  */
  252. #define IPPROTO_AH      51
  253.  
  254. /** Integrated Net Layer Security  TUBA internet protocol number.
  255.  */
  256. #define IPPROTO_I_NLSP      52
  257.  
  258. /** IP with Encryption internet protocol number.
  259.  */
  260. #define IPPROTO_SWIPE       53
  261.  
  262. /** NBMA Address Resolution Protocol internet protocol number.
  263.  */
  264. #define IPPROTO_NARP        54
  265.  
  266. /** IP Mobility internet protocol number.
  267.  */
  268. #define IPPROTO_MOBILE      55
  269.  
  270. /** Transport Layer Security Protocol        
  271. using Kryptonet key management internet protocol number.
  272.  */
  273. #define IPPROTO_TLSP        56
  274.  
  275. /** SKIP internet protocol number.
  276.  */
  277. #define IPPROTO_SKIP        57
  278.  
  279. /** ICMP for IPv6 internet protocol number.
  280.  */
  281. #define IPPROTO_IPv6_ICMP       58
  282.  
  283. /** No Next Header for IPv6 internet protocol number.
  284.  */
  285. #define IPPROTO_IPv6_NoNxt      59
  286.  
  287. /** Destination Options for IPv6 internet protocol number.
  288.  */
  289. #define IPPROTO_IPv6_Opts       60
  290.  
  291. /** Any host internal protocol internet protocol number.
  292.  */
  293. #define IPPROTO_AHIP        61
  294.  
  295. /** CFTP internet protocol number.
  296.  */
  297. #define IPPROTO_CFTP        62
  298.  
  299. /** Any local network internet protocol number.
  300.  */
  301. #define IPPROTO_ALN     63
  302.  
  303. /** SATNET and Backroom EXPAK internet protocol number.
  304.  */
  305. #define IPPROTO_SAT_EXPAK       64
  306.  
  307. /** Kryptolan internet protocol number.
  308.  */
  309. #define IPPROTO_KRYPTOLAN       65
  310.  
  311. /** MIT Remote Virtual Disk Protocol internet protocol number.
  312.  */
  313. #define IPPROTO_RVD     66
  314.  
  315. /** Internet Pluribus Packet Core internet protocol number.
  316.  */
  317. #define IPPROTO_IPPC        67
  318.  
  319. /** Any distributed file system internet protocol number.
  320.  */
  321. #define IPPROTO_ADFS        68
  322.  
  323. /** SATNET Monitoring internet protocol number.
  324.  */
  325. #define IPPROTO_SAT_MON     69
  326.  
  327. /** VISA Protocol internet protocol number.
  328.  */
  329. #define IPPROTO_VISA        70
  330.  
  331. /** Internet Packet Core Utility internet protocol number.
  332.  */
  333. #define IPPROTO_IPCV        71
  334.  
  335. /** Computer Protocol Network Executive internet protocol number.
  336.  */
  337. #define IPPROTO_CPNX        72
  338.  
  339. /** Computer Protocol Heart Beat internet protocol number.
  340.  */
  341. #define IPPROTO_CPHB        73
  342.  
  343. /** Wang Span Network internet protocol number.
  344.  */
  345. #define IPPROTO_WSN     74
  346.  
  347. /** Packet Video Protocol internet protocol number.
  348.  */
  349. #define IPPROTO_PVP     75
  350.  
  351. /** Backroom SATNET Monitoring internet protocol number.
  352.  */
  353. #define IPPROTO_BR_SAT_MON      76
  354.  
  355. /** SUN ND IPPROTOCOL_Temporary internet protocol number.
  356.  */
  357. #define IPPROTO_SUN_ND      77
  358.  
  359. /** WIDEBAND Monitoring internet protocol number.
  360.  */
  361. #define IPPROTO_WB_MON      78
  362.  
  363. /** WIDEBAND EXPAK internet protocol number.
  364.  */
  365. #define IPPROTO_WB_EXPAK        79
  366.  
  367. /** ISO Internet Protocol internet protocol number.
  368.  */
  369. #define IPPROTO_ISO_IP      80
  370.  
  371. /** VMTP internet protocol number.
  372.  */
  373. #define IPPROTO_VMTP        81
  374.  
  375. /** SECURE-VMTP internet protocol number.
  376.  */
  377. #define IPPROTO_SECURE_VMTP     82
  378.  
  379. /** VINES internet protocol number.
  380.  */
  381. #define IPPROTO_VINES       83
  382.  
  383. /** TTP internet protocol number.
  384.  */
  385. #define IPPROTO_TTP     84
  386.  
  387. /** NSFNET-IGP internet protocol number.
  388.  */
  389. #define IPPROTO_NSFNET_IGP      85
  390.  
  391. /** Dissimilar Gateway Protocol internet protocol number.
  392.  */
  393. #define IPPROTO_DGP     86
  394.  
  395. /** TCF internet protocol number.
  396.  */
  397. #define IPPROTO_TCF     87
  398.  
  399. /** EIGRP internet protocol number.
  400.  */
  401. #define IPPROTO_EIGRP       88
  402.  
  403. /** OSPFIGP internet protocol number.
  404.  */
  405. #define IPPROTO_OSPFIGP     89
  406.  
  407. /** Sprite RPC Protocol internet protocol number.
  408.  */
  409. #define IPPROTO_Sprite_RPC      90
  410.  
  411. /** Locus Address Resolution Protocol internet protocol number.
  412.  */
  413. #define IPPROTO_LARP        91
  414.  
  415. /** Multicast Transport Protocol internet protocol number.
  416.  */
  417. #define IPPROTO_MTP     92
  418.  
  419. /** AX.25 Frames internet protocol number.
  420.  */
  421. #define IPPROTO_AX25        93
  422.  
  423. /** IP-within-IP Encapsulation Protocol internet protocol number.
  424.  */
  425. #define IPPROTO_IPIP        94
  426.  
  427. /** Mobile Internetworking Control Pro. internet protocol number.
  428.  */
  429. #define IPPROTO_MICP        95
  430.  
  431. /** Semaphore Communications Sec. Pro. internet protocol number.
  432.  */
  433. #define IPPROTO_SCC_SP      96
  434.  
  435. /** Ethernet-within-IP Encapsulation internet protocol number.
  436.  */
  437. #define IPPROTO_ETHERIP     97
  438.  
  439. /** Encapsulation Header internet protocol number.
  440.  */
  441. #define IPPROTO_ENCAP       98
  442.  
  443. /** Any private encryption scheme internet protocol number.
  444.  */
  445. #define IPPROTO_APES        99
  446.  
  447. /** GMTP internet protocol number.
  448.  */
  449. #define IPPROTO_GMTP        100
  450.  
  451. /** Ipsilon Flow Management Protocol internet protocol number.
  452.  */
  453. #define IPPROTO_IFMP        101
  454.  
  455. /** PNNI over IP internet protocol number.
  456.  */
  457. #define IPPROTO_PNNI        102
  458.  
  459. /** Protocol Independent Multicast internet protocol number.
  460.  */
  461. #define IPPROTO_PIM     103
  462.  
  463. /** ARIS internet protocol number.
  464.  */
  465. #define IPPROTO_ARIS        104
  466.  
  467. /** SCPS internet protocol number.
  468.  */
  469. #define IPPROTO_SCPS        105
  470.  
  471. /** QNX internet protocol number.
  472.  */
  473. #define IPPROTO_QNX     106
  474.  
  475. /** Active Networks internet protocol number.
  476.  */
  477. #define IPPROTO_AN      107
  478.  
  479. /** IP Payload Compression Protocol internet protocol number.
  480.  */
  481. #define IPPROTO_IPComp      108
  482.  
  483. /** Sitara Networks Protocol internet protocol number.
  484.  */
  485. #define IPPROTO_SNP     109
  486.  
  487. /** Compaq Peer Protocol internet protocol number.
  488.  */
  489. #define IPPROTO_Compaq_Peer     110
  490.  
  491. /** IPX in IP internet protocol number.
  492.  */
  493. #define IPPROTO_IPX_in_IP       111
  494.  
  495. /** Virtual Router Redundancy Protocol internet protocol number.
  496.  */
  497. #define IPPROTO_VRRP        112
  498.  
  499. /** PGM Reliable Transport Protocol internet protocol number.
  500.  */
  501. #define IPPROTO_PGM     113
  502.  
  503. /** Any 0-hop protocol internet protocol number.
  504.  */
  505. #define IPPROTO_A0HP        114
  506.  
  507. /** Layer Two Tunneling Protocol internet protocol number.
  508.  */
  509. #define IPPROTO_L2TP        115
  510.  
  511. /** D-II Data Exchange (DDX) internet protocol number.
  512.  */
  513. #define IPPROTO_DDX     116
  514.  
  515. /** Interactive Agent Transfer Protocol internet protocol number.
  516.  */
  517. #define IPPROTO_IATP        117
  518.  
  519. /** Schedule Transfer Protocol internet protocol number.
  520.  */
  521. #define IPPROTO_STP     118
  522.  
  523. /** SpectraLink Radio Protocol internet protocol number.
  524.  */
  525. #define IPPROTO_SRP     119
  526.  
  527. /** UTI internet protocol number.
  528.  */
  529. #define IPPROTO_UTI     120
  530.  
  531. /** Simple Message Protocol internet protocol number.
  532.  */
  533. #define IPPROTO_SMP     121
  534.  
  535. /** SM internet protocol number.
  536.  */
  537. #define IPPROTO_SM      122
  538.  
  539. /** Performance Transparency Protocol internet protocol number.
  540.  */
  541. #define IPPROTO_PTP     123
  542.  
  543. /** ISIS over IPv4 internet protocol number.
  544.  */
  545. #define IPPROTO_ISIS        124
  546.  
  547. /** FIRE internet protocol number.
  548.  */
  549. #define IPPROTO_FIRE        125
  550.  
  551. /** Combat Radio Transport Protocol internet protocol number.
  552.  */
  553. #define IPPROTO_CRTP        126
  554.  
  555. /** Combat Radio User Datagram internet protocol number.
  556.  */
  557. #define IPPROTO_CRUDP       127
  558.  
  559. /** SSCOPMCE internet protocol number.
  560.  */
  561. #define IPPROTO_SSCOPMCE        128
  562.  
  563. /** IPLT internet protocol number.
  564.  */
  565. #define IPPROTO_IPLT        129
  566.  
  567. /** Secure Packet Shield internet protocol number.
  568.  */
  569. #define IPPROTO_SPS     130
  570.  
  571. /** Private IP Encapsulation within IP internet protocol number.
  572.  */
  573. #define IPPROTO_PIPE        131
  574.  
  575. /** Stream Control Transmission Protocol internet protocol number.
  576.  */
  577. #define IPPROTO_SCTP        132
  578.  
  579. /** Fibre Channel internet protocol number.
  580.  */
  581. #define IPPROTO_FC      133
  582.  
  583. /** RSVP-E2E-IGNORE internet protocol number.
  584.  */
  585. #define IPPROTO_RSVP_E2E_IGNORE     134
  586.  
  587. /** Mobility Header internet protocol number.
  588.  */
  589. #define IPPROTO_MH      135
  590.  
  591. /** UDPLite internet protocol number.
  592.  */
  593. #define IPPROTO_UDPLITE     136
  594.  
  595. /** MPLS-in-IP internet protocol number.
  596.  */
  597. #define IPPROTO_MPLS_in_IP      137
  598.  
  599. /** MANET Protocols internet protocol number.
  600.  */
  601. #define IPPROTO_manet       138
  602.  
  603. /** Host Identity Protocol internet protocol number.
  604.  */
  605. #define IPPROTO_HIP     139
  606.  
  607. /** Raw internet protocol number.
  608.  */
  609. #define IPPROTO_RAW     255
  610.  
  611. /** Maximum internet protocol number.
  612.  */
  613. #define IPPROTO_MAX     ( IPPROTO_RAW + 1 )
  614.  
  615. /*@}*/
  616.  
  617. #endif
  618.  
  619. /** @}
  620.  */
  621.