http://www.ousob.com --- Legacy Redefined #include <dos.h> #include <extend50.h> int onNetwork(void); CLIPPER b_fcb() { union REGS iRegs, oRegs; struct SREGS segregs; char *source = _parc(1); char *target = _parc(2); long *bytes = (long *)_parnl(3); if( !ISCHAR(1) && !ISCHAR(2) && !ISNUM(3) ){ _retl(0); return; } if( !onNetwork() ){ _retl(0); return; } iRegs.h.ah = 0xe6; iRegs.x.cx = FP_SEG( (void far *)bytes ); iRegs.x.dx = FP_OFF( (void far *)bytes ); segregs.ds = FP_SEG( (void far *)source ); iRegs.x.si = FP_OFF( (void far *)source ); segregs.es = FP_SEG( (void far *)target ); iRegs.x.di = FP_OFF( (void far *)target ); int86x(0x2F,&iRegs,&oRegs,&segregs); _retl( oRegs.h.al ? 0 : 1 ); } int onNetwork(void) { union REGS regs; regs.h.ah = 0xdc; int86(0x21,&regs,&regs); return(regs.h.al); }