home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
LMUTIL.ZIP
/
GETSRV.C
next >
Wrap
C/C++ Source or Header
|
1991-03-19
|
1KB
|
70 lines
#define LINT_ARGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define INCL_NETWKSTA
#define INCL_NETERRORS
#include <lan.h>
#include "getsrv.h"
int get_logon_server ( char far ** logon_server, char far ** user_name )
{
/*
** Information structures
*/
struct wksta_info_0 far * WkstaInfo0;
API_RET_TYPE uRetCode = 0;
char far * pszServer = "";
short sLevel = 0;
char far * pbBuffer;
unsigned short cbBuflen = 0;
unsigned short cbTotalAvail = 0;
/*
** Determine how large buffer needs to be
*/
uRetCode = NetWkstaGetInfo ( pszServer,
sLevel,
NULL,
0,
&cbTotalAvail);
if (uRetCode == NERR_BufTooSmall)
{
cbBuflen = cbTotalAvail;
pbBuffer = (char *) malloc (cbBuflen);
}
else
{
return (-1);
}
/*
** Allocate storage
*/
uRetCode = NetWkstaGetInfo ( pszServer,
sLevel,
pbBuffer,
cbBuflen,
&cbTotalAvail);
if (uRetCode != NERR_Success)
{
return (-1);
}
WkstaInfo0 = (struct wksta_info_0 *) pbBuffer;
*user_name = WkstaInfo0->wki0_username;
*logon_server = WkstaInfo0->wki0_logon_server;
return (0);
}