Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

274 lines
8.2 KiB

/********************************************************************
** Microsoft OS/2 LAN Manager **
** Copyright(c) Microsoft Corp., 1987, 1988 **
********************************************************************/
/********************************************************************
* *
* About this file ... WKSTA.H *
* *
* This file contains information about the NetWksta APIs. *
* *
* Function prototypes. *
* *
* Data structure templates. *
* *
* Definition of special values. *
* *
* *
* NOTE: You must include NETCONS.H before this file, since this *
* file depends on values defined in NETCONS.H. *
* *
********************************************************************/
/****************************************************************
* *
* Function prototypes *
* *
****************************************************************/
#if defined(RPC_CXX_20) && defined(__cplusplus)
extern "C" {
#endif
extern API_FUNCTION
NetWkstaGetInfo ( const char far *, short, char far *, unsigned short,
unsigned short far * );
extern API_FUNCTION
NetWkstaSetInfo ( const char far *, short, char far *, unsigned short,
short );
extern API_FUNCTION
NetWkstaUserLogon ( const char far *, char far *, char far *, short,
char far *, unsigned short,
char far *, unsigned short, unsigned short far * );
extern API_FUNCTION
NetWkstaUserLogoff ( const char far *, char far *, char far *, short,
char far *, unsigned short,
char far *, unsigned short, unsigned short far * );
/**INTERNAL_ONLY**/
extern API_FUNCTION
NetWkstaLogon2( char far *, char far *, char far *, unsigned short, char far *,
unsigned long far *, char far *, unsigned short,
char far *, unsigned short, unsigned short far *);
extern API_FUNCTION
NetWkstaInit2(unsigned short, char far *, unsigned short);
extern API_FUNCTION
NetWkstaLogoff2( char far *, char far *, unsigned long,
short, char far *, unsigned short, unsigned short far * );
extern API_FUNCTION
NetWkstaInit( const char far * );
extern API_FUNCTION
NetWkstaReInit( const char far * );
extern API_FUNCTION
NetWkstaLogon ( const char far *, const char far *, const char far *,
unsigned long far *, char far *, unsigned short );
extern API_FUNCTION
NetWkstaReLogon ( const char far *, const char far *, const char far *,
char far *, unsigned short );
extern API_FUNCTION
NetWkstaLogoff ( const char far *, const char far *, unsigned long );
extern API_FUNCTION
NetWkstaAnnounce ( unsigned short, char far *, unsigned short );
/**END_INTERNAL**/
#define SETUID_NOFORCE 0
#define SETUID_FORCE 1
extern API_FUNCTION
NetWkstaSetUID ( const char far *, const char far *, const char far *,
const char far *, unsigned short );
extern API_FUNCTION
NetWkstaSetUID2 ( char far *, char far *, char far *,
char far *, char far *, unsigned short, short,
char far *, unsigned short, unsigned short far *);
/****************************************************************
* *
* Data structure templates *
* *
****************************************************************/
struct wksta_info_0 {
unsigned short wki0_reserved_1;
unsigned long wki0_reserved_2;
char far * wki0_root;
char far * wki0_computername;
char far * wki0_username;
char far * wki0_langroup;
unsigned char wki0_ver_major;
unsigned char wki0_ver_minor;
unsigned long wki0_reserved_3;
unsigned short wki0_charwait;
unsigned long wki0_chartime;
unsigned short wki0_charcount;
unsigned short wki0_reserved_4;
unsigned short wki0_reserved_5;
unsigned short wki0_keepconn;
unsigned short wki0_keepsearch;
unsigned short wki0_maxthreads;
unsigned short wki0_maxcmds;
unsigned short wki0_reserved_6;
unsigned short wki0_numworkbuf;
unsigned short wki0_sizworkbuf;
unsigned short wki0_maxwrkcache;
unsigned short wki0_sesstimeout;
unsigned short wki0_sizerror;
unsigned short wki0_numalerts;
unsigned short wki0_numservices;
unsigned short wki0_errlogsz;
unsigned short wki0_printbuftime;
unsigned short wki0_numcharbuf;
unsigned short wki0_sizcharbuf;
char far * wki0_logon_server;
char far * wki0_wrkheuristics;
unsigned short wki0_mailslots;
}; /* wksta_info_0 */
struct wksta_info_1 {
unsigned short wki1_reserved_1;
unsigned long wki1_reserved_2;
char far * wki1_root;
char far * wki1_computername;
char far * wki1_username;
char far * wki1_langroup;
unsigned char wki1_ver_major;
unsigned char wki1_ver_minor;
unsigned long wki1_reserved_3;
unsigned short wki1_charwait;
unsigned long wki1_chartime;
unsigned short wki1_charcount;
unsigned short wki1_reserved_4;
unsigned short wki1_reserved_5;
unsigned short wki1_keepconn;
unsigned short wki1_keepsearch;
unsigned short wki1_maxthreads;
unsigned short wki1_maxcmds;
unsigned short wki1_reserved_6;
unsigned short wki1_numworkbuf;
unsigned short wki1_sizworkbuf;
unsigned short wki1_maxwrkcache;
unsigned short wki1_sesstimeout;
unsigned short wki1_sizerror;
unsigned short wki1_numalerts;
unsigned short wki1_numservices;
unsigned short wki1_errlogsz;
unsigned short wki1_printbuftime;
unsigned short wki1_numcharbuf;
unsigned short wki1_sizcharbuf;
char far * wki1_logon_server;
char far * wki1_wrkheuristics;
unsigned short wki1_mailslots;
char far * wki1_logon_domain;
char far * wki1_oth_domains;
unsigned short wki1_numdgrambuf;
}; /* wksta_info_1 */
struct wksta_info_10 {
char far * wki10_computername;
char far * wki10_username;
char far * wki10_langroup;
unsigned char wki10_ver_major;
unsigned char wki10_ver_minor;
char far * wki10_logon_domain;
char far * wki10_oth_domains;
}; /* wksta_info_10 */
/****************************************************************
* *
* Special values and constants *
* *
****************************************************************/
/**INTERNAL_ONLY**/
/*
* MAX_WKSTA_INFO_SIZE is the size of the maximum amount of data
* returned by NetWkstaGetInfo. Can be used when allocating a buffer.
* BE CAREFUL WHEN USING THIS! This is subject to change, and that's
* why it is an internal-only item.
*/
/*NOINC*/
#define MAX_WKSTA_INFO_SIZE \
(sizeof(struct wksta_info_0) + \
PATHLEN+1 + CNLEN+1 + UNLEN+1 + DNLEN+1 + UNCLEN+1 + \
WRKHEUR_COUNT+1 )
#define MAX_WKSTA_INFO_SIZE_1 \
(sizeof(struct wksta_info_1) + \
PATHLEN+1 + CNLEN+1 + UNLEN+1 + DNLEN+1 + UNCLEN+1 + \
WRKHEUR_COUNT+1 + DNLEN+1 + MAX_OTH_DOMAINS*(DNLEN+1))
#define MAX_WKSTA_INFO_SIZE_10 \
(sizeof(struct wksta_info_10) + \
CNLEN + 1 + UNLEN + 1 + DNLEN + 1 + \
DNLEN + 1 + MAX_OTH_DOMAINS*(DNLEN+1))
/*INC*/
/**END_INTERNAL**/
/*
* Constants for use as NetWkstaSetInfo parmnum parameter
*/
#define WKSTA_CHARWAIT_PARMNUM 10
#define WKSTA_CHARTIME_PARMNUM 11
#define WKSTA_CHARCOUNT_PARMNUM 12
#define WKSTA_ERRLOGSZ_PARMNUM 27
#define WKSTA_PRINTBUFTIME_PARMNUM 28
#define WKSTA_WRKHEURISTICS_PARMNUM 32
#define WKSTA_OTHDOMAINS_PARMNUM 35
/*
* Definitions for NetWkstaSetUID's ucond parameter
*/
#define WKSTA_NOFORCE 0
#define WKSTA_FORCE 1
#define WKSTA_LOTS_OF_FORCE 2
#define WKSTA_MAX_FORCE 3
/**INTERNAL_ONLY**/
#define WKSTA_FORCE_LIMIT 3
/**END_INTERNAL**/
/**INTERNAL_ONLY**/
#define COMPUTERNAME_TERM_BYTE 0
#define MSGNAME_TERM_BYTE 3
/**END_INTERNAL**/
/*
* Maximum number of additional domains
*/
#define MAX_OTH_DOMAINS 4
/**INTERNAL_ONLY**/
/* MAX_DOMAINS includes one for primary domain and one for logon domain */
#define MAX_DOMAINS (MAX_OTH_DOMAINS + 2)
/* Maximum number of browser names; domains plus one for computername. */
#define MAX_BROWSER_NAMES (MAX_DOMAINS + 1)
/**END_INTERNAL**/
#if defined(RPC_CXX_20) && defined(__cplusplus)
}
#endif