Metropoli BBS
VIEWER: useapi.c MODE: TEXT (ASCII)
/*
 *  USEAPI.C
 *
 *  Shows the use of the XFSAPI: XFSLIB & XFSFMX
 *
 *  Note: USEAPI uses Borland's EasyWin. I don't know, how other
 *        compilers handle generic window output.
 *
 */

#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include "xfsapi.h"

int PASCAL WinMain(HANDLE hInstance, HANDLE hPrevInstance,
  LPSTR lpszCmdLine, int cmdShow)
{

 MOUNTOPT  opt;
 XFSINFO   info;
 int       i;
 char      device[128], resource[128];

// for `printf'
_InitEasyWin();

if( !XfsInstalled() ) exit(255);

// Login
printf("%d\n", XfsLogin((LPSTR) NULL, "speedy", "guest", "guest"));

// Get XFS info
XfsNetStat( &info );
printf("Hostname ... %s\n", info.hostname);
printf("User ....... %s\n", info.username);
printf("UID ........ %d\n", info.uid);
printf("GID ........ %d\n", info.gid);
printf("Umask ...... %d\n", info.umask);

opt.rsize = 1024;
opt.wsize = 1024;
opt.retry = MOUNT_DEF_RETRY;
opt.flags = MOUNT_DEF_OPT;

// Mount a drive
printf("%d\n", XfsMountDrive("R:", "speedy", "/usr", &opt) );

// Drive Login
printf("%d\n", XfsLogin("R:", "speedy", "admin", "xyz"));


// Show used resources
i = 0;
while( WGetRedirection(i++, device, resource) == 0 )
  printf("%s %s\n", device, resource);

// Init the File Manager Extension
if( !InitFMX() ) exit(255);

// Show the mount dialog
XfsFMXCall(0, CM_MOUNT);

// Show the unmount dialog
XfsFMXCall(0, CM_UMOUNT);

DoneFMX();

return 0;
}
[ RETURN TO DIRECTORY ]