home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 11 Util
/
11-Util.zip
/
LMUTIL.ZIP
/
MACHNAME.C
< prev
next >
Wrap
C/C++ Source or Header
|
1991-03-19
|
2KB
|
107 lines
/*
** Program: MACHNAME
**
** Author: Roger L Soles
**
** Description:
**
** This example C program uses the NetWkstaGetInfo call to obtain
** information about the local work station.
**
** Instructions:
**
** MACHNAME [-?]
**
*/
#define LINT_ARGS
#include <stdio.h>
#include <stdlib.h>
#define INCL_NETWKSTA
#define INCL_NETERRORS
#include <lan.h>
void main (int argc, char * argv[])
{
/*
** Information structures
*/
struct wksta_info_0 far * WkstaInfo0;
char far * cptr;
API_RET_TYPE uRetCode = 0;
char far * pszServer = "";
short sLevel = 0;
char far * pbBuffer;
unsigned short cbBuflen = 0;
unsigned short cbTotalAvail = 0;
/*
** Process Command Line Options
*/
argc--; argv++;
cptr = argv[0];
if ( *cptr++ == '-' )
{
switch (*cptr)
{
case '?':
default:
printf ("\nUSAGE: MACHNAME [-?]\n");
exit (1);
}
}
/*
** 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
{
printf ("Error %04x\n", uRetCode);
exit(1);
}
/*
** Allocate storage
*/
uRetCode = NetWkstaGetInfo ( pszServer,
sLevel,
pbBuffer,
cbBuflen,
&cbTotalAvail);
if (uRetCode != NERR_Success)
{
printf ("Error %04x\n", uRetCode);
exit(1);
}
/*
** Print Out Level 0 information
*/
WkstaInfo0 = (struct wksta_info_0 *) pbBuffer;
printf ("%Fs\n", WkstaInfo0->wki0_computername);
exit (0);
}