/******************************************************************** ** 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