home *** CD-ROM | disk | FTP | other *** search
/ C Programming Starter Kit 2.0 / SamsPublishing-CProgrammingStarterKit-v2.0-Win31.iso / bc45 / msinc.pak / LMREMUTL.H < prev    next >
C/C++ Source or Header  |  1997-07-23  |  4KB  |  157 lines

  1. /*++ BUILD Version: 0001    // Increment this if a change has global effects
  2.  
  3. Module Name:
  4.  
  5.     lmremutl.h
  6.  
  7. Abstract:
  8.  
  9.     This file contains structures, function prototypes, and definitions
  10.     for the NetRemote API.
  11.  
  12. Author:
  13.  
  14.     Dan Lafferty (danl) 10-Mar-1991
  15.  
  16. Environment:
  17.  
  18.     User Mode - Win32
  19.     Portable to any flat, 32-bit environment.  (Uses Win32 typedefs.)
  20.     Requires ANSI C extensions: slash-slash comments, long external names.
  21.  
  22. Revision History:
  23.  
  24.     10-Mar-1991 danl
  25.         Created from LM2.0 header files and NT-LAN API Spec.
  26.     14-Mar-1991 JohnRo
  27.         Delete password case-sensitivity bit.
  28.         Change time of day structure to be NT style names.
  29.     22-Mar-1991 JohnRo
  30.         Changed tod_timezone to be signed.  Got rid of tabs in file.
  31.     06-May-1991 JohnRo
  32.         Implement UNICODE.
  33.     31-Oct-1991 JohnRo
  34.         RAID 3414: allow explicit local server name.  Also allow use of
  35.         NetRemoteComputerSupports() for local computer.
  36.     06-May-1993 JohnRo
  37.         RAID 8849: Export RxRemoteApi for general use.
  38.  
  39. --*/
  40.  
  41. /*
  42.  *      C/C++ Run Time Library - Version 6.5
  43.  *
  44.  *      Copyright (c) 1994 by Borland International
  45.  *      All Rights Reserved.
  46.  *
  47.  */
  48.  
  49. #ifndef _LMREMUTL_
  50. #define _LMREMUTL_
  51. #define __LMREMUTL_H
  52.  
  53. #ifdef __cplusplus
  54. extern "C" {
  55. #endif
  56.  
  57.  
  58. //
  59. // Type Definitions
  60. //
  61.  
  62. #ifndef DESC_CHAR_UNICODE
  63.  
  64. typedef CHAR DESC_CHAR;
  65.  
  66. #else // DESC_CHAR_UNICODE is defined
  67.  
  68. typedef WCHAR DESC_CHAR;
  69.  
  70. #endif // DESC_CHAR_UNICODE is defined
  71.  
  72.  
  73. typedef DESC_CHAR * LPDESC;
  74.  
  75.  
  76. //
  77. // Function Prototypes
  78. //
  79.  
  80. NET_API_STATUS NET_API_FUNCTION
  81. NetRemoteTOD (
  82.     IN LPTSTR UncServerName,
  83.     OUT LPBYTE *BufferPtr
  84.     );
  85.  
  86. NET_API_STATUS NET_API_FUNCTION
  87. NetRemoteComputerSupports(
  88.     IN LPTSTR UncServerName OPTIONAL,   // Must start with "\\".
  89.     IN DWORD OptionsWanted,             // Set SUPPORTS_ bits wanted.
  90.     OUT LPDWORD OptionsSupported        // Supported features, masked.
  91.     );
  92.  
  93. NET_API_STATUS
  94. RxRemoteApi(
  95.     IN DWORD ApiNumber,
  96.     IN LPTSTR UncServerName,                    // Required, with \\name.
  97.     IN LPDESC ParmDescString,
  98.     IN LPDESC DataDesc16 OPTIONAL,
  99.     IN LPDESC DataDesc32 OPTIONAL,
  100.     IN LPDESC DataDescSmb OPTIONAL,
  101.     IN LPDESC AuxDesc16 OPTIONAL,
  102.     IN LPDESC AuxDesc32 OPTIONAL,
  103.     IN LPDESC AuxDescSmb OPTIONAL,
  104.     IN DWORD  Flags,
  105.     ...                                         // rest of API's arguments
  106.     );
  107.  
  108.  
  109.  
  110. //
  111. //  Data Structures
  112. //
  113.  
  114. typedef struct _TIME_OF_DAY_INFO {
  115.     DWORD      tod_elapsedt;
  116.     DWORD      tod_msecs;
  117.     DWORD      tod_hours;
  118.     DWORD      tod_mins;
  119.     DWORD      tod_secs;
  120.     DWORD      tod_hunds;
  121.     LONG       tod_timezone;
  122.     DWORD      tod_tinterval;
  123.     DWORD      tod_day;
  124.     DWORD      tod_month;
  125.     DWORD      tod_year;
  126.     DWORD      tod_weekday;
  127. } TIME_OF_DAY_INFO, *PTIME_OF_DAY_INFO, *LPTIME_OF_DAY_INFO;
  128.  
  129. //
  130. // Special Values and Constants
  131. //
  132.  
  133. //
  134. // Mask bits for use with NetRemoteComputerSupports:
  135. //
  136.  
  137. #define SUPPORTS_REMOTE_ADMIN_PROTOCOL  0x00000002L
  138. #define SUPPORTS_RPC                    0x00000004L
  139. #define SUPPORTS_SAM_PROTOCOL           0x00000008L
  140. #define SUPPORTS_UNICODE                0x00000010L
  141. #define SUPPORTS_LOCAL                  0x00000020L
  142. #define SUPPORTS_ANY                    0xFFFFFFFFL
  143.  
  144. //
  145. // Flag bits for RxRemoteApi:
  146. //
  147.  
  148. #define NO_PERMISSION_REQUIRED  0x00000001      // set if use NULL session
  149. #define ALLOCATE_RESPONSE       0x00000002      // set if RxRemoteApi allocates response buffer
  150. #define USE_SPECIFIC_TRANSPORT  0x80000000
  151.  
  152. #ifdef __cplusplus
  153. }
  154. #endif
  155.  
  156. #endif //_LMREMUTL_
  157.