• 2004-06-28

    [轉貼] TurboC 2.0 函数中文说明大全(4) 作者:胡颖卓 - [C/C++开发专辑]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://junglesong.yourblog.org/logs/212401.html

    ================================================================= 接口子程序,所在函数库为:dos.h、bios.h unsigned sleep(unsigned seconds)暂停seconds微秒(百分之一秒) int unlink(char *filename)删除文件filename unsigned FP_OFF(void far *farptr)本函数用来取远指针farptr的偏移量 unsigned FP_SEG(void far *farptr)本函数用来没置远指针farptr的段值 void far *MK_FP(unsigned seg,unsigned off)根据段seg和偏移量off构造一个far指针 unsigned getpsp()取程序段前缀的段地址,并返回这个地址 char *parsfnm(char *cmdline,struct fcb *fcbptr,int option) 函数分析一个字符串,通常,对一个文件名来说,是由cmdline所指的一个命令行. 文件名是放入一个FCB中作为一个驱动器,文件名和扩展名.FCB是由fcbptr所指 定的.option参数是DOS分析系统调用时,AL文本的值. int absread(int drive,int nsects,int sectno,void *buffer)本函数功能为读特定的 磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要读的扇区数,sectno为开始的逻 辑扇区号,buffer为保存所读数据的保存空间 int abswrite(int drive,int nsects,int sectno,void *buffer)本函数功能为写特定的 磁盘扇区,drive为驱动器号(0=A,1=B等),nsects为要写的扇区数,sectno为开始的逻 辑扇区号,buffer为保存所写数据的所在空间 void getdfree(int drive,struct dfree *dfreep)本函数用来取磁盘的自由空间, drive为磁盘号(0=当前,1=A等).函数将磁盘特性的由dfreep指向的dfree结构中. dfree结构如下: ┌───────────────────┐ │struct dfree │ │{ │ │ unsigned df_avail; /*有用簇个数*/ │ │ unsigned df_total; /*总共簇个数*/ │ │ unsigned df_bsec; /*每个扇区字节数*/│ │ unsigned df_sclus; /*每个簇扇区数*/ │ │} │ └───────────────────┘ char far *getdta() 取磁盘转换地址DTA void setdta(char far *dta)设置磁盘转换地址DTA void getfat(int drive,fatinfo *fatblkp) 本函数返回指定驱动器drive(0=当前,1=A,2=B等)的文件分配表信息 并存入结构fatblkp中,结构如下: ┌──────────────────┐ │struct fatinfo │ │{ │ │ char fi_sclus; /*每个簇扇区数*/ │ │ char fi_fatid; /*文件分配表字节数*/│ │ int fi_nclus; /*簇的数目*/ │ │ int fi_bysec; /*每个扇区字节数*/ │ │} │ └──────────────────┘ void getfatd(struct fatinfo *fatblkp) 本函数返回当前驱动器的文件分配表信息, 并存入结构fatblkp中,结构如下: ┌──────────────────┐ │struct fatinfo │ │{ │ │ char fi_sclus; /*每个簇扇区数*/ │ │ char fi_fatid; /*文件分配表字节数*/│ │ int fi_nclus; /*簇的数目*/ │ │ int fi_bysec; /*每个扇区字节数*/ │ │} │ └──────────────────┘ int bdos(int dosfun,unsigned dosdx,unsigned dosal)本函数对MSDOS系统进行调用, dosdx为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号 int bdosptr(int dosfun,void *argument,unsiigned dosal)本函数对MSDOS系统进行调用, argument为寄存器dx的值,dosal为寄存器al的值,dosfun为功能号 int int86(int intr_num,union REGS *inregs,union REGS *outregs) 执行intr_num号中断,用户定义的寄存器值存于结构inregs中, 执行完后将返回的寄存器值存于结构outregs中. int int86x(int intr_num,union REGS *inregs,union REGS *outregs, struct SREGS *segregs)执行intr_num号中断,用户定义的寄存器值存于 结构inregs中和结构segregs中,执行完后将返回的寄存器值存于结构outregs中. int intdos(union REGS *inregs,union REGS *outregs) 本函数执行DOS中断0x21来调用一个指定的DOS函数,用户定义的寄存器值 存于结构inregs中,执行完后函数将返回的寄存器值存于结构outregs中 int intdosx(union REGS *inregs,union REGS *outregs,struct SREGS *segregs) 本函数执行DOS中断0x21来调用一个指定的DOS

    收藏到:Del.icio.us




发表评论

您将收到博主的回复邮件
记住我