svcguid.pas
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:21k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. {++ BUILD Version: 0001    // Increment this if a change has global effects
  2. Copyright (c) 1992-1999  Microsoft Corporation
  3. Module Name:
  4.     svcguid.h
  5. Abstract:
  6.     Defines GUIDs for well-known services including:
  7.         HOSTNAME
  8.         RFC 1060 (Assigned Numbers) from IANA (All TCP/IP Services)
  9.         NetWare services
  10. Created:
  11.     May 8, 1994
  12. Revision History:
  13.     converted by Alex Konshin alexk@mtgroup.ru  March 4, 2000
  14. }
  15. unit svcguid;
  16. interface
  17. uses
  18. SysUtils, Windows;
  19. const
  20. // HOSTNAME--special GUID which refers to the name of a host as opposed
  21. // to any particular service on that host.
  22. SVCID_HOSTNAME                  : TGUID = '{0002a800-0000-0000-c000-000000000046}';
  23. // GUIDs for dealing with AF_INET address spaces alone. These are
  24. // intended to be used when fetching hostent or servent information
  25. // from such a provider. These are not general-purpose types and
  26. // should be used only when the intent is getting at down-level
  27. // information.
  28. SVCID_INET_HOSTADDRBYINETSTRING : TGUID = '{0002a801-0000-0000-c000-000000000046}';
  29. SVCID_INET_SERVICEBYNAME        : TGUID = '{0002a802-0000-0000-c000-000000000046}';
  30. SVCID_INET_HOSTADDRBYNAME       : TGUID = '{0002a803-0000-0000-c000-000000000046}';
  31. // **AK** GUID templates
  32. SVCID_0_TCP                     : TGUID = '{00090000-0000-0000-c000-000000000046}';
  33. SVCID_0_UDP                     : TGUID = '{000a0000-0000-0000-c000-000000000046}';
  34. SVCID_0_NETWARE                 : TGUID = '{000b0000-0000-0000-c000-000000000046}';
  35. // Macros for defining and testing TCP and UDP GUIDs from a well-known port.
  36. function SVCID_TCP( const Port : Word ) : TGUID;
  37. function SVCID_DNS( const RecordType : Word ) : TGUID;
  38. function IS_SVCID_DNS( Id : TGUID ) : Boolean;
  39. function IS_SVCID_TCP( Id : TGUID ) : Boolean;
  40. function PORT_FROM_SVCID_TCP( Id : TGUID ) : Word;
  41. function RR_FROM_SVCID( Id : TGUID ) : Word; // extract RecordType from SVCID_DNS
  42. procedure SET_TCP_SVCID_RR( var Id : TGUID; const Port, RecordType : Word );
  43. procedure SET_TCP_SVCID( var Id : TGUID; const Port : Word );
  44. function SVCID_UDP( const Port : Word ) : TGUID;
  45. function IS_SVCID_UDP( Id : TGUID ) : Boolean;
  46. function PORT_FROM_SVCID_UDP( Id : TGUID ) : Word;
  47. procedure SET_UDP_SVCID( var Id : TGUID; const Port : Word );
  48. // Macros for defining and testing Netware (SAP) services based on the SAP ID.
  49. function SVCID_NETWARE( const SapId : Word ) : TGUID;
  50. function IS_SVCID_NETWARE( Id : TGUID ) : Boolean;
  51. function SAPID_FROM_SVCID_NETWARE( Id : TGUID ) : Word;
  52. procedure SET_NETWARE_SVCID( var Id : TGUID; const SapId : Word );
  53. // RFC 1060 services as defined by the IANA
  54. // GUID block = 0009xxxx-0000-0000-C000-000000000046
  55. const
  56. SVCID_ECHO_TCP                : TGUID = '{00090007-0000-0000-c000-000000000046}';
  57. SVCID_DISCARD_TCP             : TGUID = '{00090009-0000-0000-c000-000000000046}';
  58. SVCID_SYSTAT_TCP              : TGUID = '{0009000b-0000-0000-c000-000000000046}';
  59. SVCID_DAYTIME_TCP             : TGUID = '{0009000d-0000-0000-c000-000000000046}';
  60. SVCID_NETSTAT_TCP             : TGUID = '{0009000f-0000-0000-c000-000000000046}';
  61. SVCID_QOTD_TCP                : TGUID = '{00090011-0000-0000-c000-000000000046}';
  62. SVCID_CHARGEN_TCP             : TGUID = '{00090013-0000-0000-c000-000000000046}';
  63. SVCID_FTP_DATA_TCP            : TGUID = '{00090014-0000-0000-c000-000000000046}';
  64. SVCID_FTP_TCP                 : TGUID = '{00090015-0000-0000-c000-000000000046}';
  65. SVCID_TELNET_TCP              : TGUID = '{00090017-0000-0000-c000-000000000046}';
  66. SVCID_SMTP_TCP                : TGUID = '{00090019-0000-0000-c000-000000000046}';
  67. SVCID_TIME_TCP                : TGUID = '{00090025-0000-0000-c000-000000000046}';
  68. SVCID_NAME_TCP                : TGUID = '{0009002a-0000-0000-c000-000000000046}';
  69. SVCID_WHOIS_TCP               : TGUID = '{0009002b-0000-0000-c000-000000000046}';
  70. SVCID_DOMAIN_TCP              : TGUID = '{00090035-0000-0000-c000-000000000046}';
  71. SVCID_NAMESERVER_TCP          : TGUID = '{00090035-0000-0000-c000-000000000046}';
  72. SVCID_MTP_TCP                 : TGUID = '{00090039-0000-0000-c000-000000000046}';
  73. SVCID_RJE_TCP                 : TGUID = '{0009004d-0000-0000-c000-000000000046}';
  74. SVCID_FINGER_TCP              : TGUID = '{0009004f-0000-0000-c000-000000000046}';
  75. SVCID_LINK_TCP                : TGUID = '{00090057-0000-0000-c000-000000000046}';
  76. SVCID_SUPDUP_TCP              : TGUID = '{0009005f-0000-0000-c000-000000000046}';
  77. SVCID_HOSTNAMES_TCP           : TGUID = '{00090065-0000-0000-c000-000000000046}';
  78. SVCID_ISO_TSAP_TCP            : TGUID = '{00090066-0000-0000-c000-000000000046}';
  79. SVCID_DICTIONARY_TCP          : TGUID = '{00090067-0000-0000-c000-000000000046}';
  80. SVCID_X400_TCP                : TGUID = '{00090067-0000-0000-c000-000000000046}';
  81. SVCID_X400_SND_TCP            : TGUID = '{00090068-0000-0000-c000-000000000046}';
  82. SVCID_CSNET_NS_TCP            : TGUID = '{00090069-0000-0000-c000-000000000046}';
  83. SVCID_POP_TCP                 : TGUID = '{0009006d-0000-0000-c000-000000000046}';
  84. SVCID_POP2_TCP                : TGUID = '{0009006d-0000-0000-c000-000000000046}';
  85. SVCID_POP3_TCP                : TGUID = '{0009006e-0000-0000-c000-000000000046}';
  86. SVCID_PORTMAP_TCP             : TGUID = '{0009006f-0000-0000-c000-000000000046}';
  87. SVCID_SUNRPC_TCP              : TGUID = '{0009006f-0000-0000-c000-000000000046}';
  88. SVCID_AUTH_TCP                : TGUID = '{00090071-0000-0000-c000-000000000046}';
  89. SVCID_SFTP_TCP                : TGUID = '{00090073-0000-0000-c000-000000000046}';
  90. SVCID_PATH_TCP                : TGUID = '{00090075-0000-0000-c000-000000000046}';
  91. SVCID_UUCP_PATH_TCP           : TGUID = '{00090075-0000-0000-c000-000000000046}';
  92. SVCID_NNTP_TCP                : TGUID = '{00090077-0000-0000-c000-000000000046}';
  93. SVCID_NBSESSION_TCP           : TGUID = '{0009008b-0000-0000-c000-000000000046}';
  94. SVCID_NEWS_TCP                : TGUID = '{00090090-0000-0000-c000-000000000046}';
  95. SVCID_TCPREPO_TCP             : TGUID = '{0009009e-0000-0000-c000-000000000046}';
  96. SVCID_PRINT_SRV_TCP           : TGUID = '{000900aa-0000-0000-c000-000000000046}';
  97. SVCID_VMNET_TCP               : TGUID = '{000900af-0000-0000-c000-000000000046}';
  98. SVCID_VMNET0_TCP              : TGUID = '{00090190-0000-0000-c000-000000000046}';
  99. SVCID_EXEC_TCP                : TGUID = '{00090200-0000-0000-c000-000000000046}';
  100. SVCID_LOGIN_TCP               : TGUID = '{00090201-0000-0000-c000-000000000046}';
  101. SVCID_SHELL_TCP               : TGUID = '{00090202-0000-0000-c000-000000000046}';
  102. SVCID_PRINTER_TCP             : TGUID = '{00090203-0000-0000-c000-000000000046}';
  103. SVCID_EFS_TCP                 : TGUID = '{00090208-0000-0000-c000-000000000046}';
  104. SVCID_TEMPO_TCP               : TGUID = '{0009020e-0000-0000-c000-000000000046}';
  105. SVCID_COURIER_TCP             : TGUID = '{00090212-0000-0000-c000-000000000046}';
  106. SVCID_CONFERENCE_TCP          : TGUID = '{00090213-0000-0000-c000-000000000046}';
  107. SVCID_NETNEWS_TCP             : TGUID = '{00090214-0000-0000-c000-000000000046}';
  108. SVCID_UUCP_TCP                : TGUID = '{0009021c-0000-0000-c000-000000000046}';
  109. SVCID_KLOGIN_TCP              : TGUID = '{0009021f-0000-0000-c000-000000000046}';
  110. SVCID_KSHELL_TCP              : TGUID = '{00090220-0000-0000-c000-000000000046}';
  111. SVCID_REMOTEFS_TCP            : TGUID = '{0009022c-0000-0000-c000-000000000046}';
  112. SVCID_GARCON_TCP              : TGUID = '{00090258-0000-0000-c000-000000000046}';
  113. SVCID_MAITRD_TCP              : TGUID = '{00090259-0000-0000-c000-000000000046}';
  114. SVCID_BUSBOY_TCP              : TGUID = '{0009025a-0000-0000-c000-000000000046}';
  115. SVCID_KERBEROS_TCP            : TGUID = '{000902ee-0000-0000-c000-000000000046}';
  116. SVCID_KERBEROS_MASTER_TCP     : TGUID = '{000902ef-0000-0000-c000-000000000046}';
  117. SVCID_KRB_PROP_TCP            : TGUID = '{000902f2-0000-0000-c000-000000000046}';
  118. SVCID_ERLOGIN_TCP             : TGUID = '{00090378-0000-0000-c000-000000000046}';
  119. SVCID_KPOP_TCP                : TGUID = '{00090455-0000-0000-c000-000000000046}';
  120. SVCID_INGRESLOCK_TCP          : TGUID = '{000905f4-0000-0000-c000-000000000046}';
  121. SVCID_KNETD_TCP               : TGUID = '{00090805-0000-0000-c000-000000000046}';
  122. SVCID_EKLOGIN_TCP             : TGUID = '{00090839-0000-0000-c000-000000000046}';
  123. SVCID_RMT_TCP                 : TGUID = '{000915b3-0000-0000-c000-000000000046}';
  124. SVCID_MTB_TCP                 : TGUID = '{000915b4-0000-0000-c000-000000000046}';
  125. SVCID_MAN_TCP                 : TGUID = '{0009253f-0000-0000-c000-000000000046}';
  126. SVCID_W_TCP                   : TGUID = '{00092540-0000-0000-c000-000000000046}';
  127. SVCID_MANTST_TCP              : TGUID = '{00092541-0000-0000-c000-000000000046}';
  128. SVCID_BNEWS_TCP               : TGUID = '{00092710-0000-0000-c000-000000000046}';
  129. SVCID_QUEUE_TCP               : TGUID = '{00092711-0000-0000-c000-000000000046}';
  130. SVCID_POKER_TCP               : TGUID = '{00092712-0000-0000-c000-000000000046}';
  131. SVCID_GATEWAY_TCP             : TGUID = '{00092713-0000-0000-c000-000000000046}';
  132. SVCID_REMP_TCP                : TGUID = '{00092714-0000-0000-c000-000000000046}';
  133. SVCID_QMASTER_TCP             : TGUID = '{0009271c-0000-0000-c000-000000000046}';
  134. SVCID_ECHO_UDP                : TGUID = '{000a0007-0000-0000-c000-000000000046}';
  135. SVCID_DISCARD_UDP             : TGUID = '{000a0009-0000-0000-c000-000000000046}';
  136. SVCID_DAYTIME_UDP             : TGUID = '{000a000d-0000-0000-c000-000000000046}';
  137. SVCID_QOTD_UDP                : TGUID = '{000a0011-0000-0000-c000-000000000046}';
  138. SVCID_CHARGEN_UDP             : TGUID = '{000a0013-0000-0000-c000-000000000046}';
  139. SVCID_TIME_UDP                : TGUID = '{000a0025-0000-0000-c000-000000000046}';
  140. SVCID_RLP_UDP                 : TGUID = '{000a0027-0000-0000-c000-000000000046}';
  141. SVCID_NAME_UDP                : TGUID = '{000a002a-0000-0000-c000-000000000046}';
  142. SVCID_DOMAIN_UDP              : TGUID = '{000a0035-0000-0000-c000-000000000046}';
  143. SVCID_NAMESERVER_UDP          : TGUID = '{000a0035-0000-0000-c000-000000000046}';
  144. SVCID_BOOTP_UDP               : TGUID = '{000a0043-0000-0000-c000-000000000046}';
  145. SVCID_TFTP_UDP                : TGUID = '{000a0045-0000-0000-c000-000000000046}';
  146. SVCID_PORTMAP_UDP             : TGUID = '{000a006f-0000-0000-c000-000000000046}';
  147. SVCID_SUNRPC_UDP              : TGUID = '{000a006f-0000-0000-c000-000000000046}';
  148. SVCID_NTP_UDP                 : TGUID = '{000a007b-0000-0000-c000-000000000046}';
  149. SVCID_NBNAME_UDP              : TGUID = '{000a0089-0000-0000-c000-000000000046}';
  150. SVCID_NBDATAGRAM_UDP          : TGUID = '{000a008a-0000-0000-c000-000000000046}';
  151. SVCID_SGMP_UDP                : TGUID = '{000a0099-0000-0000-c000-000000000046}';
  152. SVCID_SNMP_UDP                : TGUID = '{000a00a1-0000-0000-c000-000000000046}';
  153. SVCID_SNMP_TRAP_UDP           : TGUID = '{000a00a2-0000-0000-c000-000000000046}';
  154. SVCID_LOAD_UDP                : TGUID = '{000a013b-0000-0000-c000-000000000046}';
  155. SVCID_SYTEK_UDP               : TGUID = '{000a01f4-0000-0000-c000-000000000046}';
  156. SVCID_BIFF_UDP                : TGUID = '{000a0200-0000-0000-c000-000000000046}';
  157. SVCID_WHO_UDP                 : TGUID = '{000a0201-0000-0000-c000-000000000046}';
  158. SVCID_SYSLOG_UDP              : TGUID = '{000a0202-0000-0000-c000-000000000046}';
  159. SVCID_TALK_UDP                : TGUID = '{000a0205-0000-0000-c000-000000000046}';
  160. SVCID_NTALK_UDP               : TGUID = '{000a0206-0000-0000-c000-000000000046}';
  161. SVCID_ROUTE_UDP               : TGUID = '{000a0208-0000-0000-c000-000000000046}';
  162. SVCID_TIMED_UDP               : TGUID = '{000a020d-0000-0000-c000-000000000046}';
  163. SVCID_RVD_CONTROL_UDP         : TGUID = '{000a0213-0000-0000-c000-000000000046}';
  164. SVCID_NETWALL_UDP             : TGUID = '{000a0215-0000-0000-c000-000000000046}';
  165. SVCID_NEW_RWHO_UDP            : TGUID = '{000a0226-0000-0000-c000-000000000046}';
  166. SVCID_RMONITOR_UDP            : TGUID = '{000a0230-0000-0000-c000-000000000046}';
  167. SVCID_MONITOR_UDP             : TGUID = '{000a0231-0000-0000-c000-000000000046}';
  168. SVCID_ACCTMASTER_UDP          : TGUID = '{000a02bc-0000-0000-c000-000000000046}';
  169. SVCID_ACCTSLAVE_UDP           : TGUID = '{000a02bd-0000-0000-c000-000000000046}';
  170. SVCID_ACCT_UDP                : TGUID = '{000a02be-0000-0000-c000-000000000046}';
  171. SVCID_ACCTLOGIN_UDP           : TGUID = '{000a02bf-0000-0000-c000-000000000046}';
  172. SVCID_ACCTPRINTER_UDP         : TGUID = '{000a02c0-0000-0000-c000-000000000046}';
  173. SVCID_ELCSD_UDP               : TGUID = '{000a02c0-0000-0000-c000-000000000046}';
  174. SVCID_ACCTINFO_UDP            : TGUID = '{000a02c1-0000-0000-c000-000000000046}';
  175. SVCID_ACCTSLAVE2_UDP          : TGUID = '{000a02c2-0000-0000-c000-000000000046}';
  176. SVCID_ACCTDISK_UDP            : TGUID = '{000a02c3-0000-0000-c000-000000000046}';
  177. SVCID_KERBEROS_UDP            : TGUID = '{000a02ee-0000-0000-c000-000000000046}';
  178. SVCID_KERBEROS_MASTER_UDP     : TGUID = '{000a02ef-0000-0000-c000-000000000046}';
  179. SVCID_PASSWD_SERVER_UDP       : TGUID = '{000a02f0-0000-0000-c000-000000000046}';
  180. SVCID_USERREG_SERVER_UDP      : TGUID = '{000a02f1-0000-0000-c000-000000000046}';
  181. SVCID_PHONE_UDP               : TGUID = '{000a048f-0000-0000-c000-000000000046}';
  182. SVCID_MAZE_UDP                : TGUID = '{000a0682-0000-0000-c000-000000000046}';
  183. SVCID_NFS_UDP                 : TGUID = '{000a0801-0000-0000-c000-000000000046}';
  184. SVCID_RSCS0_UDP               : TGUID = '{000a2710-0000-0000-c000-000000000046}';
  185. SVCID_RSCS1_UDP               : TGUID = '{000a2711-0000-0000-c000-000000000046}';
  186. SVCID_RSCS2_UDP               : TGUID = '{000a2712-0000-0000-c000-000000000046}';
  187. SVCID_RSCS3_UDP               : TGUID = '{000a2713-0000-0000-c000-000000000046}';
  188. SVCID_RSCS4_UDP               : TGUID = '{000a2714-0000-0000-c000-000000000046}';
  189. SVCID_RSCS5_UDP               : TGUID = '{000a2715-0000-0000-c000-000000000046}';
  190. SVCID_RSCS6_UDP               : TGUID = '{000a2716-0000-0000-c000-000000000046}';
  191. SVCID_RSCS7_UDP               : TGUID = '{000a2717-0000-0000-c000-000000000046}';
  192. SVCID_RSCS8_UDP               : TGUID = '{000a2718-0000-0000-c000-000000000046}';
  193. SVCID_RSCS9_UDP               : TGUID = '{000a2719-0000-0000-c000-000000000046}';
  194. SVCID_RSCSA_UDP               : TGUID = '{000a271a-0000-0000-c000-000000000046}';
  195. SVCID_RSCSB_UDP               : TGUID = '{000a271b-0000-0000-c000-000000000046}';
  196. SVCID_QMASTER_UDP             : TGUID = '{000a271c-0000-0000-c000-000000000046}';
  197. // NetWare services
  198. // GUID block = 000axxxx-0000-0000-C000-000000000046
  199. SVCID_PRINT_QUEUE                 : TGUID = '{000b0003-0000-0000-c000-000000000046}';
  200. SVCID_FILE_SERVER                 : TGUID = '{000b0004-0000-0000-c000-000000000046}';
  201. SVCID_JOB_SERVER                  : TGUID = '{000b0005-0000-0000-c000-000000000046}';
  202. SVCID_GATEWAY                     : TGUID = '{000b0006-0000-0000-c000-000000000046}';
  203. SVCID_PRINT_SERVER                : TGUID = '{000b0007-0000-0000-c000-000000000046}';
  204. SVCID_ARCHIVE_QUEUE               : TGUID = '{000b0008-0000-0000-c000-000000000046}';
  205. SVCID_ARCHIVE_SERVER              : TGUID = '{000b0009-0000-0000-c000-000000000046}';
  206. SVCID_JOB_QUEUE                   : TGUID = '{000b000a-0000-0000-c000-000000000046}';
  207. SVCID_ADMINISTRATION              : TGUID = '{000b000b-0000-0000-c000-000000000046}';
  208. SVCID_NAS_SNA_GATEWAY             : TGUID = '{000b0021-0000-0000-c000-000000000046}';
  209. SVCID_REMOTE_BRIDGE_SERVER        : TGUID = '{000b0024-0000-0000-c000-000000000046}';
  210. SVCID_TIME_SYNCHRONIZATION_SERVER : TGUID = '{000b002d-0000-0000-c000-000000000046}';
  211. SVCID_ARCHIVE_SERVER_DYNAMIC_SAP  : TGUID = '{000b002e-0000-0000-c000-000000000046}';
  212. SVCID_ADVERTISING_PRINT_SERVER    : TGUID = '{000b0047-0000-0000-c000-000000000046}';
  213. SVCID_BTRIEVE_VAP                 : TGUID = '{000b004b-0000-0000-c000-000000000046}';
  214. SVCID_DIRECTORY_SERVER            : TGUID = '{000b0278-0000-0000-c000-000000000046}';
  215. SVCID_NETWARE_386                 : TGUID = '{000b0107-0000-0000-c000-000000000046}';
  216. SVCID_HP_PRINT_SERVER             : TGUID = '{000b030C-0000-0000-c000-000000000046}';
  217. SVCID_SNA_SERVER                  : TGUID = '{000b0444-0000-0000-c000-000000000046}';
  218. SVCID_SAA_SERVER                  : TGUID = '{000b0130-0000-0000-c000-000000000046}';
  219. // DNS services by record type
  220. // GUID block = 00090035-0000-xxxx-C000-000000000046
  221. SVCID_DNS_TYPE_A                  : TGUID = '{00090035-0000-0001-c000-000000000046}';
  222. SVCID_DNS_TYPE_NS                 : TGUID = '{00090035-0000-0002-c000-000000000046}';
  223. SVCID_DNS_TYPE_MD                 : TGUID = '{00090035-0000-0003-c000-000000000046}';
  224. SVCID_DNS_TYPE_MF                 : TGUID = '{00090035-0000-0004-c000-000000000046}';
  225. SVCID_DNS_TYPE_CNAME              : TGUID = '{00090035-0000-0005-c000-000000000046}';
  226. SVCID_DNS_TYPE_SOA                : TGUID = '{00090035-0000-0006-c000-000000000046}';
  227. SVCID_DNS_TYPE_MB                 : TGUID = '{00090035-0000-0007-c000-000000000046}';
  228. SVCID_DNS_TYPE_MG                 : TGUID = '{00090035-0000-0008-c000-000000000046}';
  229. SVCID_DNS_TYPE_MR                 : TGUID = '{00090035-0000-0009-c000-000000000046}';
  230. SVCID_DNS_TYPE_NULL               : TGUID = '{00090035-0000-000a-c000-000000000046}';
  231. SVCID_DNS_TYPE_WKS                : TGUID = '{00090035-0000-000b-c000-000000000046}';
  232. SVCID_DNS_TYPE_PTR                : TGUID = '{00090035-0000-000c-c000-000000000046}';
  233. SVCID_DNS_TYPE_HINFO              : TGUID = '{00090035-0000-000d-c000-000000000046}';
  234. SVCID_DNS_TYPE_MINFO              : TGUID = '{00090035-0000-000e-c000-000000000046}';
  235. SVCID_DNS_TYPE_MX                 : TGUID = '{00090035-0000-000f-c000-000000000046}';
  236. SVCID_DNS_TYPE_TEXT               : TGUID = '{00090035-0000-0010-c000-000000000046}';
  237. SVCID_DNS_TYPE_RP                 : TGUID = '{00090035-0000-0011-c000-000000000046}';
  238. SVCID_DNS_TYPE_AFSDB              : TGUID = '{00090035-0000-0012-c000-000000000046}';
  239. SVCID_DNS_TYPE_X25                : TGUID = '{00090035-0000-0013-c000-000000000046}';
  240. SVCID_DNS_TYPE_ISDN               : TGUID = '{00090035-0000-0014-c000-000000000046}';
  241. SVCID_DNS_TYPE_RT                 : TGUID = '{00090035-0000-0015-c000-000000000046}';
  242. SVCID_DNS_TYPE_NSAP               : TGUID = '{00090035-0000-0016-c000-000000000046}';
  243. SVCID_DNS_TYPE_NSAPPTR            : TGUID = '{00090035-0000-0017-c000-000000000046}';
  244. SVCID_DNS_TYPE_SIG                : TGUID = '{00090035-0000-0018-c000-000000000046}';
  245. SVCID_DNS_TYPE_KEY                : TGUID = '{00090035-0000-0019-c000-000000000046}';
  246. SVCID_DNS_TYPE_PX                 : TGUID = '{00090035-0000-001a-c000-000000000046}';
  247. SVCID_DNS_TYPE_GPOS               : TGUID = '{00090035-0000-001b-c000-000000000046}';
  248. SVCID_DNS_TYPE_AAAA               : TGUID = '{00090035-0000-001c-c000-000000000046}';
  249. SVCID_DNS_TYPE_LOC                : TGUID = '{00090035-0000-001d-c000-000000000046}';
  250. SVCID_DNS_TYPE_NXT                : TGUID = '{00090035-0000-001e-c000-000000000046}';
  251. SVCID_DNS_TYPE_SRV                : TGUID = '{00090035-0000-0021-c000-000000000046}';
  252. SVCID_DNS_TYPE_ATMA               : TGUID = '{00090035-0000-0022-c000-000000000046}';
  253. implementation
  254. function SVCID_TCP( const Port : Word ) : TGUID;
  255. begin
  256. Result := SVCID_0_TCP;
  257. PWord(@Result.D1)^ := Port;
  258. end;
  259. function SVCID_DNS( const RecordType : Word ) : TGUID;
  260. begin
  261. Result := SVCID_DOMAIN_TCP;
  262. Result.D3 := RecordType;
  263. end;
  264. function IS_SVCID_DNS( Id : TGUID ) : Boolean;
  265. begin
  266. with Id do Result := (D1=$00090035) and (D2=0) and (PInteger(@D4)^=$000000c0) and (PInteger(PChar(@D4)+4)^=$46000000);
  267. end;
  268. function IS_SVCID_TCP( Id : TGUID ) : Boolean;
  269. begin
  270. with Id do Result := (PWord(PChar(@D1)+2)^=$0009) and (D2=0) and (PInteger(@D4)^=$000000c0) and (PInteger(PChar(@D4)+4)^=$46000000);
  271. end;
  272. function PORT_FROM_SVCID_TCP( Id : TGUID ) : Word;
  273. begin
  274. Result := PWord(@Id.D1)^;
  275. end;
  276. function RR_FROM_SVCID( Id : TGUID ) : Word;
  277. begin
  278. Result := Id.D3;
  279. end;
  280. procedure SET_TCP_SVCID_RR( var Id : TGUID; const Port, RecordType : Word );
  281. begin
  282. with Id do
  283. begin
  284. PWord(@D1)^ := Port;
  285. D3 := RecordType;
  286. end;
  287. end;
  288. procedure SET_TCP_SVCID( var Id : TGUID; const Port : Word );
  289. begin
  290. PWord(@Id.D1)^ := Port;
  291. end;
  292. function SVCID_UDP( const Port : Word ) : TGUID;
  293. begin
  294. Result := SVCID_0_UDP;
  295. PWord(@Result.D1)^ := Port;
  296. end;
  297. function IS_SVCID_UDP( Id : TGUID ) : Boolean;
  298. begin
  299. with Id do Result := (PWord(PChar(@D1)+2)^=$000a) and (D2=0) and (PInteger(@D4)^=$000000c0) and (PInteger(PChar(@D4)+4)^=$46000000);
  300. end;
  301. function PORT_FROM_SVCID_UDP( Id : TGUID ) : Word;
  302. begin
  303. Result := PWord(@Id.D1)^;
  304. end;
  305. procedure SET_UDP_SVCID( var Id : TGUID; const Port : Word );
  306. begin
  307. PWord(@Id.D1)^ := Port;
  308. end;
  309. function SVCID_NETWARE( const SapId : Word ) : TGUID;
  310. begin
  311. Result := SVCID_0_NETWARE;
  312. PWord(@Result.D1)^ := SapId;
  313. end;
  314. function IS_SVCID_NETWARE( Id : TGUID ) : Boolean;
  315. begin
  316. with Id do Result := (PWord(PChar(@D1)+2)^=$000b) and (D2=0) and (PInteger(@D4)^=$000000c0) and (PInteger(PChar(@D4)+4)^=$46000000);
  317. end;
  318. function SAPID_FROM_SVCID_NETWARE( Id : TGUID ) : Word;
  319. begin
  320. Result := PWord(@Id.D1)^;
  321. end;
  322. procedure SET_NETWARE_SVCID( var Id : TGUID; const SapId : Word );
  323. begin
  324. PWord(@Id.D1)^ := SapId;
  325. end;
  326. end.