3-54
if ((regs.x.cflag & 0x01) == 0) return(regs.x.ax);
else return(-1);
}
41 Delete file
Entry Parameters: AH = 41
DS:DX = segment:offset of ASCIIZ file name
Returned Values: if successful : Carry = clear,
if fail : Carry = set, AX = 2
int TS_delete_file(char *fn)
{
segregs.ds = FP_SEG(fn);
regs.x.dx = FP_OFF(fn);
regs.h.ah=0x41;
int86x(0x21,&regs,&regs,&segregs);
if ((regs.x.cflag & 0x01) == 0) return(1);
else return(-1);
}
42 Move file pointer
Entry Parameters: AH = 42
AL = 0 offset from beginning
1 offset from current
2 offset from end
BX = file handle
CX = most significant half of offset
DX = least significant half of offset
Returned Values: if successful: Carry = clear,
AX = least significant half of new current
DX = most significant half of new current
if fail: Carry = set, AX = 6
struct LONG_INT {
long ll;
};
struct LONG_INT1 {
unsigned int ii1, ii2;
};
union LONG_III {
struct LONG_INT l;
struct LONG_INT1 i;
};