The Labs \ Source Viewer \ SSCLI \ System.Net.Sockets \ ProtocolType

  1. //------------------------------------------------------------------------------
  2. // <copyright file="ProtocolType.cs" company="Microsoft">
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. // </copyright>
  14. //------------------------------------------------------------------------------
  15. namespace System.Net.Sockets
  16. {
  17.     using System;
  18.    
  19.     /// <devdoc>
  20.     /// <para>
  21.     /// Specifies the protocols that the <see cref='System.Net.Sockets.Socket'/> class supports.
  22.     /// </para>
  23.     /// </devdoc>
  24.    
  25.     public enum ProtocolType
  26.     {
  27.         /// <devdoc>
  28.         /// <para>[To be supplied.]</para>
  29.         /// </devdoc>
  30.         IP = 0,
  31.         // dummy for IP
  32.         /// <devdoc>
  33.         /// <para>[To be supplied.]</para>
  34.         /// </devdoc>
  35.         IPv6HopByHopOptions = 0,
  36.         /// <devdoc>
  37.         /// <para>[To be supplied.]</para>
  38.         /// </devdoc>
  39.         Icmp = 1,
  40.         // control message protocol
  41.         /// <devdoc>
  42.         /// <para>[To be supplied.]</para>
  43.         /// </devdoc>
  44.         Igmp = 2,
  45.         // group management protocol
  46.         /// <devdoc>
  47.         /// <para>[To be supplied.]</para>
  48.         /// </devdoc>
  49.         Ggp = 3,
  50.         // gateway^2 (deprecated)
  51.         /// <devdoc>
  52.         /// <para>[To be supplied.]</para>
  53.         /// </devdoc>
  54.         IPv4 = 4,
  55.         /// <devdoc>
  56.         /// <para>[To be supplied.]</para>
  57.         /// </devdoc>
  58.         Tcp = 6,
  59.         // tcp
  60.         /// <devdoc>
  61.         /// <para>[To be supplied.]</para>
  62.         /// </devdoc>
  63.         Pup = 12,
  64.         // pup
  65.         /// <devdoc>
  66.         /// <para>[To be supplied.]</para>
  67.         /// </devdoc>
  68.         Udp = 17,
  69.         // user datagram protocol
  70.         /// <devdoc>
  71.         /// <para>[To be supplied.]</para>
  72.         /// </devdoc>
  73.         Idp = 22,
  74.         // xns idp
  75.         /// <devdoc>
  76.         /// <para>[To be supplied.]</para>
  77.         /// </devdoc>
  78.         IPv6 = 41,
  79.         // IPv4
  80.         /// <devdoc>
  81.         /// <para>[To be supplied.]</para>
  82.         /// </devdoc>
  83.         IPv6RoutingHeader = 43,
  84.         // IPv6RoutingHeader
  85.         /// <devdoc>
  86.         /// <para>[To be supplied.]</para>
  87.         /// </devdoc>
  88.         IPv6FragmentHeader = 44,
  89.         // IPv6FragmentHeader
  90.         /// <devdoc>
  91.         /// <para>[To be supplied.]</para>
  92.         /// </devdoc>
  93.         IPSecEncapsulatingSecurityPayload = 50,
  94.         // IPSecEncapsulatingSecurityPayload
  95.         /// <devdoc>
  96.         /// <para>[To be supplied.]</para>
  97.         /// </devdoc>
  98.         IPSecAuthenticationHeader = 51,
  99.         // IPSecAuthenticationHeader
  100.         /// <devdoc>
  101.         /// <para>[To be supplied.]</para>
  102.         /// </devdoc>
  103.         IcmpV6 = 58,
  104.         // IcmpV6
  105.         /// <devdoc>
  106.         /// <para>[To be supplied.]</para>
  107.         /// </devdoc>
  108.         IPv6NoNextHeader = 59,
  109.         // IPv6NoNextHeader
  110.         /// <devdoc>
  111.         /// <para>[To be supplied.]</para>
  112.         /// </devdoc>
  113.         IPv6DestinationOptions = 60,
  114.         // IPv6DestinationOptions
  115.         /// <devdoc>
  116.         /// <para>[To be supplied.]</para>
  117.         /// </devdoc>
  118.         ND = 77,
  119.         // UNOFFICIAL net disk proto
  120.         /// <devdoc>
  121.         /// <para>[To be supplied.]</para>
  122.         /// </devdoc>
  123.         Raw = 255,
  124.         // raw IP packet
  125.         /// <devdoc>
  126.         /// <para>[To be supplied.]</para>
  127.         /// </devdoc>
  128.         Unspecified = 0,
  129.         /// <devdoc>
  130.         /// <para>[To be supplied.]</para>
  131.         /// </devdoc>
  132.         Ipx = 1000,
  133.         /// <devdoc>
  134.         /// <para>[To be supplied.]</para>
  135.         /// </devdoc>
  136.         Spx = 1256,
  137.         /// <devdoc>
  138.         /// <para>[To be supplied.]</para>
  139.         /// </devdoc>
  140.         SpxII = 1257,
  141.        
  142.         /// <devdoc>
  143.         /// <para>[To be supplied.]</para>
  144.         /// </devdoc>
  145.         Unknown = -1
  146.         // unknown protocol type
  147.         /*
  148. consider adding:
  149. #define IPPROTO_RSVP                0x2e
  150. #define DNPROTO_NSP                1              // DECnet NSP transport protocol
  151. #define ISOPROTO_TP_CONS            25              // Transport over CONS
  152. #define ISOPROTO_CLTP_CONS          tba            // Connectionless Transport over CONS
  153. #define ISOPROTO_TP4_CLNS          29              // Transport class 4 over CLNS
  154. #define ISOPROTO_CLTP_CLNS          30              // Connectionless Transport over CLNS
  155. #define ISOPROTO_X25                32              // X.25
  156. #define ISOPROTO_X25PVC            tba            // Permanent Virtual Circuit
  157. #define ISOPROTO_X25SVC            ISOPROTO_X25    // Switched Virtual Circuit
  158. #define ISOPROTO_TP                ISOPROTO_TP4_CLNS
  159. #define ISOPROTO_CLTP              ISOPROTO_CLTP_CLNS
  160. #define ISOPROTO_TP0_TCP            tba            // Transport class 0 over TCP (RFC1006)
  161. #define ATMPROTO_AALUSER            0x00            // User-defined AAL
  162. #define ATMPROTO_AAL1              0x01            // AAL 1
  163. #define ATMPROTO_AAL2              0x02            // AAL 2
  164. #define ATMPROTO_AAL34              0x03            // AAL 3/4
  165. #define ATMPROTO_AAL5              0x05            // AAL 5
  166. */       
  167.        
  168.        
  169.     }
  170.     // enum ProtocolType
  171.    
  172. }
  173. // namespace System.Net.Sockets

Developer Fusion