From 9695ea005d4af93dcd60f74f10fd3c54499a182f Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Thu, 11 Nov 2021 16:31:58 -0800 Subject: chore: split up base library into individual files for smaller binaries --- sys/base/io.c | 176 ---------------------------------------------------------- 1 file changed, 176 deletions(-) delete mode 100644 sys/base/io.c (limited to 'sys/base/io.c') diff --git a/sys/base/io.c b/sys/base/io.c deleted file mode 100644 index 137b668..0000000 --- a/sys/base/io.c +++ /dev/null @@ -1,176 +0,0 @@ -#include -#include - -// ----------------------------------------------------------------------- -// interface implementations - -/* casting functions */ -static -int -·read(void *rdr, int size, int n, void *buf) -{ - return io·read((io·Stream *)rdr, size, n, buf); -} - -static -byte -·get(void *rdr) -{ - return io·getbyte((io·Stream *)rdr); -} - -static -error -·unget(void *rdr, byte c) -{ - return io·ungetbyte((io·Stream *)rdr, c); -} - -static -int -·write(void *wtr, int sz, int n, void *buf) -{ - return io·write((io·Stream *)wtr, sz, n, buf); -} - -static -error -·put(void *wtr, byte c) -{ - return io·putbyte((io·Stream *)wtr, c); -} - -static -int -·puts(void *wtr, string s) -{ - return io·putstring((io·Stream *)wtr, s); -} - -static -int -·seek(void *skr, long off, enum SeekPos whence) -{ - return io·seek((io·Stream *)skr, off, whence); -} - -static -long -·tell(void *skr) -{ - return io·tell((io·Stream *)skr); -} - -/* actual interfaces */ -io·Reader sys·Reader = (io·Reader){ ·read }; -io·Seeker sys·Seeker = (io·Seeker){ ·seek, ·tell }; -io·Peeker sys·Peeker = (io·Peeker){ ·get, ·unget }; -io·SeekReader sys·SeekReader = (io·SeekReader){ ·seek, ·tell, ·read }; -io·PeekReader sys·PeekReader = (io·PeekReader){ ·read, ·get, ·unget }; - -io·Writer sys·Writer = (io·Writer){ ·write }; -io·Putter sys·Putter = (io·Putter){ ·put, ·puts }; -io·PutWriter sys·PutWriter = (io·PutWriter){ ·write, ·put, ·puts }; - -io·ReadWriter sys·ReadWriter = (io·ReadWriter){ ·read, ·write }; - -// ----------------------------------------------------------------------- -// open/close - -io·Stream* -io·open(byte *name, byte *mode) -{ - return fopen(name, mode); -} - -int -io·fd(io·Stream *s) -{ - return fileno(s); -} - -error -io·stat(io·Stream *s, io·Stat *buf) -{ - return fstat(fileno(s), buf); -} - -error -io·close(io·Stream *s) -{ - return fclose(s); -} - -// ----------------------------------------------------------------------- -// reading - -byte -io·getbyte(io·Stream *s) -{ - return fgetc(s); -} - -error -io·ungetbyte(io·Stream *s, byte c) -{ - return ungetc(c, s); -} - -int -io·read(io·Stream *s, int sz, int n, void *buf) -{ - return fread(buf, sz, n, s); -} - -int -io·readln(io·Stream *s, int n, byte* buf) -{ - byte* b; - b = fgets(buf, n+1, s); - if(b == nil) - return -1; - - return strlen(buf); -} - -// ----------------------------------------------------------------------- -// writing - -error -io·putbyte(io·Stream *s, byte c) -{ - return fputc(c, s); -} - -int -io·putstring(io·Stream *s, string str) -{ - return fputs(str, s); -} - -int -io·write(io·Stream *s, int sz, int n, void *buf) -{ - return fwrite(buf, sz, n, s); -} - -int -io·flush(io·Stream *s) -{ - return fflush(s); -} - -// ----------------------------------------------------------------------- -// seek - -int -io·seek(io·Stream *s, long off, enum SeekPos origin) -{ - return fseek(s, off, origin); -} - -long -io·tell(io·Stream *s) -{ - return ftell(s); -} -- cgit v1.2.1