giving up on porting fio. favors stdio
This commit is contained in:
parent
8f53d6c0fa
commit
1aeb22039e
@ -41,7 +41,6 @@ include_HEADERS = \
|
|||||||
hio-dns.h \
|
hio-dns.h \
|
||||||
hio-ecs.h \
|
hio-ecs.h \
|
||||||
hio-fcgi.h \
|
hio-fcgi.h \
|
||||||
hio-fio.h \
|
|
||||||
hio-fmt.h \
|
hio-fmt.h \
|
||||||
hio-htb.h \
|
hio-htb.h \
|
||||||
hio-htrd.h \
|
hio-htrd.h \
|
||||||
@ -77,7 +76,6 @@ libhio_la_SOURCES = \
|
|||||||
ecs-imp.h \
|
ecs-imp.h \
|
||||||
err.c \
|
err.c \
|
||||||
fcgi-cli.c \
|
fcgi-cli.c \
|
||||||
fio.c \
|
|
||||||
fmt.c \
|
fmt.c \
|
||||||
fmt-imp.h \
|
fmt-imp.h \
|
||||||
htb.c \
|
htb.c \
|
||||||
|
@ -148,8 +148,8 @@ libhio_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1) \
|
|||||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
||||||
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
|
$(am__DEPENDENCIES_3) $(am__DEPENDENCIES_4)
|
||||||
am__libhio_la_SOURCES_DIST = chr.c dhcp-svr.c dns.c dns-cli.c ecs.c \
|
am__libhio_la_SOURCES_DIST = chr.c dhcp-svr.c dns.c dns-cli.c ecs.c \
|
||||||
ecs-imp.h err.c fcgi-cli.c fio.c fmt.c fmt-imp.h htb.c htrd.c \
|
ecs-imp.h err.c fcgi-cli.c fmt.c fmt-imp.h htb.c htrd.c htre.c \
|
||||||
htre.c http.c http-cgi.c http-fcgi.c http-file.c http-prv.h \
|
http.c http-cgi.c http-fcgi.c http-file.c http-prv.h \
|
||||||
http-svr.c http-thr.c http-txt.c json.c hio-prv.h hio.c md5.c \
|
http-svr.c http-thr.c http-txt.c json.c hio-prv.h hio.c md5.c \
|
||||||
nwif.c opt.c opt-imp.h path.c pipe.c pro.c pty.c rad-msg.c \
|
nwif.c opt.c opt-imp.h path.c pipe.c pro.c pty.c rad-msg.c \
|
||||||
sck.c shw.c skad.c sys.c sys-ass.c sys-err.c sys-log.c \
|
sck.c shw.c skad.c sys.c sys-ass.c sys-err.c sys-log.c \
|
||||||
@ -159,21 +159,20 @@ am__libhio_la_SOURCES_DIST = chr.c dhcp-svr.c dns.c dns-cli.c ecs.c \
|
|||||||
@ENABLE_MARIADB_TRUE@ libhio_la-mar-cli.lo
|
@ENABLE_MARIADB_TRUE@ libhio_la-mar-cli.lo
|
||||||
am_libhio_la_OBJECTS = libhio_la-chr.lo libhio_la-dhcp-svr.lo \
|
am_libhio_la_OBJECTS = libhio_la-chr.lo libhio_la-dhcp-svr.lo \
|
||||||
libhio_la-dns.lo libhio_la-dns-cli.lo libhio_la-ecs.lo \
|
libhio_la-dns.lo libhio_la-dns-cli.lo libhio_la-ecs.lo \
|
||||||
libhio_la-err.lo libhio_la-fcgi-cli.lo libhio_la-fio.lo \
|
libhio_la-err.lo libhio_la-fcgi-cli.lo libhio_la-fmt.lo \
|
||||||
libhio_la-fmt.lo libhio_la-htb.lo libhio_la-htrd.lo \
|
libhio_la-htb.lo libhio_la-htrd.lo libhio_la-htre.lo \
|
||||||
libhio_la-htre.lo libhio_la-http.lo libhio_la-http-cgi.lo \
|
libhio_la-http.lo libhio_la-http-cgi.lo libhio_la-http-fcgi.lo \
|
||||||
libhio_la-http-fcgi.lo libhio_la-http-file.lo \
|
libhio_la-http-file.lo libhio_la-http-svr.lo \
|
||||||
libhio_la-http-svr.lo libhio_la-http-thr.lo \
|
libhio_la-http-thr.lo libhio_la-http-txt.lo libhio_la-json.lo \
|
||||||
libhio_la-http-txt.lo libhio_la-json.lo libhio_la-hio.lo \
|
libhio_la-hio.lo libhio_la-md5.lo libhio_la-nwif.lo \
|
||||||
libhio_la-md5.lo libhio_la-nwif.lo libhio_la-opt.lo \
|
libhio_la-opt.lo libhio_la-path.lo libhio_la-pipe.lo \
|
||||||
libhio_la-path.lo libhio_la-pipe.lo libhio_la-pro.lo \
|
libhio_la-pro.lo libhio_la-pty.lo libhio_la-rad-msg.lo \
|
||||||
libhio_la-pty.lo libhio_la-rad-msg.lo libhio_la-sck.lo \
|
libhio_la-sck.lo libhio_la-shw.lo libhio_la-skad.lo \
|
||||||
libhio_la-shw.lo libhio_la-skad.lo libhio_la-sys.lo \
|
libhio_la-sys.lo libhio_la-sys-ass.lo libhio_la-sys-err.lo \
|
||||||
libhio_la-sys-ass.lo libhio_la-sys-err.lo libhio_la-sys-log.lo \
|
libhio_la-sys-log.lo libhio_la-sys-mux.lo libhio_la-sys-tim.lo \
|
||||||
libhio_la-sys-mux.lo libhio_la-sys-tim.lo libhio_la-thr.lo \
|
libhio_la-thr.lo libhio_la-tar.lo libhio_la-tmr.lo \
|
||||||
libhio_la-tar.lo libhio_la-tmr.lo libhio_la-utf8.lo \
|
libhio_la-utf8.lo libhio_la-utl.lo libhio_la-utl-siph.lo \
|
||||||
libhio_la-utl.lo libhio_la-utl-siph.lo libhio_la-utl-str.lo \
|
libhio_la-utl-str.lo $(am__objects_1)
|
||||||
$(am__objects_1)
|
|
||||||
libhio_la_OBJECTS = $(am_libhio_la_OBJECTS)
|
libhio_la_OBJECTS = $(am_libhio_la_OBJECTS)
|
||||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||||
@ -203,9 +202,9 @@ am__depfiles_remade = ./$(DEPDIR)/libhio_la-chr.Plo \
|
|||||||
./$(DEPDIR)/libhio_la-dns.Plo ./$(DEPDIR)/libhio_la-ecs.Plo \
|
./$(DEPDIR)/libhio_la-dns.Plo ./$(DEPDIR)/libhio_la-ecs.Plo \
|
||||||
./$(DEPDIR)/libhio_la-err.Plo \
|
./$(DEPDIR)/libhio_la-err.Plo \
|
||||||
./$(DEPDIR)/libhio_la-fcgi-cli.Plo \
|
./$(DEPDIR)/libhio_la-fcgi-cli.Plo \
|
||||||
./$(DEPDIR)/libhio_la-fio.Plo ./$(DEPDIR)/libhio_la-fmt.Plo \
|
./$(DEPDIR)/libhio_la-fmt.Plo ./$(DEPDIR)/libhio_la-hio.Plo \
|
||||||
./$(DEPDIR)/libhio_la-hio.Plo ./$(DEPDIR)/libhio_la-htb.Plo \
|
./$(DEPDIR)/libhio_la-htb.Plo ./$(DEPDIR)/libhio_la-htrd.Plo \
|
||||||
./$(DEPDIR)/libhio_la-htrd.Plo ./$(DEPDIR)/libhio_la-htre.Plo \
|
./$(DEPDIR)/libhio_la-htre.Plo \
|
||||||
./$(DEPDIR)/libhio_la-http-cgi.Plo \
|
./$(DEPDIR)/libhio_la-http-cgi.Plo \
|
||||||
./$(DEPDIR)/libhio_la-http-fcgi.Plo \
|
./$(DEPDIR)/libhio_la-http-fcgi.Plo \
|
||||||
./$(DEPDIR)/libhio_la-http-file.Plo \
|
./$(DEPDIR)/libhio_la-http-file.Plo \
|
||||||
@ -259,11 +258,11 @@ am__can_run_installinfo = \
|
|||||||
*) (install-info --version) >/dev/null 2>&1;; \
|
*) (install-info --version) >/dev/null 2>&1;; \
|
||||||
esac
|
esac
|
||||||
am__include_HEADERS_DIST = hio-chr.h hio-cmn.h hio-dhcp.h hio-dns.h \
|
am__include_HEADERS_DIST = hio-chr.h hio-cmn.h hio-dhcp.h hio-dns.h \
|
||||||
hio-ecs.h hio-fcgi.h hio-fio.h hio-fmt.h hio-htb.h hio-htrd.h \
|
hio-ecs.h hio-fcgi.h hio-fmt.h hio-htb.h hio-htrd.h hio-htre.h \
|
||||||
hio-htre.h hio-http.h hio-json.h hio-md5.h hio-nwif.h \
|
hio-http.h hio-json.h hio-md5.h hio-nwif.h hio-opt.h \
|
||||||
hio-opt.h hio-pac1.h hio-path.h hio-pipe.h hio-pro.h hio-pty.h \
|
hio-pac1.h hio-path.h hio-pipe.h hio-pro.h hio-pty.h hio-rad.h \
|
||||||
hio-rad.h hio-sck.h hio-shw.h hio-skad.h hio-str.h hio-tar.h \
|
hio-sck.h hio-shw.h hio-skad.h hio-str.h hio-tar.h hio-thr.h \
|
||||||
hio-thr.h hio-upac.h hio-utl.h hio.h hio-mar.h
|
hio-upac.h hio-utl.h hio.h hio-mar.h
|
||||||
HEADERS = $(include_HEADERS)
|
HEADERS = $(include_HEADERS)
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \
|
||||||
hio-cfg.h.in
|
hio-cfg.h.in
|
||||||
@ -462,20 +461,20 @@ LIBADD_LIB_COMMON = $(LIBM)
|
|||||||
|
|
||||||
# Never list hio-cfg.h in include_HEADERS.
|
# Never list hio-cfg.h in include_HEADERS.
|
||||||
include_HEADERS = hio-chr.h hio-cmn.h hio-dhcp.h hio-dns.h hio-ecs.h \
|
include_HEADERS = hio-chr.h hio-cmn.h hio-dhcp.h hio-dns.h hio-ecs.h \
|
||||||
hio-fcgi.h hio-fio.h hio-fmt.h hio-htb.h hio-htrd.h hio-htre.h \
|
hio-fcgi.h hio-fmt.h hio-htb.h hio-htrd.h hio-htre.h \
|
||||||
hio-http.h hio-json.h hio-md5.h hio-nwif.h hio-opt.h \
|
hio-http.h hio-json.h hio-md5.h hio-nwif.h hio-opt.h \
|
||||||
hio-pac1.h hio-path.h hio-pipe.h hio-pro.h hio-pty.h hio-rad.h \
|
hio-pac1.h hio-path.h hio-pipe.h hio-pro.h hio-pty.h hio-rad.h \
|
||||||
hio-sck.h hio-shw.h hio-skad.h hio-str.h hio-tar.h hio-thr.h \
|
hio-sck.h hio-shw.h hio-skad.h hio-str.h hio-tar.h hio-thr.h \
|
||||||
hio-upac.h hio-utl.h hio.h $(am__append_1)
|
hio-upac.h hio-utl.h hio.h $(am__append_1)
|
||||||
lib_LTLIBRARIES = libhio.la
|
lib_LTLIBRARIES = libhio.la
|
||||||
libhio_la_SOURCES = chr.c dhcp-svr.c dns.c dns-cli.c ecs.c ecs-imp.h \
|
libhio_la_SOURCES = chr.c dhcp-svr.c dns.c dns-cli.c ecs.c ecs-imp.h \
|
||||||
err.c fcgi-cli.c fio.c fmt.c fmt-imp.h htb.c htrd.c htre.c \
|
err.c fcgi-cli.c fmt.c fmt-imp.h htb.c htrd.c htre.c http.c \
|
||||||
http.c http-cgi.c http-fcgi.c http-file.c http-prv.h \
|
http-cgi.c http-fcgi.c http-file.c http-prv.h http-svr.c \
|
||||||
http-svr.c http-thr.c http-txt.c json.c hio-prv.h hio.c md5.c \
|
http-thr.c http-txt.c json.c hio-prv.h hio.c md5.c nwif.c \
|
||||||
nwif.c opt.c opt-imp.h path.c pipe.c pro.c pty.c rad-msg.c \
|
opt.c opt-imp.h path.c pipe.c pro.c pty.c rad-msg.c sck.c \
|
||||||
sck.c shw.c skad.c sys.c sys-ass.c sys-err.c sys-log.c \
|
shw.c skad.c sys.c sys-ass.c sys-err.c sys-log.c sys-mux.c \
|
||||||
sys-mux.c sys-prv.h sys-tim.c thr.c uch-case.h uch-prop.h \
|
sys-prv.h sys-tim.c thr.c uch-case.h uch-prop.h tar.c tmr.c \
|
||||||
tar.c tmr.c utf8.c utl.c utl-siph.c utl-str.c $(am__append_2)
|
utf8.c utl.c utl-siph.c utl-str.c $(am__append_2)
|
||||||
libhio_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
|
libhio_la_CPPFLAGS = $(CPPFLAGS_LIB_COMMON)
|
||||||
libhio_la_CFLAGS = $(CFLAGS_LIB_COMMON) $(am__append_3)
|
libhio_la_CFLAGS = $(CFLAGS_LIB_COMMON) $(am__append_3)
|
||||||
libhio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) $(am__append_4)
|
libhio_la_LDFLAGS = $(LDFLAGS_LIB_COMMON) $(am__append_4)
|
||||||
@ -582,7 +581,6 @@ distclean-compile:
|
|||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-ecs.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-ecs.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-err.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-err.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-fcgi-cli.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-fcgi-cli.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-fio.Plo@am__quote@ # am--include-marker
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-fmt.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-fmt.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-hio.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-hio.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-htb.Plo@am__quote@ # am--include-marker
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhio_la-htb.Plo@am__quote@ # am--include-marker
|
||||||
@ -702,13 +700,6 @@ libhio_la-fcgi-cli.lo: fcgi-cli.c
|
|||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhio_la_CPPFLAGS) $(CPPFLAGS) $(libhio_la_CFLAGS) $(CFLAGS) -c -o libhio_la-fcgi-cli.lo `test -f 'fcgi-cli.c' || echo '$(srcdir)/'`fcgi-cli.c
|
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhio_la_CPPFLAGS) $(CPPFLAGS) $(libhio_la_CFLAGS) $(CFLAGS) -c -o libhio_la-fcgi-cli.lo `test -f 'fcgi-cli.c' || echo '$(srcdir)/'`fcgi-cli.c
|
||||||
|
|
||||||
libhio_la-fio.lo: fio.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhio_la_CPPFLAGS) $(CPPFLAGS) $(libhio_la_CFLAGS) $(CFLAGS) -MT libhio_la-fio.lo -MD -MP -MF $(DEPDIR)/libhio_la-fio.Tpo -c -o libhio_la-fio.lo `test -f 'fio.c' || echo '$(srcdir)/'`fio.c
|
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhio_la-fio.Tpo $(DEPDIR)/libhio_la-fio.Plo
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='fio.c' object='libhio_la-fio.lo' libtool=yes @AMDEPBACKSLASH@
|
|
||||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
|
||||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhio_la_CPPFLAGS) $(CPPFLAGS) $(libhio_la_CFLAGS) $(CFLAGS) -c -o libhio_la-fio.lo `test -f 'fio.c' || echo '$(srcdir)/'`fio.c
|
|
||||||
|
|
||||||
libhio_la-fmt.lo: fmt.c
|
libhio_la-fmt.lo: fmt.c
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhio_la_CPPFLAGS) $(CPPFLAGS) $(libhio_la_CFLAGS) $(CFLAGS) -MT libhio_la-fmt.lo -MD -MP -MF $(DEPDIR)/libhio_la-fmt.Tpo -c -o libhio_la-fmt.lo `test -f 'fmt.c' || echo '$(srcdir)/'`fmt.c
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libhio_la_CPPFLAGS) $(CPPFLAGS) $(libhio_la_CFLAGS) $(CFLAGS) -MT libhio_la-fmt.lo -MD -MP -MF $(DEPDIR)/libhio_la-fmt.Tpo -c -o libhio_la-fmt.lo `test -f 'fmt.c' || echo '$(srcdir)/'`fmt.c
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhio_la-fmt.Tpo $(DEPDIR)/libhio_la-fmt.Plo
|
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libhio_la-fmt.Tpo $(DEPDIR)/libhio_la-fmt.Plo
|
||||||
@ -1148,7 +1139,6 @@ distclean: distclean-am
|
|||||||
-rm -f ./$(DEPDIR)/libhio_la-ecs.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-ecs.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-err.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-err.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-fcgi-cli.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-fcgi-cli.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-fio.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-fmt.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-fmt.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-hio.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-hio.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-htb.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-htb.Plo
|
||||||
@ -1241,7 +1231,6 @@ maintainer-clean: maintainer-clean-am
|
|||||||
-rm -f ./$(DEPDIR)/libhio_la-ecs.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-ecs.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-err.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-err.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-fcgi-cli.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-fcgi-cli.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-fio.Plo
|
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-fmt.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-fmt.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-hio.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-hio.Plo
|
||||||
-rm -f ./$(DEPDIR)/libhio_la-htb.Plo
|
-rm -f ./$(DEPDIR)/libhio_la-htb.Plo
|
||||||
|
43
lib/err.c
43
lib/err.c
@ -37,27 +37,28 @@ static hio_ooch_t errstr_8[] = {'e', 'x', 'i', 's', 't', 'i', 'n', 'g', '/', 'd'
|
|||||||
static hio_ooch_t errstr_9[] = {'s', 'y', 's', 't', 'e', 'm', ' ', 'b', 'u', 's', 'y', '\0' };
|
static hio_ooch_t errstr_9[] = {'s', 'y', 's', 't', 'e', 'm', ' ', 'b', 'u', 's', 'y', '\0' };
|
||||||
static hio_ooch_t errstr_10[] = {'a', 'c', 'c', 'e', 's', 's', ' ', 'd', 'e', 'n', 'i', 'e', 'd', '\0' };
|
static hio_ooch_t errstr_10[] = {'a', 'c', 'c', 'e', 's', 's', ' ', 'd', 'e', 'n', 'i', 'e', 'd', '\0' };
|
||||||
static hio_ooch_t errstr_11[] = {'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', ' ', 'n', 'o', 't', ' ', 'p', 'e', 'r', 'm', 'i', 't', 't', 'e', 'd', '\0' };
|
static hio_ooch_t errstr_11[] = {'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', ' ', 'n', 'o', 't', ' ', 'p', 'e', 'r', 'm', 'i', 't', 't', 'e', 'd', '\0' };
|
||||||
static hio_ooch_t errstr_12[] = {'n', 'o', 't', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0' };
|
static hio_ooch_t errstr_12[] = {'i', 's', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0' };
|
||||||
static hio_ooch_t errstr_13[] = {'i', 'n', 't', 'e', 'r', 'r', 'u', 'p', 't', 'e', 'd', '\0' };
|
static hio_ooch_t errstr_13[] = {'n', 'o', 't', ' ', 'd', 'i', 'r', 'e', 'c', 't', 'o', 'r', 'y', '\0' };
|
||||||
static hio_ooch_t errstr_14[] = {'p', 'i', 'p', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
static hio_ooch_t errstr_14[] = {'i', 'n', 't', 'e', 'r', 'r', 'u', 'p', 't', 'e', 'd', '\0' };
|
||||||
static hio_ooch_t errstr_15[] = {'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', ' ', 't', 'e', 'm', 'p', 'o', 'r', 'a', 'r', 'i', 'l', 'y', ' ', 'u', 'n', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', '\0' };
|
static hio_ooch_t errstr_15[] = {'p', 'i', 'p', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
||||||
static hio_ooch_t errstr_16[] = {'b', 'a', 'd', ' ', 's', 'y', 's', 't', 'e', 'm', ' ', 'h', 'a', 'n', 'd', 'l', 'e', '\0' };
|
static hio_ooch_t errstr_16[] = {'r', 'e', 's', 'o', 'u', 'r', 'c', 'e', ' ', 't', 'e', 'm', 'p', 'o', 'r', 'a', 'r', 'i', 'l', 'y', ' ', 'u', 'n', 'a', 'v', 'a', 'i', 'l', 'a', 'b', 'l', 'e', '\0' };
|
||||||
static hio_ooch_t errstr_17[] = {'b', 'a', 'd', ' ', 'r', 'e', 'q', 'u', 'e', 's', 't', ' ', 'o', 'r', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
|
static hio_ooch_t errstr_17[] = {'b', 'a', 'd', ' ', 's', 'y', 's', 't', 'e', 'm', ' ', 'h', 'a', 'n', 'd', 'l', 'e', '\0' };
|
||||||
static hio_ooch_t errstr_18[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
|
static hio_ooch_t errstr_18[] = {'b', 'a', 'd', ' ', 'r', 'e', 'q', 'u', 'e', 's', 't', ' ', 'o', 'r', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
|
||||||
static hio_ooch_t errstr_19[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
|
static hio_ooch_t errstr_19[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
|
||||||
static hio_ooch_t errstr_20[] = {'I', '/', 'O', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
static hio_ooch_t errstr_20[] = {'t', 'o', 'o', ' ', 'm', 'a', 'n', 'y', ' ', 'o', 'p', 'e', 'n', ' ', 'f', 'i', 'l', 'e', 's', '\0' };
|
||||||
static hio_ooch_t errstr_21[] = {'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
static hio_ooch_t errstr_21[] = {'I', '/', 'O', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
||||||
static hio_ooch_t errstr_22[] = {'i', 'n', 's', 'u', 'f', 'f', 'i', 'c', 'i', 'e', 'n', 't', ' ', 'd', 'a', 't', 'a', ' ', 'f', 'o', 'r', ' ', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\0' };
|
static hio_ooch_t errstr_22[] = {'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
||||||
static hio_ooch_t errstr_23[] = {'b', 'u', 'f', 'f', 'e', 'r', ' ', 'f', 'u', 'l', 'l', '\0' };
|
static hio_ooch_t errstr_23[] = {'i', 'n', 's', 'u', 'f', 'f', 'i', 'c', 'i', 'e', 'n', 't', ' ', 'd', 'a', 't', 'a', ' ', 'f', 'o', 'r', ' ', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', ' ', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\0' };
|
||||||
static hio_ooch_t errstr_24[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'l', 'o', 's', 't', '\0' };
|
static hio_ooch_t errstr_24[] = {'b', 'u', 'f', 'f', 'e', 'r', ' ', 'f', 'u', 'l', 'l', '\0' };
|
||||||
static hio_ooch_t errstr_25[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 'f', 'u', 's', 'e', 'd', '\0' };
|
static hio_ooch_t errstr_25[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'l', 'o', 's', 't', '\0' };
|
||||||
static hio_ooch_t errstr_26[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 's', 'e', 't', '\0' };
|
static hio_ooch_t errstr_26[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 'f', 'u', 's', 'e', 'd', '\0' };
|
||||||
static hio_ooch_t errstr_27[] = {'n', 'o', ' ', 'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y', '\0' };
|
static hio_ooch_t errstr_27[] = {'c', 'o', 'n', 'n', 'e', 'c', 't', 'i', 'o', 'n', ' ', 'r', 'e', 's', 'e', 't', '\0' };
|
||||||
static hio_ooch_t errstr_28[] = {'t', 'i', 'm', 'e', 'd', ' ', 'o', 'u', 't', '\0' };
|
static hio_ooch_t errstr_28[] = {'n', 'o', ' ', 'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y', '\0' };
|
||||||
static hio_ooch_t errstr_29[] = {'n', 'o', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
|
static hio_ooch_t errstr_29[] = {'t', 'i', 'm', 'e', 'd', ' ', 'o', 'u', 't', '\0' };
|
||||||
static hio_ooch_t errstr_30[] = {'u', 'n', 'a', 'b', 'l', 'e', ' ', 't', 'o', ' ', 'm', 'a', 'k', 'e', ' ', 'd', 'e', 'v', 'i', 'c', 'e', '\0' };
|
static hio_ooch_t errstr_30[] = {'n', 'o', ' ', 'r', 'e', 's', 'p', 'o', 'n', 's', 'e', '\0' };
|
||||||
static hio_ooch_t errstr_31[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
static hio_ooch_t errstr_31[] = {'u', 'n', 'a', 'b', 'l', 'e', ' ', 't', 'o', ' ', 'm', 'a', 'k', 'e', ' ', 'd', 'e', 'v', 'i', 'c', 'e', '\0' };
|
||||||
static hio_ooch_t errstr_32[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'h', 'a', 'n', 'g', '-', 'u', 'p', '\0' };
|
static hio_ooch_t errstr_32[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'e', 'r', 'r', 'o', 'r', '\0' };
|
||||||
|
static hio_ooch_t errstr_33[] = {'d', 'e', 'v', 'i', 'c', 'e', ' ', 'h', 'a', 'n', 'g', '-', 'u', 'p', '\0' };
|
||||||
static hio_ooch_t* errstr[] =
|
static hio_ooch_t* errstr[] =
|
||||||
{
|
{
|
||||||
errstr_0, errstr_1, errstr_2, errstr_3, errstr_4,
|
errstr_0, errstr_1, errstr_2, errstr_3, errstr_4,
|
||||||
@ -66,7 +67,7 @@ static hio_ooch_t* errstr[] =
|
|||||||
errstr_15, errstr_16, errstr_17, errstr_18, errstr_19,
|
errstr_15, errstr_16, errstr_17, errstr_18, errstr_19,
|
||||||
errstr_20, errstr_21, errstr_22, errstr_23, errstr_24,
|
errstr_20, errstr_21, errstr_22, errstr_23, errstr_24,
|
||||||
errstr_25, errstr_26, errstr_27, errstr_28, errstr_29,
|
errstr_25, errstr_26, errstr_27, errstr_28, errstr_29,
|
||||||
errstr_30, errstr_31, errstr_32
|
errstr_30, errstr_31, errstr_32, errstr_33
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
293
lib/hio-fio.h
293
lib/hio-fio.h
@ -1,293 +0,0 @@
|
|||||||
/*
|
|
||||||
Copyright (c) 2016-2020 Chung, Hyung-Hwan. All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
|
||||||
modification, are permitted provided that the following conditions
|
|
||||||
are met:
|
|
||||||
1. Redistributions of source code must retain the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer.
|
|
||||||
2. Redistributions in binary form must reproduce the above copyright
|
|
||||||
notice, this list of conditions and the following disclaimer in the
|
|
||||||
documentation and/or other materials provided with the distribution.
|
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR
|
|
||||||
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
|
||||||
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
|
||||||
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
||||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
||||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _HIO_FIO_H_
|
|
||||||
#define _HIO_FIO_H_
|
|
||||||
|
|
||||||
#include <hio-cmn.h>
|
|
||||||
|
|
||||||
enum hio_fio_flag_t
|
|
||||||
{
|
|
||||||
/* (1 << 0) to (1 << 7) reserved for hio_sio_flag_t.
|
|
||||||
* see <hio/cmn/sio.h>. nerver use this value. */
|
|
||||||
HIO_FIO_RESERVED = 0xFF,
|
|
||||||
|
|
||||||
/** treat the file name pointer as a handle pointer */
|
|
||||||
HIO_FIO_HANDLE = (1 << 8),
|
|
||||||
|
|
||||||
/** treat the file name pointer as a pointer to file name
|
|
||||||
* template to use when making a temporary file name */
|
|
||||||
HIO_FIO_TEMPORARY = (1 << 9),
|
|
||||||
|
|
||||||
/** don't close an I/O handle in hio_fio_fini() and hio_fio_close() */
|
|
||||||
HIO_FIO_NOCLOSE = (1 << 10),
|
|
||||||
|
|
||||||
/** treat the path name as a multi-byte string */
|
|
||||||
HIO_FIO_BCSTRPATH = (1 << 11),
|
|
||||||
|
|
||||||
/* normal open flags */
|
|
||||||
HIO_FIO_READ = (1 << 14),
|
|
||||||
HIO_FIO_WRITE = (1 << 15),
|
|
||||||
HIO_FIO_APPEND = (1 << 16),
|
|
||||||
|
|
||||||
HIO_FIO_CREATE = (1 << 17),
|
|
||||||
HIO_FIO_TRUNCATE = (1 << 18),
|
|
||||||
HIO_FIO_EXCLUSIVE = (1 << 19),
|
|
||||||
HIO_FIO_SYNC = (1 << 20),
|
|
||||||
|
|
||||||
/* do not follow a symbolic link, only on a supported platform */
|
|
||||||
HIO_FIO_NOFOLLOW = (1 << 23),
|
|
||||||
|
|
||||||
/* for WIN32 only. harmless(no effect) when used on other platforms */
|
|
||||||
HIO_FIO_NOSHREAD = (1 << 24),
|
|
||||||
HIO_FIO_NOSHWRITE = (1 << 25),
|
|
||||||
HIO_FIO_NOSHDELETE = (1 << 26),
|
|
||||||
|
|
||||||
/* hints to OS. harmless(no effect) when used on unsupported platforms */
|
|
||||||
HIO_FIO_RANDOM = (1 << 27), /* hint that access be random */
|
|
||||||
HIO_FIO_SEQUENTIAL = (1 << 28) /* hint that access is sequential */
|
|
||||||
};
|
|
||||||
|
|
||||||
enum hio_fio_std_t
|
|
||||||
{
|
|
||||||
HIO_FIO_STDIN = 0,
|
|
||||||
HIO_FIO_STDOUT = 1,
|
|
||||||
HIO_FIO_STDERR = 2
|
|
||||||
};
|
|
||||||
typedef enum hio_fio_std_t hio_fio_std_t;
|
|
||||||
|
|
||||||
/* seek origin */
|
|
||||||
enum hio_fio_ori_t
|
|
||||||
{
|
|
||||||
HIO_FIO_BEGIN = 0,
|
|
||||||
HIO_FIO_CURRENT = 1,
|
|
||||||
HIO_FIO_END = 2
|
|
||||||
};
|
|
||||||
/* file origin for seek */
|
|
||||||
typedef enum hio_fio_ori_t hio_fio_ori_t;
|
|
||||||
|
|
||||||
enum hio_fio_mode_t
|
|
||||||
{
|
|
||||||
HIO_FIO_SUID = 04000, /* set UID */
|
|
||||||
HIO_FIO_SGID = 02000, /* set GID */
|
|
||||||
HIO_FIO_SVTX = 01000, /* sticky bit */
|
|
||||||
HIO_FIO_RUSR = 00400, /* can be read by owner */
|
|
||||||
HIO_FIO_WUSR = 00200, /* can be written by owner */
|
|
||||||
HIO_FIO_XUSR = 00100, /* can be executed by owner */
|
|
||||||
HIO_FIO_RGRP = 00040, /* can be read by group */
|
|
||||||
HIO_FIO_WGRP = 00020, /* can be written by group */
|
|
||||||
HIO_FIO_XGRP = 00010, /* can be executed by group */
|
|
||||||
HIO_FIO_ROTH = 00004, /* can be read by others */
|
|
||||||
HIO_FIO_WOTH = 00002, /* can be written by others */
|
|
||||||
HIO_FIO_XOTH = 00001 /* can be executed by others */
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(_WIN32)
|
|
||||||
/* <winnt.h> => typedef PVOID HANDLE; */
|
|
||||||
typedef void* hio_fio_hnd_t;
|
|
||||||
#elif defined(__OS2__)
|
|
||||||
/* <os2def.h> => typedef LHANDLE HFILE;
|
|
||||||
typedef unsigned long LHANDLE; */
|
|
||||||
typedef unsigned long hio_fio_hnd_t;
|
|
||||||
#elif defined(__DOS__)
|
|
||||||
typedef int hio_fio_hnd_t;
|
|
||||||
#elif defined(vms) || defined(__vms)
|
|
||||||
typedef void* hio_fio_hnd_t; /* struct FAB*, struct RAB* */
|
|
||||||
#else
|
|
||||||
typedef int hio_fio_hnd_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* file offset */
|
|
||||||
typedef hio_foff_t hio_fio_off_t;
|
|
||||||
|
|
||||||
typedef struct hio_fio_t hio_fio_t;
|
|
||||||
typedef struct hio_fio_lck_t hio_fio_lck_t;
|
|
||||||
|
|
||||||
struct hio_fio_t
|
|
||||||
{
|
|
||||||
hio_t* gem;
|
|
||||||
hio_fio_hnd_t handle;
|
|
||||||
int status;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct hio_fio_lck_t
|
|
||||||
{
|
|
||||||
int type; /* READ, WRITE */
|
|
||||||
hio_fio_off_t offset; /* starting offset */
|
|
||||||
hio_fio_off_t length; /* length */
|
|
||||||
hio_fio_ori_t origin; /* origin */
|
|
||||||
};
|
|
||||||
|
|
||||||
#define HIO_FIO_HANDLE(fio) ((fio)->handle)
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_open() function opens a file.
|
|
||||||
* To open a file, you should set the flags with at least one of
|
|
||||||
* HIO_FIO_READ, HIO_FIO_WRITE, HIO_FIO_APPEND.
|
|
||||||
*
|
|
||||||
* If the #HIO_FIO_HANDLE flag is set, the \a path parameter is interpreted
|
|
||||||
* as a pointer to hio_fio_hnd_t.
|
|
||||||
*
|
|
||||||
* If the #HIO_FIO_TEMPORARY flag is set, the \a path parameter is
|
|
||||||
* interpreted as a path name template and an actual file name to open
|
|
||||||
* is internally generated using the template. The \a path parameter
|
|
||||||
* is filled with the last actual path name attempted when the function
|
|
||||||
* returns. So, you must not pass a constant string to the \a path
|
|
||||||
* parameter when #HIO_FIO_TEMPORARY is set.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT hio_fio_t* hio_fio_open (
|
|
||||||
hio_gem_t* gem,
|
|
||||||
hio_oow_t xtnsize,
|
|
||||||
const hio_ooch_t* path,
|
|
||||||
int flags,
|
|
||||||
int mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_close() function closes a file.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT void hio_fio_close (
|
|
||||||
hio_fio_t* fio
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_close() function opens a file into \a fio.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT int hio_fio_init (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
hio_gem_t* gem,
|
|
||||||
const hio_ooch_t* path,
|
|
||||||
int flags,
|
|
||||||
int mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_close() function finalizes a file by closing the handle
|
|
||||||
* stored in @a fio.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT void hio_fio_fini (
|
|
||||||
hio_fio_t* fio
|
|
||||||
);
|
|
||||||
|
|
||||||
#if defined(HIO_HAVE_INLINE)
|
|
||||||
static HIO_INLINE void* hio_fio_getxtn (hio_fio_t* fio) { return (void*)(fio + 1); }
|
|
||||||
#else
|
|
||||||
#define hio_fio_getxtn(fio) ((void*)((hio_fio_t*)(fio) + 1))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_gethnd() function returns the native file handle.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT hio_fio_hnd_t hio_fio_gethnd (
|
|
||||||
const hio_fio_t* fio
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_seek() function changes the current file position.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT hio_fio_off_t hio_fio_seek (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
hio_fio_off_t offset,
|
|
||||||
hio_fio_ori_t origin
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_truncate() function truncates a file to @a size.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT int hio_fio_truncate (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
hio_fio_off_t size
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_read() function reads data.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT hio_ooi_t hio_fio_read (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
void* buf,
|
|
||||||
hio_oow_t size
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_write() function writes data.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT hio_ooi_t hio_fio_write (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
const void* data,
|
|
||||||
hio_oow_t size
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_chmod() function changes the file mode.
|
|
||||||
*
|
|
||||||
* \note
|
|
||||||
* On _WIN32, this function is implemented on the best-effort basis and
|
|
||||||
* returns an error on the following conditions:
|
|
||||||
* - The file size is 0.
|
|
||||||
* - The file is opened without #HIO_FIO_READ.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT int hio_fio_chmod (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
int mode
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_fio_sync() function synchronizes file contents into storage media
|
|
||||||
* It is useful in determining the media error, without which hio_fio_close()
|
|
||||||
* may succeed despite such an error.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT int hio_fio_sync (
|
|
||||||
hio_fio_t* fio
|
|
||||||
);
|
|
||||||
|
|
||||||
HIO_EXPORT int hio_fio_lock (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
hio_fio_lck_t* lck,
|
|
||||||
int flags
|
|
||||||
);
|
|
||||||
|
|
||||||
HIO_EXPORT int hio_fio_unlock (
|
|
||||||
hio_fio_t* fio,
|
|
||||||
hio_fio_lck_t* lck,
|
|
||||||
int flags
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The hio_get_std_fio_handle() returns a low-level system handle to
|
|
||||||
* commonly used I/O channels.
|
|
||||||
*/
|
|
||||||
HIO_EXPORT int hio_get_std_fio_handle (
|
|
||||||
hio_fio_std_t std,
|
|
||||||
hio_fio_hnd_t* hnd
|
|
||||||
);
|
|
||||||
|
|
||||||
#if defined(__cplusplus)
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -84,6 +84,7 @@ enum hio_errnum_t
|
|||||||
HIO_EBUSY, /**< system busy */
|
HIO_EBUSY, /**< system busy */
|
||||||
HIO_EACCES, /**< access denied */
|
HIO_EACCES, /**< access denied */
|
||||||
HIO_EPERM, /**< operation not permitted */
|
HIO_EPERM, /**< operation not permitted */
|
||||||
|
HIO_EISDIR, /**< is directory */
|
||||||
HIO_ENOTDIR, /**< not directory */
|
HIO_ENOTDIR, /**< not directory */
|
||||||
HIO_EINTR, /**< interrupted */
|
HIO_EINTR, /**< interrupted */
|
||||||
HIO_EPIPE, /**< pipe error */
|
HIO_EPIPE, /**< pipe error */
|
||||||
|
@ -41,6 +41,9 @@ static hio_errnum_t errno_to_errnum (int errcode)
|
|||||||
#if defined(EPERM)
|
#if defined(EPERM)
|
||||||
case EPERM: return HIO_EPERM;
|
case EPERM: return HIO_EPERM;
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(EISDIR)
|
||||||
|
case EISDIR: return HIO_EISDIR;
|
||||||
|
#endif
|
||||||
#if defined(ENOTDIR)
|
#if defined(ENOTDIR)
|
||||||
case ENOTDIR: return HIO_ENOTDIR;
|
case ENOTDIR: return HIO_ENOTDIR;
|
||||||
#endif
|
#endif
|
||||||
|
42
lib/tar.c
42
lib/tar.c
@ -1,9 +1,11 @@
|
|||||||
#include <hio-tar.h>
|
#include <hio-tar.h>
|
||||||
#include <hio-utl.h>
|
#include <hio-utl.h>
|
||||||
#include <hio-prv.h>
|
#include <hio-prv.h>
|
||||||
#include <stdio.h>
|
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
static hio_uint8_t _end_block[HIO_TAR_BLKSIZE] = { 0, };
|
static hio_uint8_t _end_block[HIO_TAR_BLKSIZE] = { 0, };
|
||||||
|
|
||||||
@ -247,18 +249,31 @@ static int process_header (hio_tar_t* tar)
|
|||||||
tar->hi.filesize = hio_bchars_to_uintmax(hdr->size, HIO_COUNTOF(hdr->size), HIO_BCHARS_TO_UINTMAX_MAKE_OPTION(0,0,0,8), &endptr, &is_sober);
|
tar->hi.filesize = hio_bchars_to_uintmax(hdr->size, HIO_COUNTOF(hdr->size), HIO_BCHARS_TO_UINTMAX_MAKE_OPTION(0,0,0,8), &endptr, &is_sober);
|
||||||
//mode = hio_bchars_to_uintmax(hdr->mode, HIO_COUNTOF(hdr->mode), HIO_BCHARS_TO_UINTMAX_MAKE_OPTION(0,0,0,8), &endptr, &is_sober);
|
//mode = hio_bchars_to_uintmax(hdr->mode, HIO_COUNTOF(hdr->mode), HIO_BCHARS_TO_UINTMAX_MAKE_OPTION(0,0,0,8), &endptr, &is_sober);
|
||||||
|
|
||||||
|
|
||||||
if (tar->hi.filesize > 0)
|
if (tar->hi.filesize > 0)
|
||||||
{
|
{
|
||||||
|
FILE* fp;
|
||||||
tar->state = HIO_TAR_STATE_FILE;
|
tar->state = HIO_TAR_STATE_FILE;
|
||||||
|
|
||||||
/* open here? */
|
/* open here? */
|
||||||
/* COMPOSE an actual file name...
|
/*TODO: hdr->prefix + hdr->name */
|
||||||
hdr->prefix + hdr->name
|
|
||||||
fp = fopen(hdr->name, "w");
|
fp = fopen(hdr->name, "w");
|
||||||
}
|
if (!fp)
|
||||||
else
|
|
||||||
{
|
{
|
||||||
/* empty file? just create an empty file here??? */
|
hio_seterrwithsyserr (tar->hio, 0, errno);
|
||||||
/* open ... close or just create */
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
tar->hi.fp = fp;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (tar->hi.filesize <= 0)
|
||||||
|
{
|
||||||
|
if (tar->hi.fp)
|
||||||
|
{
|
||||||
|
fclose (tar->hi.fp);
|
||||||
|
tar->hi.fp = HIO_NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,18 +290,23 @@ static int process_content (hio_tar_t* tar)
|
|||||||
|
|
||||||
chunksize = tar->hi.filesize < tar->blk.len? tar->hi.filesize: tar->blk.len;
|
chunksize = tar->hi.filesize < tar->blk.len? tar->hi.filesize: tar->blk.len;
|
||||||
|
|
||||||
#if 0
|
/* TODO: error check */
|
||||||
write callback(tar->hi.).. tar->blk.buf, tar->blk.len);
|
fwrite (tar->blk.buf, 1, chunksize, tar->hi.fp);
|
||||||
#endif
|
|
||||||
|
|
||||||
tar->hi.filesize -= chunksize;
|
tar->hi.filesize -= chunksize;
|
||||||
if (tar->hi.filesize <= 0)
|
if (tar->hi.filesize <= 0)
|
||||||
{
|
{
|
||||||
/* end of file */
|
/* end of file */
|
||||||
/* close file??? also close if there is an exception or error??? */
|
if (tar->hi.fp)
|
||||||
|
{
|
||||||
|
fclose (tar->hi.fp);
|
||||||
|
tar->hi.fp = HIO_NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int hio_tar_feed (hio_tar_t* tar, const void* ptr, hio_oow_t len)
|
int hio_tar_feed (hio_tar_t* tar, const void* ptr, hio_oow_t len)
|
||||||
{
|
{
|
||||||
if (!ptr)
|
if (!ptr)
|
||||||
|
Loading…
Reference in New Issue
Block a user