Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
2.7 KiB

  1. /*++
  2. Copyright (c) 1994 Microsoft Corp.
  3. Module:
  4. gd.idl
  5. Abstract:
  6. IDL file for Gopher server.
  7. Declares the Gopher Server RPC APIs.
  8. It also declares the types required for the RPC interface.
  9. Author:
  10. Murali R. Krishnan ( MuraliK) 11-Nov-1994
  11. History:
  12. MuraliK 17-Feb-1995 Integrated with inetasrv.h
  13. --*/
  14. /*
  15. Unique user ID for RPC interface ( generated using uuidgen)
  16. */
  17. [
  18. uuid(04fcb220-fcfd-11cd-bec8-00aa0047ae4e),
  19. version(1.0),
  20. pointer_default( unique)
  21. ]
  22. //
  23. // the interface keyword
  24. //
  25. interface gopherd
  26. //
  27. // Definitions of Interface functions which are RPCable
  28. //
  29. {
  30. //
  31. // include the pre-defined constants and types required
  32. //
  33. import "infoimp.idl";
  34. # include <lmcons.h>
  35. /************************************************************
  36. * Type Definitions
  37. ************************************************************/
  38. typedef [handle] LPWSTR GOPHERD_IMPERSONATE_HANDLE;
  39. typedef struct _GOPHERD_USER_ENUM_STRUCT {
  40. //
  41. // Represents a flex array of items returned
  42. //
  43. DWORD dwEntriesRead;
  44. [size_is( dwEntriesRead)] LPGOPHERD_USER_INFO lpUsers;
  45. } GOPHERD_USER_ENUM_STRUCT, * LPGOPHERD_USER_ENUM_STRUCT;
  46. /************************************************************
  47. * Function Prototypes
  48. ************************************************************/
  49. //
  50. // Admin API
  51. //
  52. //
  53. // in, out is required for lpbInfo, otherwise unique can't be used to pass
  54. // NULL pointer
  55. //
  56. DWORD
  57. NET_API_FUNCTION
  58. R_GdGetAdminInformation(
  59. [ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
  60. [ out] LPGOPHERD_CONFIG_INFO * ppConfigInfo
  61. );
  62. DWORD
  63. NET_API_FUNCTION
  64. R_GdSetAdminInformation(
  65. [ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
  66. [ in, ref] LPGOPHERD_CONFIG_INFO pConfigInfo
  67. );
  68. //
  69. // User enumeration
  70. //
  71. DWORD
  72. NET_API_FUNCTION
  73. R_GdEnumerateUsers(
  74. [ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
  75. [ out] LPGOPHERD_USER_ENUM_STRUCT lpUserBuffer
  76. );
  77. DWORD
  78. NET_API_FUNCTION
  79. R_GdDisconnectUser(
  80. [ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
  81. [ in] DWORD idUser
  82. );
  83. //
  84. // Information about statistics
  85. //
  86. DWORD
  87. NET_API_FUNCTION
  88. R_GdGetStatistics(
  89. [ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer,
  90. [ out] LPGOPHERD_STATISTICS_INFO lpStat
  91. );
  92. DWORD
  93. NET_API_FUNCTION
  94. R_GdClearStatistics(
  95. [ in, string, unique] GOPHERD_IMPERSONATE_HANDLE pszServer
  96. );
  97. }
  98. /********************* End of File ***************************/