 MSX-C Ver.1.1 t@C֘A֐gZbg}jA
 By Tatsu(qBF) 1995,1996

{pbP[WɊ܂܂t@C̓ełB
FILE    .C   :t@C֘A֐\[Xt@C
FILE    .REL :t@C֘A֐Cu{
FILE    .TCO :t@C֘A֐FPC pp[^[t@C
FILE    .H   :t@C֘A֐wb_[t@C
FILE    .DOC :AȂǂłt@CłBi̕\Oj

{CȗΏ
 MSX-C Ver1.1

̃Cu͉҂H
@MSX-C ̃t@C֘Å֐nȂ̂ŁAMSX-C V[Yɖ֐₤߂̊֐QłB

g
@\[Xt@C쐬ɂ́A#includegăwb_[t@Cfile.hǂݍ܂ĂBFPC.COM gpɂfile.TCOǂݍ܂ĂBŌɁANfile.RELCLIB.REL̑OɃN悤ɂĂBŁA{Zbg𗘗pvO\ƂȂ܂B

zzɂ
@{Cu̓t[\tgEFAƂ܂Bzz͎RłB쌠͕Ă܂Bi{ł͕łȂBj{Cug\tg̔zzɂĂ͎gp鏈n̋Kɏ܂B

t@C֘A֐t@X

int fread(buf,size,len,fp)
char *buf;
size_t size;
size_t len;
FILE *fp;
@t@C|C^fpŎt@Cbuf sizeoCglen ǂݍ݂܂BAl͐ɓǂݍ߂sizeoCg̃ubŇłB

int fwrite(buf,size,len,fp)
char *buf;
size_t size;
size_t len;
FILE *fp;
@t@C|C^fpŎt@Cbuf sizeoCglen ݂܂BAl͐ɏ߂sizeoCg̃ubŇłB

int getw(fp)
FILE *fp;
@t@C|C^fpŎt@CP[hiQoCgj̃f[^ǂݍ݂܂Bt@C̏IɒBƂAG[NƂEOF AłȂ͓ǂݍ񂾒lԂ܂BG[Ȃǂݍ񂾒lEOF ̏ꍇ܂̂ŁAEOFG[̔ɂfeof(), ferror()gpĂB

int putw(w,fp)
int w;
FILE *fp;
@t@C|C^fpŎt@CɂP[hiQoCgj̃f[^w ݂܂BG[NƂEOF AłȂ͏񂾒lԂ܂BG[Ȃ񂾒lEOF ̏ꍇ܂̂ŁAG[ǂ̔ɂferror()gpĂB

BOOL feof(fp)
FILE *fp;
@t@C|C^fpŎt@Ct@C̏IɒBĂƂ^AłȂUԂ܂B

BOOL ferror(fp)
FILE *fp;
@t@C|C^fpŎt@CɃG[NĂƂ^AłȂUԂ܂B

VOID clearerr(fp)
FILE *fp;
@t@C|C^fpŎt@C̃G[yEOF tO܂B

int fcloseall()
@WóAG[o͈ȊÕI[vĂt@CׂăN[Y܂BsƂEOF AƂ̓N[Yt@CԂ܂B

FD fileno(fp)
FILE *fp;
@t@C|C^fpŎt@CɌѕtĂᐅo͂̃t@CLqqԂ܂B

int fflush(fp)
FILE *fp;
@t@C|C^fpŎt@Co͗pɃI[vĂƂ̓Xg[obt@̃f[^Sďo܂B͗pɃI[vĂƂ̓Xg[obt@̓eNA܂BƂ͂OAsEOF Ԃ܂B

int flushall()
@WóAG[o͈ȊÕI[vĂt@CׂfflushlɃtbV܂BsƂEOF AƂ̓tbVt@CԂ܂B

int fseek(fp,offset,ptrname)
FILE    *fp;
int offset;
char ptrname;
@o͂̃t@C|C^V[N܂Bt@C|C^fpŎꂽt@C̃t@C|C^ptrnameɏ]offset̕ړ܂B
@ptrname ̒l<stdio.h>Œ`Ă鎟3ނ̎w@̂ЂƂIł܂B
SEEK_SET :t@C̐擪̐Έʒu
SEEK_CUR :݂̈ʒȗΈʒu
SEEK_END :t@C̍Ōォ̑Έʒu
@MSX-C long^offsetint ^ł邱ƂxɈړłړʂ̂_łB
@܂A{֐́AeLXg[h̃t@Cł낤'\n'0DH0AĤQoCgƂĈ܂B

VOID rewind(fp)
FILE *fp;
@o͂̃t@C|C^擪ɖ߂AG[EOF ̃tONA܂B

int eof(fd)
FD fd;
@t@CLqqfdŎt@Ct@C̏IɒBĂƂ^AłȂUԂ܂B܂AG[̎ERROR Ԃ܂B

VOID rdsec(buf,drv,sec,len)
char *buf;
int drv;
unsigned sec;
int len;
@drv (0:AhCu)ŎhCũfBXNsec ԃZN^[len ̃ZN^[buf Ԓnɓǂݍ݂܂B

VOID wtsec(buf,drv,sec,len)
char *buf;
int drv;
unsigned sec;
int len;
@buf ԒñZN^[len ̓edrv (0:AhCu)ŎhCũfBXNsecԃZN^[len ̃ZN^[ɏ݂܂B

char *fgets2(s,n,fp)
char *s;
int n;
FILE *fp;
 t@C|C^fpŎw肳t@CPsǂ݂AsŎAhXɏށBPs̒n蒷ꍇnǂݏo_œǂݏo𒆒fBŝ͎ĂAs̏I[ɂ'\0'ZbgBŝ܂ܕԂAt@C̏IɓByсAG[̎ɂNULLԂB

char phread(drive,start,timid,buf)
char drive;
unsigned start;
unsigned timid;
unsigned buf;
  hCuԍdrive(A:=0,B:=1...)Ŏw肵fBAIDtimid̉8oCg̃fBXNstartԃZN^AZN^[timid̏8oCgAhXbufbiosPHYDIOgēǂݍ݂܂B
  Ȃ݂ɁAfBAID́A2DD-9ZN^[tH[}bg̃fBXNF9H,2DD-8ZN^[tH[}bg̃fBXNFBH,1DD-9ZN^[tH[}bg̃fBXNF8H,1DD-8ZN^[tH[}bg̃fBXNFAHƂȂ܂B

char phwrit(drive,start,timid,buf)
char drive;
unsigned start;
unsigned timid;
unsigned buf;
  hCuԍdrive(A:=0,B:=1...)Ŏw肵fBAIDtimid̉8oCg̃fBXNstartԃZN^AZN^[timid̏8oCgɃAhXbuf̓ebiosPHYDIOgď݂܂B

VOID setverify(mode)
int mode;
  fBXN VERIFY ݒ肵܂BDOS t@NV 2Eh ĂяoĂ邾łBmode0̎AVERIFY off ɁA1̎VERIFY on ɂ܂B֐̕琄Ȃ悤ɁÅ֐́APȂ}NłB

STATUS	seekl(fd, offset, mode)
FD		fd;
SLONG	*offset;
char	mode;
@ᐅo͂̃t@C|C^V[N܂Bt@CfBXNv^fdŎꂽt@C̃t@C|C^modeɏ]offset̕ړ܂B
@mode̒l<stdio.h>Œ`Ă鎟3ނ̎w@̂ЂƂIł܂B
SEEK_SET :t@C̐擪̐Έʒu
SEEK_CUR :݂̈ʒȗΈʒu
SEEK_END :t@C̍Ōォ̑Έʒu
@MSX-C LibrarySLONG^offsetɎĝňxɈړłړʂ傫ȂĂ܂B̊֐́AMSX-C V1.1płB

SLONG *telll(ret,fd)
SLONG *ret;
FD fd;
  telll()̓t@CnhfdŎt@Č݂̃[hCgʒuԂ܂B
  ݂̃[hCgʒut@C̐擪̃oCgretɑĕԂ܂BG[o-1LretɑĕԂ܂B
@̊֐́Awb_t@Cł͒`ĂȂ̂ŁAgƂɒ`ĂBłȂƁÅ֐gȂłAmath.hCN[hKvAʂ傫łB
  ̊֐́AMSX-C V1.1płB

Ō
@̊֐pbP[ẂAMSX-C ̃t@C֘A֐nȂ̂ŁAlXȊ֐ĂāAt@C֘A֐Ă܂IƂōĂ݂܂BŁAoCit@CƂɂo͊֐g܂ˁB܂ŁA̎̊֐͖ʓ|ƔĂ̂ŁAR[fBO̎ɍo͊֐̎@܂ŉx\[Xt@CԂāA悤₭邱Ƃł܂B
@ŕƂɁAMSX-C Ver.1.1 ̓t@C͕Kobt@AfoCX͕Kobt@œo͂sĂƂłB̂߁Asetbuf(),setvbuf()֐͂܂ӖƎv̂Łit@C̃obt@̑傫ς邮炢ŁA͓Kȏuxj܂łB܂Along^KKvȊ֐łȂ̂ŁAANSIAlong^MSX-C Ver.1.1 ̔nYIIƌȂ܂BǁASLONGőpǁB܂Aꂾ΂x̃vO͏ôł͂Ȃł傤B
@ł́A͂̕ӂŁB

