jwasvcguid.pas 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. {******************************************************************************}
  2. { }
  3. { Winsock2 Service GUIDs API interface Unit for Object Pascal }
  4. { }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
  6. { Corporation. All Rights Reserved. }
  7. { }
  8. { The original file is: svcguid.h, released June 2000. The original Pascal }
  9. { code is: SvcGuid.pas, released December 2000. The initial developer of the }
  10. { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
  11. { }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
  13. { Marcel van Brakel. All Rights Reserved. }
  14. { }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
  16. { }
  17. { You may retrieve the latest version of this file at the Project JEDI }
  18. { APILIB home page, located at http://jedi-apilib.sourceforge.net }
  19. { }
  20. { The contents of this file are used with permission, subject to the Mozilla }
  21. { Public License Version 1.1 (the "License"); you may not use this file except }
  22. { in compliance with the License. You may obtain a copy of the License at }
  23. { http://www.mozilla.org/MPL/MPL-1.1.html }
  24. { }
  25. { Software distributed under the License is distributed on an "AS IS" basis, }
  26. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  27. { the specific language governing rights and limitations under the License. }
  28. { }
  29. { Alternatively, the contents of this file may be used under the terms of the }
  30. { GNU Lesser General Public License (the "LGPL License"), in which case the }
  31. { provisions of the LGPL License are applicable instead of those above. }
  32. { If you wish to allow use of your version of this file only under the terms }
  33. { of the LGPL License and not to allow others to use your version of this file }
  34. { under the MPL, indicate your decision by deleting the provisions above and }
  35. { replace them with the notice and other provisions required by the LGPL }
  36. { License. If you do not delete the provisions above, a recipient may use }
  37. { your version of this file under either the MPL or the LGPL License. }
  38. { }
  39. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  40. { }
  41. {******************************************************************************}
  42. // $Id: JwaSvcGuid.pas,v 1.6 2005/09/03 14:27:48 marquardt Exp $
  43. unit JwaSvcGuid;
  44. {$WEAKPACKAGEUNIT}
  45. {$HPPEMIT ''}
  46. {$HPPEMIT '#include "svguid.h"'}
  47. {$HPPEMIT ''}
  48. {$I jediapilib.inc}
  49. interface
  50. uses
  51. {$IFDEF USE_DELPHI_TYPES}
  52. Windows;
  53. {$ELSE}
  54. JwaWindows;
  55. {$ENDIF USE_DELPHI_TYPES}
  56. // Defines GUIDs for well-known services including:
  57. //
  58. // HOSTNAME
  59. // RFC 1060 (Assigned Numbers) from IANA (All TCP/IP Services)
  60. // NetWare services
  61. //
  62. // HOSTNAME--special GUID which refers to the name of a host as opposed
  63. // to any particular service on that host.
  64. //
  65. const
  66. SVCID_HOSTNAME: TGUID = '{0002a800-0000-0000-C000-000000000046}';
  67. {$EXTERNALSYM SVCID_HOSTNAME}
  68. //
  69. // GUIDs for dealing with AF_INET address spaces alone. These are
  70. // intended to be used when fetching hostent or servent information
  71. // from such a provider. These are not general-purpose types and
  72. // should be used only when the intent is getting at down-level
  73. // information.
  74. //
  75. SVCID_INET_HOSTADDRBYINETSTRING: TGUID = '{0002a801-0000-0000-C000-000000000046}';
  76. {$EXTERNALSYM SVCID_INET_HOSTADDRBYINETSTRING}
  77. SVCID_INET_SERVICEBYNAME: TGUID = '{0002a802-0000-0000-C000-000000000046}';
  78. {$EXTERNALSYM SVCID_INET_SERVICEBYNAME}
  79. SVCID_INET_HOSTADDRBYNAME: TGUID = '{0002a803-0000-0000-C000-000000000046}';
  80. {$EXTERNALSYM SVCID_INET_HOSTADDRBYNAME}
  81. //
  82. // Macros for defining and testing TCP and UDP GUIDs from a well-known
  83. // port.
  84. //
  85. function SVCID_TCP_RR(Port, RR: Word): TGUID;
  86. {$EXTERNALSYM SVCID_TCP_RR}
  87. function SVCID_TCP(Port: Word): TGUID;
  88. {$EXTERNALSYM SVCID_TCP}
  89. function SVCID_DNS(RecordType: Word): TGUID;
  90. {$EXTERNALSYM SVCID_DNS}
  91. function IS_SVCID_DNS(const Guid: TGUID): Boolean;
  92. {$EXTERNALSYM IS_SVCID_DNS}
  93. function IS_SVCID_TCP(const Guid: TGUID): Boolean;
  94. {$EXTERNALSYM IS_SVCID_TCP}
  95. function PORT_FROM_SVCID_TCP(const Guid: TGUID): Word;
  96. {$EXTERNALSYM PORT_FROM_SVCID_TCP}
  97. function RR_FROM_SVCID(const Guid: TGUID): Word;
  98. {$EXTERNALSYM RR_FROM_SVCID}
  99. procedure SET_TCP_SVCID_RR(var Guid: TGUID; _Port, _RR: Word);
  100. {$EXTERNALSYM SET_TCP_SVCID_RR}
  101. procedure SET_TCP_SVCID(var Guid: TGUID; Port: Word);
  102. {$EXTERNALSYM SET_TCP_SVCID}
  103. function SVCID_UDP_RR(Port, RR: Word): TGUID;
  104. {$EXTERNALSYM SVCID_UDP_RR}
  105. function SVCID_UDP(Port: Word): TGUID;
  106. {$EXTERNALSYM SVCID_UDP}
  107. function IS_SVCID_UDP(const Guid: TGUID): Boolean;
  108. {$EXTERNALSYM IS_SVCID_UDP}
  109. function PORT_FROM_SVCID_UDP(const Guid: TGUID): WORD;
  110. {$EXTERNALSYM PORT_FROM_SVCID_UDP}
  111. procedure SET_UDP_SVCID_RR(var Guid: TGUID; Port, RR: WORD);
  112. {$EXTERNALSYM SET_UDP_SVCID_RR}
  113. procedure SET_UDP_SVCID(var Guid: TGUID; Port: WORD);
  114. {$EXTERNALSYM SET_UDP_SVCID}
  115. //
  116. // Macros for defining and testing Netware (SAP) services based on the
  117. // SAP ID.
  118. //
  119. function SVCID_NETWARE(SapId: WORD): TGUID;
  120. {$EXTERNALSYM SVCID_NETWARE}
  121. function IS_SVCID_NETWARE(const Guid: TGUID): Boolean;
  122. {$EXTERNALSYM IS_SVCID_NETWARE}
  123. function SAPID_FROM_SVCID_NETWARE(const Guid: TGUID): WORD;
  124. {$EXTERNALSYM SAPID_FROM_SVCID_NETWARE}
  125. procedure SET_NETWARE_SVCID(var Guid: TGUID; SapId: WORD);
  126. {$EXTERNALSYM SET_NETWARE_SVCID}
  127. //
  128. // RFC 1060 services as defined by the IANA
  129. // GUID block = 0009xxxx-0000-0000-C0000-000000000046
  130. //
  131. const
  132. SVCID_ECHO_TCP: TGUID = '{00090007-0000-0000-C000-000000000046}';
  133. {$EXTERNALSYM SVCID_ECHO_TCP}
  134. SVCID_DISCARD_TCP: TGUID = '{00090009-0000-0000-C000-000000000046}';
  135. {$EXTERNALSYM SVCID_DISCARD_TCP}
  136. SVCID_SYSTAT_TCP: TGUID = '{0009000B-0000-0000-C000-000000000046}';
  137. {$EXTERNALSYM SVCID_SYSTAT_TCP}
  138. SVCID_DAYTIME_TCP: TGUID = '{0009000D-0000-0000-C000-000000000046}';
  139. {$EXTERNALSYM SVCID_DAYTIME_TCP}
  140. SVCID_NETSTAT_TCP: TGUID = '{0009000F-0000-0000-C000-000000000046}';
  141. {$EXTERNALSYM SVCID_NETSTAT_TCP}
  142. SVCID_QOTD_TCP: TGUID = '{00090011-0000-0000-C000-000000000046}';
  143. {$EXTERNALSYM SVCID_QOTD_TCP}
  144. SVCID_CHARGEN_TCP: TGUID = '{00090013-0000-0000-C000-000000000046}';
  145. {$EXTERNALSYM SVCID_CHARGEN_TCP}
  146. SVCID_FTP_DATA_TCP: TGUID = '{00090014-0000-0000-C000-000000000046}';
  147. {$EXTERNALSYM SVCID_FTP_DATA_TCP}
  148. SVCID_FTP_TCP: TGUID = '{00090015-0000-0000-C000-000000000046}';
  149. {$EXTERNALSYM SVCID_FTP_TCP}
  150. SVCID_TELNET_TCP: TGUID = '{00090017-0000-0000-C000-000000000046}';
  151. {$EXTERNALSYM SVCID_TELNET_TCP}
  152. SVCID_SMTP_TCP: TGUID = '{00090019-0000-0000-C000-000000000046}';
  153. {$EXTERNALSYM SVCID_SMTP_TCP}
  154. SVCID_TIME_TCP: TGUID = '{00090025-0000-0000-C000-000000000046}';
  155. {$EXTERNALSYM SVCID_TIME_TCP}
  156. SVCID_NAME_TCP: TGUID = '{0009002A-0000-0000-C000-000000000046}';
  157. {$EXTERNALSYM SVCID_NAME_TCP}
  158. SVCID_WHOIS_TCP: TGUID = '{0009002B-0000-0000-C000-000000000046}';
  159. {$EXTERNALSYM SVCID_WHOIS_TCP}
  160. SVCID_DOMAIN_TCP: TGUID = '{00090035-0000-0000-C000-000000000046}';
  161. {$EXTERNALSYM SVCID_DOMAIN_TCP}
  162. SVCID_NAMESERVER_TCP: TGUID = '{00090035-0000-0000-C000-000000000046}';
  163. {$EXTERNALSYM SVCID_NAMESERVER_TCP}
  164. SVCID_MTP_TCP: TGUID = '{00090039-0000-0000-C000-000000000046}';
  165. {$EXTERNALSYM SVCID_MTP_TCP}
  166. SVCID_RJE_TCP: TGUID = '{0009004D-0000-0000-C000-000000000046}';
  167. {$EXTERNALSYM SVCID_RJE_TCP}
  168. SVCID_FINGER_TCP: TGUID = '{0009004F-0000-0000-C000-000000000046}';
  169. {$EXTERNALSYM SVCID_FINGER_TCP}
  170. SVCID_LINK_TCP: TGUID = '{00090057-0000-0000-C000-000000000046}';
  171. {$EXTERNALSYM SVCID_LINK_TCP}
  172. SVCID_SUPDUP_TCP: TGUID = '{0009005F-0000-0000-C000-000000000046}';
  173. {$EXTERNALSYM SVCID_SUPDUP_TCP}
  174. SVCID_HOSTNAMES_TCP: TGUID = '{00090065-0000-0000-C000-000000000046}';
  175. {$EXTERNALSYM SVCID_HOSTNAMES_TCP}
  176. SVCID_ISO_TSAP_TCP: TGUID = '{00090066-0000-0000-C000-000000000046}';
  177. {$EXTERNALSYM SVCID_ISO_TSAP_TCP}
  178. SVCID_DICTIONARY_TCP: TGUID = '{00090067-0000-0000-C000-000000000046}';
  179. {$EXTERNALSYM SVCID_DICTIONARY_TCP}
  180. SVCID_X400_TCP: TGUID = '{00090067-0000-0000-C000-000000000046}';
  181. {$EXTERNALSYM SVCID_X400_TCP}
  182. SVCID_X400_SND_TCP: TGUID = '{00090068-0000-0000-C000-000000000046}';
  183. {$EXTERNALSYM SVCID_X400_SND_TCP}
  184. SVCID_CSNET_NS_TCP: TGUID = '{00090069-0000-0000-C000-000000000046}';
  185. {$EXTERNALSYM SVCID_CSNET_NS_TCP}
  186. SVCID_POP_TCP: TGUID = '{0009006D-0000-0000-C000-000000000046}';
  187. {$EXTERNALSYM SVCID_POP_TCP}
  188. SVCID_POP2_TCP: TGUID = '{0009006D-0000-0000-C000-000000000046}';
  189. {$EXTERNALSYM SVCID_POP2_TCP}
  190. SVCID_POP3_TCP: TGUID = '{0009006E-0000-0000-C000-000000000046}';
  191. {$EXTERNALSYM SVCID_POP3_TCP}
  192. SVCID_PORTMAP_TCP: TGUID = '{0009006F-0000-0000-C000-000000000046}';
  193. {$EXTERNALSYM SVCID_PORTMAP_TCP}
  194. SVCID_SUNRPC_TCP: TGUID = '{0009006F-0000-0000-C000-000000000046}';
  195. {$EXTERNALSYM SVCID_SUNRPC_TCP}
  196. SVCID_AUTH_TCP: TGUID = '{00090071-0000-0000-C000-000000000046}';
  197. {$EXTERNALSYM SVCID_AUTH_TCP}
  198. SVCID_SFTP_TCP: TGUID = '{00090073-0000-0000-C000-000000000046}';
  199. {$EXTERNALSYM SVCID_SFTP_TCP}
  200. SVCID_PATH_TCP: TGUID = '{00090075-0000-0000-C000-000000000046}';
  201. {$EXTERNALSYM SVCID_PATH_TCP}
  202. SVCID_UUCP_PATH_TCP: TGUID = '{00090075-0000-0000-C000-000000000046}';
  203. {$EXTERNALSYM SVCID_UUCP_PATH_TCP}
  204. SVCID_NNTP_TCP: TGUID = '{00090077-0000-0000-C000-000000000046}';
  205. {$EXTERNALSYM SVCID_NNTP_TCP}
  206. SVCID_NBSESSION_TCP: TGUID = '{0009008B-0000-0000-C000-000000000046}';
  207. {$EXTERNALSYM SVCID_NBSESSION_TCP}
  208. SVCID_NEWS_TCP: TGUID = '{00090090-0000-0000-C000-000000000046}';
  209. {$EXTERNALSYM SVCID_NEWS_TCP}
  210. SVCID_TCPREPO_TCP: TGUID = '{0009009E-0000-0000-C000-000000000046}';
  211. {$EXTERNALSYM SVCID_TCPREPO_TCP}
  212. SVCID_PRINT_SRV_TCP: TGUID = '{000900AA-0000-0000-C000-000000000046}';
  213. {$EXTERNALSYM SVCID_PRINT_SRV_TCP}
  214. SVCID_VMNET_TCP: TGUID = '{000900AF-0000-0000-C000-000000000046}';
  215. {$EXTERNALSYM SVCID_VMNET_TCP}
  216. SVCID_VMNET0_TCP: TGUID = '{00090190-0000-0000-C000-000000000046}';
  217. {$EXTERNALSYM SVCID_VMNET0_TCP}
  218. SVCID_EXEC_TCP: TGUID = '{00090200-0000-0000-C000-000000000046}';
  219. {$EXTERNALSYM SVCID_EXEC_TCP}
  220. SVCID_LOGIN_TCP: TGUID = '{00090201-0000-0000-C000-000000000046}';
  221. {$EXTERNALSYM SVCID_LOGIN_TCP}
  222. SVCID_SHELL_TCP: TGUID = '{00090202-0000-0000-C000-000000000046}';
  223. {$EXTERNALSYM SVCID_SHELL_TCP}
  224. SVCID_PRINTER_TCP: TGUID = '{00090203-0000-0000-C000-000000000046}';
  225. {$EXTERNALSYM SVCID_PRINTER_TCP}
  226. SVCID_EFS_TCP: TGUID = '{00090208-0000-0000-C000-000000000046}';
  227. {$EXTERNALSYM SVCID_EFS_TCP}
  228. SVCID_TEMPO_TCP: TGUID = '{0009020E-0000-0000-C000-000000000046}';
  229. {$EXTERNALSYM SVCID_TEMPO_TCP}
  230. SVCID_COURIER_TCP: TGUID = '{00090212-0000-0000-C000-000000000046}';
  231. {$EXTERNALSYM SVCID_COURIER_TCP}
  232. SVCID_CONFERENCE_TCP: TGUID = '{00090213-0000-0000-C000-000000000046}';
  233. {$EXTERNALSYM SVCID_CONFERENCE_TCP}
  234. SVCID_NETNEWS_TCP: TGUID = '{00090214-0000-0000-C000-000000000046}';
  235. {$EXTERNALSYM SVCID_NETNEWS_TCP}
  236. SVCID_UUCP_TCP: TGUID = '{0009021C-0000-0000-C000-000000000046}';
  237. {$EXTERNALSYM SVCID_UUCP_TCP}
  238. SVCID_KLOGIN_TCP: TGUID = '{0009021F-0000-0000-C000-000000000046}';
  239. {$EXTERNALSYM SVCID_KLOGIN_TCP}
  240. SVCID_KSHELL_TCP: TGUID = '{00090220-0000-0000-C000-000000000046}';
  241. {$EXTERNALSYM SVCID_KSHELL_TCP}
  242. SVCID_REMOTEFS_TCP: TGUID = '{0009022C-0000-0000-C000-000000000046}';
  243. {$EXTERNALSYM SVCID_REMOTEFS_TCP}
  244. SVCID_GARCON_TCP: TGUID = '{00090258-0000-0000-C000-000000000046}';
  245. {$EXTERNALSYM SVCID_GARCON_TCP}
  246. SVCID_MAITRD_TCP: TGUID = '{00090259-0000-0000-C000-000000000046}';
  247. {$EXTERNALSYM SVCID_MAITRD_TCP}
  248. SVCID_BUSBOY_TCP: TGUID = '{0009025A-0000-0000-C000-000000000046}';
  249. {$EXTERNALSYM SVCID_BUSBOY_TCP}
  250. SVCID_KERBEROS_TCP: TGUID = '{000902EE-0000-0000-C000-000000000046}';
  251. {$EXTERNALSYM SVCID_KERBEROS_TCP}
  252. SVCID_KERBEROS_MASTER_TCP: TGUID = '{000902EF-0000-0000-C000-000000000046}';
  253. {$EXTERNALSYM SVCID_KERBEROS_MASTER_TCP}
  254. SVCID_KRB_PROP_TCP: TGUID = '{000902F2-0000-0000-C000-000000000046}';
  255. {$EXTERNALSYM SVCID_KRB_PROP_TCP}
  256. SVCID_ERLOGIN_TCP: TGUID = '{00090378-0000-0000-C000-000000000046}';
  257. {$EXTERNALSYM SVCID_ERLOGIN_TCP}
  258. SVCID_KPOP_TCP: TGUID = '{00090455-0000-0000-C000-000000000046}';
  259. {$EXTERNALSYM SVCID_KPOP_TCP}
  260. SVCID_INGRESLOCK_TCP: TGUID = '{000905F4-0000-0000-C000-000000000046}';
  261. {$EXTERNALSYM SVCID_INGRESLOCK_TCP}
  262. SVCID_KNETD_TCP: TGUID = '{00090805-0000-0000-C000-000000000046}';
  263. {$EXTERNALSYM SVCID_KNETD_TCP}
  264. SVCID_EKLOGIN_TCP: TGUID = '{00090839-0000-0000-C000-000000000046}';
  265. {$EXTERNALSYM SVCID_EKLOGIN_TCP}
  266. SVCID_RMT_TCP: TGUID = '{000915B3-0000-0000-C000-000000000046}';
  267. {$EXTERNALSYM SVCID_RMT_TCP}
  268. SVCID_MTB_TCP: TGUID = '{000915B4-0000-0000-C000-000000000046}';
  269. {$EXTERNALSYM SVCID_MTB_TCP}
  270. SVCID_MAN_TCP: TGUID = '{0009253F-0000-0000-C000-000000000046}';
  271. {$EXTERNALSYM SVCID_MAN_TCP}
  272. SVCID_W_TCP: TGUID = '{00092540-0000-0000-C000-000000000046}';
  273. {$EXTERNALSYM SVCID_W_TCP}
  274. SVCID_MANTST_TCP: TGUID = '{00092541-0000-0000-C000-000000000046}';
  275. {$EXTERNALSYM SVCID_MANTST_TCP}
  276. SVCID_BNEWS_TCP: TGUID = '{00092710-0000-0000-C000-000000000046}';
  277. {$EXTERNALSYM SVCID_BNEWS_TCP}
  278. SVCID_QUEUE_TCP: TGUID = '{00092711-0000-0000-C000-000000000046}';
  279. {$EXTERNALSYM SVCID_QUEUE_TCP}
  280. SVCID_POKER_TCP: TGUID = '{00092712-0000-0000-C000-000000000046}';
  281. {$EXTERNALSYM SVCID_POKER_TCP}
  282. SVCID_GATEWAY_TCP: TGUID = '{00092713-0000-0000-C000-000000000046}';
  283. {$EXTERNALSYM SVCID_GATEWAY_TCP}
  284. SVCID_REMP_TCP: TGUID = '{00092714-0000-0000-C000-000000000046}';
  285. {$EXTERNALSYM SVCID_REMP_TCP}
  286. SVCID_QMASTER_TCP: TGUID = '{0009271C-0000-0000-C000-000000000046}';
  287. {$EXTERNALSYM SVCID_QMASTER_TCP}
  288. SVCID_ECHO_UDP: TGUID = '{000A0007-0000-0000-C000-000000000046}';
  289. {$EXTERNALSYM SVCID_ECHO_UDP}
  290. SVCID_DISCARD_UDP: TGUID = '{000A0009-0000-0000-C000-000000000046}';
  291. {$EXTERNALSYM SVCID_DISCARD_UDP}
  292. SVCID_DAYTIME_UDP: TGUID = '{000A000D-0000-0000-C000-000000000046}';
  293. {$EXTERNALSYM SVCID_DAYTIME_UDP}
  294. SVCID_QOTD_UDP: TGUID = '{000A0011-0000-0000-C000-000000000046}';
  295. {$EXTERNALSYM SVCID_QOTD_UDP}
  296. SVCID_CHARGEN_UDP: TGUID = '{000A0013-0000-0000-C000-000000000046}';
  297. {$EXTERNALSYM SVCID_CHARGEN_UDP}
  298. SVCID_TIME_UDP: TGUID = '{000A0025-0000-0000-C000-000000000046}';
  299. {$EXTERNALSYM SVCID_TIME_UDP}
  300. SVCID_RLP_UDP: TGUID = '{000A0027-0000-0000-C000-000000000046}';
  301. {$EXTERNALSYM SVCID_RLP_UDP}
  302. SVCID_NAME_UDP: TGUID = '{000A002A-0000-0000-C000-000000000046}';
  303. {$EXTERNALSYM SVCID_NAME_UDP}
  304. SVCID_DOMAIN_UDP: TGUID = '{000A0035-0000-0000-C000-000000000046}';
  305. {$EXTERNALSYM SVCID_DOMAIN_UDP}
  306. SVCID_NAMESERVER_UDP: TGUID = '{000A0035-0000-0000-C000-000000000046}';
  307. {$EXTERNALSYM SVCID_NAMESERVER_UDP}
  308. SVCID_BOOTP_UDP: TGUID = '{000A0043-0000-0000-C000-000000000046}';
  309. {$EXTERNALSYM SVCID_BOOTP_UDP}
  310. SVCID_TFTP_UDP: TGUID = '{000A0045-0000-0000-C000-000000000046}';
  311. {$EXTERNALSYM SVCID_TFTP_UDP}
  312. SVCID_PORTMAP_UDP: TGUID = '{000A006F-0000-0000-C000-000000000046}';
  313. {$EXTERNALSYM SVCID_PORTMAP_UDP}
  314. SVCID_SUNRPC_UDP: TGUID = '{000A006F-0000-0000-C000-000000000046}';
  315. {$EXTERNALSYM SVCID_SUNRPC_UDP}
  316. SVCID_NTP_UDP: TGUID = '{000A007B-0000-0000-C000-000000000046}';
  317. {$EXTERNALSYM SVCID_NTP_UDP}
  318. SVCID_NBNAME_UDP: TGUID = '{000A0089-0000-0000-C000-000000000046}';
  319. {$EXTERNALSYM SVCID_NBNAME_UDP}
  320. SVCID_NBDATAGRAM_UDP: TGUID = '{000A008A-0000-0000-C000-000000000046}';
  321. {$EXTERNALSYM SVCID_NBDATAGRAM_UDP}
  322. SVCID_SGMP_UDP: TGUID = '{000A0099-0000-0000-C000-000000000046}';
  323. {$EXTERNALSYM SVCID_SGMP_UDP}
  324. SVCID_SNMP_UDP: TGUID = '{000A00A1-0000-0000-C000-000000000046}';
  325. {$EXTERNALSYM SVCID_SNMP_UDP}
  326. SVCID_SNMP_TRAP_UDP: TGUID = '{000A00A2-0000-0000-C000-000000000046}';
  327. {$EXTERNALSYM SVCID_SNMP_TRAP_UDP}
  328. SVCID_LOAD_UDP: TGUID = '{000A013B-0000-0000-C000-000000000046}';
  329. {$EXTERNALSYM SVCID_LOAD_UDP}
  330. SVCID_SYTEK_UDP: TGUID = '{000A01F4-0000-0000-C000-000000000046}';
  331. {$EXTERNALSYM SVCID_SYTEK_UDP}
  332. SVCID_BIFF_UDP: TGUID = '{000A0200-0000-0000-C000-000000000046}';
  333. {$EXTERNALSYM SVCID_BIFF_UDP}
  334. SVCID_WHO_UDP: TGUID = '{000A0201-0000-0000-C000-000000000046}';
  335. {$EXTERNALSYM SVCID_WHO_UDP}
  336. SVCID_SYSLOG_UDP: TGUID = '{000A0202-0000-0000-C000-000000000046}';
  337. {$EXTERNALSYM SVCID_SYSLOG_UDP}
  338. SVCID_TALK_UDP: TGUID = '{000A0205-0000-0000-C000-000000000046}';
  339. {$EXTERNALSYM SVCID_TALK_UDP}
  340. SVCID_NTALK_UDP: TGUID = '{000A0206-0000-0000-C000-000000000046}';
  341. {$EXTERNALSYM SVCID_NTALK_UDP}
  342. SVCID_ROUTE_UDP: TGUID = '{000A0208-0000-0000-C000-000000000046}';
  343. {$EXTERNALSYM SVCID_ROUTE_UDP}
  344. SVCID_TIMED_UDP: TGUID = '{000A020D-0000-0000-C000-000000000046}';
  345. {$EXTERNALSYM SVCID_TIMED_UDP}
  346. SVCID_RVD_CONTROL_UDP: TGUID = '{000A0213-0000-0000-C000-000000000046}';
  347. {$EXTERNALSYM SVCID_RVD_CONTROL_UDP}
  348. SVCID_NETWALL_UDP: TGUID = '{000A0215-0000-0000-C000-000000000046}';
  349. {$EXTERNALSYM SVCID_NETWALL_UDP}
  350. SVCID_NEW_RWHO_UDP: TGUID = '{000A0226-0000-0000-C000-000000000046}';
  351. {$EXTERNALSYM SVCID_NEW_RWHO_UDP}
  352. SVCID_RMONITOR_UDP: TGUID = '{000A0230-0000-0000-C000-000000000046}';
  353. {$EXTERNALSYM SVCID_RMONITOR_UDP}
  354. SVCID_MONITOR_UDP: TGUID = '{000A0231-0000-0000-C000-000000000046}';
  355. {$EXTERNALSYM SVCID_MONITOR_UDP}
  356. SVCID_ACCTMASTER_UDP: TGUID = '{000A02BC-0000-0000-C000-000000000046}';
  357. {$EXTERNALSYM SVCID_ACCTMASTER_UDP}
  358. SVCID_ACCTSLAVE_UDP: TGUID = '{000A02BD-0000-0000-C000-000000000046}';
  359. {$EXTERNALSYM SVCID_ACCTSLAVE_UDP}
  360. SVCID_ACCT_UDP: TGUID = '{000A02BE-0000-0000-C000-000000000046}';
  361. {$EXTERNALSYM SVCID_ACCT_UDP}
  362. SVCID_ACCTLOGIN_UDP: TGUID = '{000A02BF-0000-0000-C000-000000000046}';
  363. {$EXTERNALSYM SVCID_ACCTLOGIN_UDP}
  364. SVCID_ACCTPRINTER_UDP: TGUID = '{000A02C0-0000-0000-C000-000000000046}';
  365. {$EXTERNALSYM SVCID_ACCTPRINTER_UDP}
  366. SVCID_ELCSD_UDP: TGUID = '{000A02C0-0000-0000-C000-000000000046}';
  367. {$EXTERNALSYM SVCID_ELCSD_UDP}
  368. SVCID_ACCTINFO_UDP: TGUID = '{000A02C1-0000-0000-C000-000000000046}';
  369. {$EXTERNALSYM SVCID_ACCTINFO_UDP}
  370. SVCID_ACCTSLAVE2_UDP: TGUID = '{000A02C2-0000-0000-C000-000000000046}';
  371. {$EXTERNALSYM SVCID_ACCTSLAVE2_UDP}
  372. SVCID_ACCTDISK_UDP: TGUID = '{000A02C3-0000-0000-C000-000000000046}';
  373. {$EXTERNALSYM SVCID_ACCTDISK_UDP}
  374. SVCID_KERBEROS_UDP: TGUID = '{000A02EE-0000-0000-C000-000000000046}';
  375. {$EXTERNALSYM SVCID_KERBEROS_UDP}
  376. SVCID_KERBEROS_MASTER_UDP: TGUID = '{000A02EF-0000-0000-C000-000000000046}';
  377. {$EXTERNALSYM SVCID_KERBEROS_MASTER_UDP}
  378. SVCID_PASSWD_SERVER_UDP: TGUID = '{000A02F0-0000-0000-C000-000000000046}';
  379. {$EXTERNALSYM SVCID_PASSWD_SERVER_UDP}
  380. SVCID_USERREG_SERVER_UDP: TGUID = '{000A02F1-0000-0000-C000-000000000046}';
  381. {$EXTERNALSYM SVCID_USERREG_SERVER_UDP}
  382. SVCID_PHONE_UDP: TGUID = '{000A048F-0000-0000-C000-000000000046}';
  383. {$EXTERNALSYM SVCID_PHONE_UDP}
  384. SVCID_MAZE_UDP: TGUID = '{000A0682-0000-0000-C000-000000000046}';
  385. {$EXTERNALSYM SVCID_MAZE_UDP}
  386. SVCID_NFS_UDP: TGUID = '{000A0801-0000-0000-C000-000000000046}';
  387. {$EXTERNALSYM SVCID_NFS_UDP}
  388. SVCID_RSCS0_UDP: TGUID = '{000A2710-0000-0000-C000-000000000046}';
  389. {$EXTERNALSYM SVCID_RSCS0_UDP}
  390. SVCID_RSCS1_UDP: TGUID = '{000A2711-0000-0000-C000-000000000046}';
  391. {$EXTERNALSYM SVCID_RSCS1_UDP}
  392. SVCID_RSCS2_UDP: TGUID = '{000A2712-0000-0000-C000-000000000046}';
  393. {$EXTERNALSYM SVCID_RSCS2_UDP}
  394. SVCID_RSCS3_UDP: TGUID = '{000A2713-0000-0000-C000-000000000046}';
  395. {$EXTERNALSYM SVCID_RSCS3_UDP}
  396. SVCID_RSCS4_UDP: TGUID = '{000A2714-0000-0000-C000-000000000046}';
  397. {$EXTERNALSYM SVCID_RSCS4_UDP}
  398. SVCID_RSCS5_UDP: TGUID = '{000A2715-0000-0000-C000-000000000046}';
  399. {$EXTERNALSYM SVCID_RSCS5_UDP}
  400. SVCID_RSCS6_UDP: TGUID = '{000A2716-0000-0000-C000-000000000046}';
  401. {$EXTERNALSYM SVCID_RSCS6_UDP}
  402. SVCID_RSCS7_UDP: TGUID = '{000A2717-0000-0000-C000-000000000046}';
  403. {$EXTERNALSYM SVCID_RSCS7_UDP}
  404. SVCID_RSCS8_UDP: TGUID = '{000A2718-0000-0000-C000-000000000046}';
  405. {$EXTERNALSYM SVCID_RSCS8_UDP}
  406. SVCID_RSCS9_UDP: TGUID = '{000A2719-0000-0000-C000-000000000046}';
  407. {$EXTERNALSYM SVCID_RSCS9_UDP}
  408. SVCID_RSCSA_UDP: TGUID = '{000A271A-0000-0000-C000-000000000046}';
  409. {$EXTERNALSYM SVCID_RSCSA_UDP}
  410. SVCID_RSCSB_UDP: TGUID = '{000A271B-0000-0000-C000-000000000046}';
  411. {$EXTERNALSYM SVCID_RSCSB_UDP}
  412. SVCID_QMASTER_UDP: TGUID = '{000A271C-0000-0000-C000-000000000046}';
  413. {$EXTERNALSYM SVCID_QMASTER_UDP}
  414. //
  415. // NetWare services
  416. // GUID block = 000axxxx-0000-0000-C0000-000000000046
  417. //
  418. SVCID_PRINT_QUEUE: TGUID = '{000B0003-0000-0000-C000-000000000046}';
  419. {$EXTERNALSYM SVCID_PRINT_QUEUE}
  420. SVCID_FILE_SERVER: TGUID = '{000B0004-0000-0000-C000-000000000046}';
  421. {$EXTERNALSYM SVCID_FILE_SERVER}
  422. SVCID_JOB_SERVER: TGUID = '{000B0005-0000-0000-C000-000000000046}';
  423. {$EXTERNALSYM SVCID_JOB_SERVER}
  424. SVCID_GATEWAY: TGUID = '{000B0006-0000-0000-C000-000000000046}';
  425. {$EXTERNALSYM SVCID_GATEWAY}
  426. SVCID_PRINT_SERVER: TGUID = '{000B0007-0000-0000-C000-000000000046}';
  427. {$EXTERNALSYM SVCID_PRINT_SERVER}
  428. SVCID_ARCHIVE_QUEUE: TGUID = '{000B0008-0000-0000-C000-000000000046}';
  429. {$EXTERNALSYM SVCID_ARCHIVE_QUEUE}
  430. SVCID_ARCHIVE_SERVER: TGUID = '{000B0009-0000-0000-C000-000000000046}';
  431. {$EXTERNALSYM SVCID_ARCHIVE_SERVER}
  432. SVCID_JOB_QUEUE: TGUID = '{000B000A-0000-0000-C000-000000000046}';
  433. {$EXTERNALSYM SVCID_JOB_QUEUE}
  434. SVCID_ADMINISTRATION: TGUID = '{000B000B-0000-0000-C000-000000000046}';
  435. {$EXTERNALSYM SVCID_ADMINISTRATION}
  436. SVCID_NAS_SNA_GATEWAY: TGUID = '{000B0021-0000-0000-C000-000000000046}';
  437. {$EXTERNALSYM SVCID_NAS_SNA_GATEWAY}
  438. SVCID_REMOTE_BRIDGE_SERVER: TGUID = '{000B0024-0000-0000-C000-000000000046}';
  439. {$EXTERNALSYM SVCID_REMOTE_BRIDGE_SERVER}
  440. SVCID_TIME_SYNCHRONIZATION_SERVER: TGUID = '{000B002D-0000-0000-C000-000000000046}';
  441. {$EXTERNALSYM SVCID_TIME_SYNCHRONIZATION_SERVER}
  442. SVCID_ARCHIVE_SERVER_DYNAMIC_SAP: TGUID = '{000B002E-0000-0000-C000-000000000046}';
  443. {$EXTERNALSYM SVCID_ARCHIVE_SERVER_DYNAMIC_SAP}
  444. SVCID_ADVERTISING_PRINT_SERVER: TGUID = '{000B0047-0000-0000-C000-000000000046}';
  445. {$EXTERNALSYM SVCID_ADVERTISING_PRINT_SERVER}
  446. SVCID_BTRIEVE_VAP: TGUID = '{000B004B-0000-0000-C000-000000000046}';
  447. {$EXTERNALSYM SVCID_BTRIEVE_VAP}
  448. SVCID_DIRECTORY_SERVER: TGUID = '{000B0278-0000-0000-C000-000000000046}';
  449. {$EXTERNALSYM SVCID_DIRECTORY_SERVER}
  450. SVCID_NETWARE_386: TGUID = '{000B0107-0000-0000-C000-000000000046}';
  451. {$EXTERNALSYM SVCID_NETWARE_386}
  452. SVCID_HP_PRINT_SERVER: TGUID = '{000B030C-0000-0000-C000-000000000046}';
  453. {$EXTERNALSYM SVCID_HP_PRINT_SERVER}
  454. SVCID_SNA_SERVER: TGUID = '{000B0444-0000-0000-C000-000000000046}';
  455. {$EXTERNALSYM SVCID_SNA_SERVER}
  456. SVCID_SAA_SERVER: TGUID = '{000B0130-0000-0000-C000-000000000046}';
  457. {$EXTERNALSYM SVCID_SAA_SERVER}
  458. //
  459. // DNS services by record type
  460. // GUID block = 00090035-0000-xxxx-C0000-000000000046
  461. //
  462. SVCID_DNS_TYPE_A: TGUID = '{00090035-0000-0001-C000-000000000046}';
  463. {$EXTERNALSYM SVCID_DNS_TYPE_A}
  464. SVCID_DNS_TYPE_NS: TGUID = '{00090035-0000-0002-C000-000000000046}';
  465. {$EXTERNALSYM SVCID_DNS_TYPE_NS}
  466. SVCID_DNS_TYPE_MD: TGUID = '{00090035-0000-0003-C000-000000000046}';
  467. {$EXTERNALSYM SVCID_DNS_TYPE_MD}
  468. SVCID_DNS_TYPE_MF: TGUID = '{00090035-0000-0004-C000-000000000046}';
  469. {$EXTERNALSYM SVCID_DNS_TYPE_MF}
  470. SVCID_DNS_TYPE_CNAME: TGUID = '{00090035-0000-0005-C000-000000000046}';
  471. {$EXTERNALSYM SVCID_DNS_TYPE_CNAME}
  472. SVCID_DNS_TYPE_SOA: TGUID = '{00090035-0000-0006-C000-000000000046}';
  473. {$EXTERNALSYM SVCID_DNS_TYPE_SOA}
  474. SVCID_DNS_TYPE_MB: TGUID = '{00090035-0000-0007-C000-000000000046}';
  475. {$EXTERNALSYM SVCID_DNS_TYPE_MB}
  476. SVCID_DNS_TYPE_MG: TGUID = '{00090035-0000-0008-C000-000000000046}';
  477. {$EXTERNALSYM SVCID_DNS_TYPE_MG}
  478. SVCID_DNS_TYPE_MR: TGUID = '{00090035-0000-0009-C000-000000000046}';
  479. {$EXTERNALSYM SVCID_DNS_TYPE_MR}
  480. SVCID_DNS_TYPE_NULL: TGUID = '{00090035-0000-000A-C000-000000000046}';
  481. {$EXTERNALSYM SVCID_DNS_TYPE_NULL}
  482. SVCID_DNS_TYPE_WKS: TGUID = '{00090035-0000-000B-C000-000000000046}';
  483. {$EXTERNALSYM SVCID_DNS_TYPE_WKS}
  484. SVCID_DNS_TYPE_PTR: TGUID = '{00090035-0000-000C-C000-000000000046}';
  485. {$EXTERNALSYM SVCID_DNS_TYPE_PTR}
  486. SVCID_DNS_TYPE_HINFO: TGUID = '{00090035-0000-000D-C000-000000000046}';
  487. {$EXTERNALSYM SVCID_DNS_TYPE_HINFO}
  488. SVCID_DNS_TYPE_MINFO: TGUID = '{00090035-0000-000E-C000-000000000046}';
  489. {$EXTERNALSYM SVCID_DNS_TYPE_MINFO}
  490. SVCID_DNS_TYPE_MX: TGUID = '{00090035-0000-000F-C000-000000000046}';
  491. {$EXTERNALSYM SVCID_DNS_TYPE_MX}
  492. SVCID_DNS_TYPE_TEXT: TGUID = '{00090035-0000-0010-C000-000000000046}';
  493. {$EXTERNALSYM SVCID_DNS_TYPE_TEXT}
  494. SVCID_DNS_TYPE_RP: TGUID = '{00090035-0000-0011-C000-000000000046}';
  495. {$EXTERNALSYM SVCID_DNS_TYPE_RP}
  496. SVCID_DNS_TYPE_AFSDB: TGUID = '{00090035-0000-0012-C000-000000000046}';
  497. {$EXTERNALSYM SVCID_DNS_TYPE_AFSDB}
  498. SVCID_DNS_TYPE_X25: TGUID = '{00090035-0000-0013-C000-000000000046}';
  499. {$EXTERNALSYM SVCID_DNS_TYPE_X25}
  500. SVCID_DNS_TYPE_ISDN: TGUID = '{00090035-0000-0014-C000-000000000046}';
  501. {$EXTERNALSYM SVCID_DNS_TYPE_ISDN}
  502. SVCID_DNS_TYPE_RT: TGUID = '{00090035-0000-0015-C000-000000000046}';
  503. {$EXTERNALSYM SVCID_DNS_TYPE_RT}
  504. SVCID_DNS_TYPE_NSAP: TGUID = '{00090035-0000-0016-C000-000000000046}';
  505. {$EXTERNALSYM SVCID_DNS_TYPE_NSAP}
  506. SVCID_DNS_TYPE_NSAPPTR: TGUID = '{00090035-0000-0017-C000-000000000046}';
  507. {$EXTERNALSYM SVCID_DNS_TYPE_NSAPPTR}
  508. SVCID_DNS_TYPE_SIG: TGUID = '{00090035-0000-0018-C000-000000000046}';
  509. {$EXTERNALSYM SVCID_DNS_TYPE_SIG}
  510. SVCID_DNS_TYPE_KEY: TGUID = '{00090035-0000-0019-C000-000000000046}';
  511. {$EXTERNALSYM SVCID_DNS_TYPE_KEY}
  512. SVCID_DNS_TYPE_PX: TGUID = '{00090035-0000-001A-C000-000000000046}';
  513. {$EXTERNALSYM SVCID_DNS_TYPE_PX}
  514. SVCID_DNS_TYPE_GPOS: TGUID = '{00090035-0000-001B-C000-000000000046}';
  515. {$EXTERNALSYM SVCID_DNS_TYPE_GPOS}
  516. SVCID_DNS_TYPE_AAAA: TGUID = '{00090035-0000-001C-C000-000000000046}';
  517. {$EXTERNALSYM SVCID_DNS_TYPE_AAAA}
  518. SVCID_DNS_TYPE_LOC: TGUID = '{00090035-0000-001D-C000-000000000046}';
  519. {$EXTERNALSYM SVCID_DNS_TYPE_LOC}
  520. SVCID_DNS_TYPE_NXT: TGUID = '{00090035-0000-001E-C000-000000000046}';
  521. {$EXTERNALSYM SVCID_DNS_TYPE_NXT}
  522. SVCID_DNS_TYPE_SRV: TGUID = '{00090035-0000-0021-C000-000000000046}';
  523. {$EXTERNALSYM SVCID_DNS_TYPE_SRV}
  524. SVCID_DNS_TYPE_ATMA: TGUID = '{00090035-0000-0022-C000-000000000046}';
  525. {$EXTERNALSYM SVCID_DNS_TYPE_ATMA}
  526. implementation
  527. function SVCID_TCP_RR(Port, RR: Word): TGUID;
  528. begin
  529. Result.D1 := ($0009 shl 16) or Port;
  530. Result.D2 := $0;
  531. Result.D3 := RR;
  532. Result.D4[0] := $C0;
  533. Result.D4[1] := $00;
  534. Result.D4[2] := $00;
  535. Result.D4[3] := $00;
  536. Result.D4[4] := $00;
  537. Result.D4[5] := $00;
  538. Result.D4[6] := $00;
  539. Result.D4[7] := $46;
  540. end;
  541. function SVCID_TCP(Port: Word): TGUID;
  542. begin
  543. Result := SVCID_TCP_RR(Port, 0)
  544. end;
  545. function SVCID_DNS(RecordType: Word): TGUID;
  546. begin
  547. Result := SVCID_TCP_RR(53, RecordType);
  548. end;
  549. function IS_SVCID_DNS(const Guid: TGUID): Boolean;
  550. begin
  551. Result := (Guid.D1 = $00090035) and (Guid.D2 = $0) and
  552. (Guid.D4[0] = $C0) and (Guid.D4[1] = $00) and (Guid.D4[2] = $00) and
  553. (Guid.D4[3] = $00) and (Guid.D4[4] = $00) and (Guid.D4[5] = $00) and
  554. (Guid.D4[6] = $00) and (Guid.D4[7] = $46);
  555. end;
  556. function IS_SVCID_TCP(const Guid: TGUID): Boolean;
  557. begin
  558. Result :=
  559. ((Guid.D1 and DWORD($FFFF0000)) = $00090000) and (Guid.D2 = $0) and
  560. (Guid.D4[0] = $C0) and (Guid.D4[1] = $00) and (Guid.D4[2] = $00) and
  561. (Guid.D4[3] = $00) and (Guid.D4[4] = $00) and (Guid.D4[5] = $00) and
  562. (Guid.D4[6] = $00) and (Guid.D4[7] = $46);
  563. end;
  564. function PORT_FROM_SVCID_TCP(const Guid: TGUID): Word;
  565. begin
  566. Result := WORD(Guid.D1 and $FFFF);
  567. end;
  568. function RR_FROM_SVCID(const Guid: TGUID): Word;
  569. begin
  570. Result := Guid.D3;
  571. end;
  572. procedure SET_TCP_SVCID_RR(var Guid: TGUID; _Port, _RR: Word);
  573. begin
  574. Guid.D1 := ($0009 shl 16) or _Port;
  575. Guid.D2 := $0;
  576. Guid.D3 := _RR;
  577. Guid.D4[0] := $C0;
  578. Guid.D4[1] := $00;
  579. Guid.D4[2] := $00;
  580. Guid.D4[3] := $00;
  581. Guid.D4[4] := $00;
  582. Guid.D4[5] := $00;
  583. Guid.D4[6] := $00;
  584. Guid.D4[7] := $46;
  585. end;
  586. procedure SET_TCP_SVCID(var Guid: TGUID; Port: Word);
  587. begin
  588. SET_TCP_SVCID_RR(Guid, Port, 0);
  589. end;
  590. function SVCID_UDP_RR(Port, RR: Word): TGUID;
  591. begin
  592. Result.D1 := ($000A shl 16) or Port;
  593. Result.D2 := $0;
  594. Result.D3 := RR;
  595. Result.D4[0] := $C0;
  596. Result.D4[1] := $00;
  597. Result.D4[2] := $00;
  598. Result.D4[3] := $00;
  599. Result.D4[4] := $00;
  600. Result.D4[5] := $00;
  601. Result.D4[6] := $00;
  602. Result.D4[7] := $46;
  603. end;
  604. function SVCID_UDP(Port: Word): TGUID;
  605. begin
  606. Result := SVCID_UDP_RR(Port, 0);
  607. end;
  608. function IS_SVCID_UDP(const Guid: TGUID): Boolean;
  609. begin
  610. Result := (Guid.D1 and DWORD($FFFF0000) = $000A0000) and (Guid.D2 = $0) and
  611. (Guid.D4[0] = $C0) and (Guid.D4[1] = $00) and (Guid.D4[2] = $00) and
  612. (Guid.D4[3] = $00) and (Guid.D4[4] = $00) and (Guid.D4[5] = $00) and
  613. (Guid.D4[6] = $00) and (Guid.D4[7] = $46);
  614. end;
  615. function PORT_FROM_SVCID_UDP(const Guid: TGUID): WORD;
  616. begin
  617. Result := WORD(Guid.D1 and $FFFF);
  618. end;
  619. procedure SET_UDP_SVCID_RR(var Guid: TGUID; Port, RR: WORD);
  620. begin
  621. Guid.D1 := ($000A shl 16) or Port;
  622. Guid.D2 := $0;
  623. Guid.D3 := RR;
  624. Guid.D4[0] := $C0;
  625. Guid.D4[1] := $00;
  626. Guid.D4[2] := $00;
  627. Guid.D4[3] := $00;
  628. Guid.D4[4] := $00;
  629. Guid.D4[5] := $00;
  630. Guid.D4[6] := $00;
  631. Guid.D4[7] := $46;
  632. end;
  633. procedure SET_UDP_SVCID(var Guid: TGUID; Port: WORD);
  634. begin
  635. SET_UDP_SVCID_RR(Guid, Port, 0);
  636. end;
  637. function SVCID_NETWARE(SapId: WORD): TGUID;
  638. begin
  639. Result.D1 := ($000B shl 16) or SapId;
  640. Result.D2 := $0;
  641. Result.D3 := $0;
  642. Result.D4[0] := $C0;
  643. Result.D4[1] := $00;
  644. Result.D4[2] := $00;
  645. Result.D4[3] := $00;
  646. Result.D4[4] := $00;
  647. Result.D4[5] := $00;
  648. Result.D4[6] := $00;
  649. Result.D4[7] := $46;
  650. end;
  651. function IS_SVCID_NETWARE(const Guid: TGUID): Boolean;
  652. begin
  653. Result := (Guid.D1 and DWORD($FFFF0000) = $000B0000) and (Guid.D2 = $0) and
  654. (Guid.D4[0] = $C0) and (Guid.D4[1] = $00) and (Guid.D4[2] = $00) and
  655. (Guid.D4[3] = $00) and (Guid.D4[4] = $00) and (Guid.D4[5] = $00) and
  656. (Guid.D4[6] = $00) and (Guid.D4[7] = $46);
  657. end;
  658. function SAPID_FROM_SVCID_NETWARE(const Guid: TGUID): WORD;
  659. begin
  660. Result := WORD(Guid.D1 and $FFFF);
  661. end;
  662. procedure SET_NETWARE_SVCID(var Guid: TGUID; SapId: WORD);
  663. begin
  664. Guid.D1 := ($000B shl 16) or SapId;
  665. Guid.D2 := $0;
  666. Guid.D3 := $0;
  667. Guid.D4[0] := $C0;
  668. Guid.D4[1] := $00;
  669. Guid.D4[2] := $00;
  670. Guid.D4[3] := $00;
  671. Guid.D4[4] := $00;
  672. Guid.D4[5] := $00;
  673. Guid.D4[6] := $00;
  674. Guid.D4[7] := $46;
  675. end;
  676. end.