did more migrating works
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
static const qse_char_t* script = QSE_T("BEGIN { print \"hello, world\"; }");
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include "awk00.h"
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/path.h>
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/path.h>
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
const qse_char_t* src = QSE_T("BEGIN { print \"hello, world\" | \"dir\"; }");
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
/* this sample produces 8 text files containing multiplication chart. */
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <qse/awk/awk.h>
|
||||
#include <qse/awk/stdawk.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
static const qse_char_t* src = QSE_T(
|
||||
"BEGIN {"
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/StdAwk.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <string>
|
||||
|
||||
#if defined(QSE_CHAR_IS_WCHAR)
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <qse/awk/StdAwk.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <string>
|
||||
|
||||
#if defined(QSE_CHAR_IS_WCHAR)
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/awk/StdAwk.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
#include <qse/cmn/opt.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <cstring>
|
||||
|
||||
#include <locale.h>
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/awk/StdAwk.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/awk/StdAwk.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/awk/StdAwk.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/str.h>
|
||||
|
@ -8,43 +8,34 @@ AM_CPPFLAGS = \
|
||||
|
||||
bin_PROGRAMS = \
|
||||
chr01 \
|
||||
dir01 \
|
||||
dll \
|
||||
env01 \
|
||||
fma \
|
||||
fmt01 \
|
||||
fmt02 \
|
||||
fs01 \
|
||||
fs02 \
|
||||
fs03 \
|
||||
htb01 \
|
||||
glob01 \
|
||||
ipad01 \
|
||||
lda \
|
||||
main01 \
|
||||
main02 \
|
||||
mbwc01 \
|
||||
mbwc02 \
|
||||
nwad01 \
|
||||
nwif01 \
|
||||
nwif02 \
|
||||
oht \
|
||||
path01 \
|
||||
pio \
|
||||
pma \
|
||||
rex01 \
|
||||
rbt01 \
|
||||
sll \
|
||||
slmb01 \
|
||||
str01 \
|
||||
task01 \
|
||||
str02 \
|
||||
time \
|
||||
tre01 \
|
||||
uri01 \
|
||||
xma
|
||||
|
||||
AM_LDFLAGS = -L../../lib/cmn
|
||||
LDADD = -lqsecmn
|
||||
AM_LDFLAGS = -L../../lib/si -L../../lib/cmn
|
||||
LDADD = -lqsesi -lqsecmn
|
||||
|
||||
if WIN32
|
||||
if WCHAR
|
||||
@ -58,8 +49,6 @@ dll_SOURCES = dll.c
|
||||
fma_SOURCES = fma.c
|
||||
fmt01_SOURCES = fmt01.c
|
||||
fmt02_SOURCES = fmt02.c
|
||||
fs01_SOURCES = fs01.c
|
||||
glob01_SOURCES = glob01.c
|
||||
htb01_SOURCES = htb01.c
|
||||
ipad01_SOURCES = ipad01.c
|
||||
lda_SOURCES = lda.c
|
||||
@ -67,10 +56,8 @@ main01_SOURCES = main01.c
|
||||
main02_SOURCES = main02.c
|
||||
mbwc01_SOURCES = mbwc01.c
|
||||
mbwc02_SOURCES = mbwc02.c
|
||||
nwad01_SOURCES = nwad01.c
|
||||
oht_SOURCES = oht.c
|
||||
path01_SOURCES = path01.c
|
||||
pio_SOURCES = pio.c
|
||||
pma_SOURCES = pma.c
|
||||
rex01_SOURCES = rex01.c
|
||||
rbt01_SOURCES = rbt01.c
|
||||
|
@ -78,16 +78,13 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = chr01$(EXEEXT) dir01$(EXEEXT) dll$(EXEEXT) \
|
||||
env01$(EXEEXT) fma$(EXEEXT) fmt01$(EXEEXT) fmt02$(EXEEXT) \
|
||||
fs01$(EXEEXT) fs02$(EXEEXT) fs03$(EXEEXT) htb01$(EXEEXT) \
|
||||
glob01$(EXEEXT) ipad01$(EXEEXT) lda$(EXEEXT) main01$(EXEEXT) \
|
||||
main02$(EXEEXT) mbwc01$(EXEEXT) mbwc02$(EXEEXT) \
|
||||
nwad01$(EXEEXT) nwif01$(EXEEXT) nwif02$(EXEEXT) oht$(EXEEXT) \
|
||||
path01$(EXEEXT) pio$(EXEEXT) pma$(EXEEXT) rex01$(EXEEXT) \
|
||||
rbt01$(EXEEXT) sll$(EXEEXT) slmb01$(EXEEXT) str01$(EXEEXT) \
|
||||
task01$(EXEEXT) time$(EXEEXT) tre01$(EXEEXT) uri01$(EXEEXT) \
|
||||
xma$(EXEEXT) $(am__EXEEXT_1)
|
||||
bin_PROGRAMS = chr01$(EXEEXT) dll$(EXEEXT) env01$(EXEEXT) fma$(EXEEXT) \
|
||||
fmt01$(EXEEXT) fmt02$(EXEEXT) htb01$(EXEEXT) ipad01$(EXEEXT) \
|
||||
lda$(EXEEXT) main01$(EXEEXT) main02$(EXEEXT) mbwc01$(EXEEXT) \
|
||||
mbwc02$(EXEEXT) oht$(EXEEXT) path01$(EXEEXT) pma$(EXEEXT) \
|
||||
rex01$(EXEEXT) rbt01$(EXEEXT) sll$(EXEEXT) slmb01$(EXEEXT) \
|
||||
str01$(EXEEXT) str02$(EXEEXT) time$(EXEEXT) tre01$(EXEEXT) \
|
||||
uri01$(EXEEXT) xma$(EXEEXT) $(am__EXEEXT_1)
|
||||
@WCHAR_TRUE@@WIN32_TRUE@am__append_1 = $(UNICOWS_LIBS)
|
||||
|
||||
#bin_PROGRAMS += rex02
|
||||
@ -146,10 +143,6 @@ am_chr01_OBJECTS = chr01.$(OBJEXT)
|
||||
chr01_OBJECTS = $(am_chr01_OBJECTS)
|
||||
chr01_LDADD = $(LDADD)
|
||||
chr01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
dir01_SOURCES = dir01.c
|
||||
dir01_OBJECTS = dir01.$(OBJEXT)
|
||||
dir01_LDADD = $(LDADD)
|
||||
dir01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_dll_OBJECTS = dll.$(OBJEXT)
|
||||
dll_OBJECTS = $(am_dll_OBJECTS)
|
||||
dll_LDADD = $(LDADD)
|
||||
@ -170,22 +163,6 @@ am_fmt02_OBJECTS = fmt02.$(OBJEXT)
|
||||
fmt02_OBJECTS = $(am_fmt02_OBJECTS)
|
||||
fmt02_LDADD = $(LDADD)
|
||||
fmt02_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_fs01_OBJECTS = fs01.$(OBJEXT)
|
||||
fs01_OBJECTS = $(am_fs01_OBJECTS)
|
||||
fs01_LDADD = $(LDADD)
|
||||
fs01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
fs02_SOURCES = fs02.c
|
||||
fs02_OBJECTS = fs02.$(OBJEXT)
|
||||
fs02_LDADD = $(LDADD)
|
||||
fs02_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
fs03_SOURCES = fs03.c
|
||||
fs03_OBJECTS = fs03.$(OBJEXT)
|
||||
fs03_LDADD = $(LDADD)
|
||||
fs03_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_glob01_OBJECTS = glob01.$(OBJEXT)
|
||||
glob01_OBJECTS = $(am_glob01_OBJECTS)
|
||||
glob01_LDADD = $(LDADD)
|
||||
glob01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am__hl01_SOURCES_DIST = hl01.cpp
|
||||
@ENABLE_CXX_TRUE@am_hl01_OBJECTS = hl01.$(OBJEXT)
|
||||
hl01_OBJECTS = $(am_hl01_OBJECTS)
|
||||
@ -222,18 +199,6 @@ am_mbwc02_OBJECTS = mbwc02.$(OBJEXT)
|
||||
mbwc02_OBJECTS = $(am_mbwc02_OBJECTS)
|
||||
mbwc02_LDADD = $(LDADD)
|
||||
mbwc02_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_nwad01_OBJECTS = nwad01.$(OBJEXT)
|
||||
nwad01_OBJECTS = $(am_nwad01_OBJECTS)
|
||||
nwad01_LDADD = $(LDADD)
|
||||
nwad01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
nwif01_SOURCES = nwif01.c
|
||||
nwif01_OBJECTS = nwif01.$(OBJEXT)
|
||||
nwif01_LDADD = $(LDADD)
|
||||
nwif01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
nwif02_SOURCES = nwif02.c
|
||||
nwif02_OBJECTS = nwif02.$(OBJEXT)
|
||||
nwif02_LDADD = $(LDADD)
|
||||
nwif02_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_oht_OBJECTS = oht.$(OBJEXT)
|
||||
oht_OBJECTS = $(am_oht_OBJECTS)
|
||||
oht_LDADD = $(LDADD)
|
||||
@ -242,10 +207,6 @@ am_path01_OBJECTS = path01.$(OBJEXT)
|
||||
path01_OBJECTS = $(am_path01_OBJECTS)
|
||||
path01_LDADD = $(LDADD)
|
||||
path01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_pio_OBJECTS = pio.$(OBJEXT)
|
||||
pio_OBJECTS = $(am_pio_OBJECTS)
|
||||
pio_LDADD = $(LDADD)
|
||||
pio_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_pma_OBJECTS = pma.$(OBJEXT)
|
||||
pma_OBJECTS = $(am_pma_OBJECTS)
|
||||
pma_LDADD = $(LDADD)
|
||||
@ -290,10 +251,6 @@ am__str02_SOURCES_DIST = str02.cpp
|
||||
@ENABLE_CXX_TRUE@am_str02_OBJECTS = str02.$(OBJEXT)
|
||||
str02_OBJECTS = $(am_str02_OBJECTS)
|
||||
@ENABLE_CXX_TRUE@str02_DEPENDENCIES = $(am__DEPENDENCIES_3)
|
||||
task01_SOURCES = task01.c
|
||||
task01_OBJECTS = task01.$(OBJEXT)
|
||||
task01_LDADD = $(LDADD)
|
||||
task01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||
am_time_OBJECTS = time.$(OBJEXT)
|
||||
time_OBJECTS = $(am_time_OBJECTS)
|
||||
time_LDADD = $(LDADD)
|
||||
@ -363,35 +320,31 @@ am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
|
||||
am__v_CXXLD_0 = @echo " CXXLD " $@;
|
||||
am__v_CXXLD_1 =
|
||||
SOURCES = $(arr01_SOURCES) $(arr02_SOURCES) $(bh01_SOURCES) \
|
||||
$(bh02_SOURCES) $(chr01_SOURCES) dir01.c $(dll_SOURCES) \
|
||||
$(bh02_SOURCES) $(chr01_SOURCES) $(dll_SOURCES) \
|
||||
$(env01_SOURCES) $(fma_SOURCES) $(fmt01_SOURCES) \
|
||||
$(fmt02_SOURCES) $(fs01_SOURCES) fs02.c fs03.c \
|
||||
$(glob01_SOURCES) $(hl01_SOURCES) $(htb01_SOURCES) \
|
||||
$(fmt02_SOURCES) $(hl01_SOURCES) $(htb01_SOURCES) \
|
||||
$(htb02_SOURCES) $(ipad01_SOURCES) $(lda_SOURCES) \
|
||||
$(main01_SOURCES) $(main02_SOURCES) $(mbwc01_SOURCES) \
|
||||
$(mbwc02_SOURCES) $(nwad01_SOURCES) nwif01.c nwif02.c \
|
||||
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
||||
$(rbt01_SOURCES) $(rbt02_SOURCES) $(rbt03_SOURCES) \
|
||||
$(rex01_SOURCES) $(sll_SOURCES) $(slmb01_SOURCES) \
|
||||
$(sp01_SOURCES) $(sp02_SOURCES) $(str01_SOURCES) \
|
||||
$(str02_SOURCES) task01.c $(time_SOURCES) $(tre01_SOURCES) \
|
||||
uri01.c $(xma_SOURCES)
|
||||
$(mbwc02_SOURCES) $(oht_SOURCES) $(path01_SOURCES) \
|
||||
$(pma_SOURCES) $(rbt01_SOURCES) $(rbt02_SOURCES) \
|
||||
$(rbt03_SOURCES) $(rex01_SOURCES) $(sll_SOURCES) \
|
||||
$(slmb01_SOURCES) $(sp01_SOURCES) $(sp02_SOURCES) \
|
||||
$(str01_SOURCES) $(str02_SOURCES) $(time_SOURCES) \
|
||||
$(tre01_SOURCES) uri01.c $(xma_SOURCES)
|
||||
DIST_SOURCES = $(am__arr01_SOURCES_DIST) $(am__arr02_SOURCES_DIST) \
|
||||
$(am__bh01_SOURCES_DIST) $(am__bh02_SOURCES_DIST) \
|
||||
$(chr01_SOURCES) dir01.c $(dll_SOURCES) $(env01_SOURCES) \
|
||||
$(chr01_SOURCES) $(dll_SOURCES) $(env01_SOURCES) \
|
||||
$(fma_SOURCES) $(fmt01_SOURCES) $(fmt02_SOURCES) \
|
||||
$(fs01_SOURCES) fs02.c fs03.c $(glob01_SOURCES) \
|
||||
$(am__hl01_SOURCES_DIST) $(htb01_SOURCES) \
|
||||
$(am__htb02_SOURCES_DIST) $(ipad01_SOURCES) $(lda_SOURCES) \
|
||||
$(main01_SOURCES) $(main02_SOURCES) $(mbwc01_SOURCES) \
|
||||
$(mbwc02_SOURCES) $(nwad01_SOURCES) nwif01.c nwif02.c \
|
||||
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
||||
$(rbt01_SOURCES) $(am__rbt02_SOURCES_DIST) \
|
||||
$(mbwc02_SOURCES) $(oht_SOURCES) $(path01_SOURCES) \
|
||||
$(pma_SOURCES) $(rbt01_SOURCES) $(am__rbt02_SOURCES_DIST) \
|
||||
$(am__rbt03_SOURCES_DIST) $(rex01_SOURCES) $(sll_SOURCES) \
|
||||
$(slmb01_SOURCES) $(am__sp01_SOURCES_DIST) \
|
||||
$(am__sp02_SOURCES_DIST) $(str01_SOURCES) \
|
||||
$(am__str02_SOURCES_DIST) task01.c $(time_SOURCES) \
|
||||
$(tre01_SOURCES) uri01.c $(xma_SOURCES)
|
||||
$(am__str02_SOURCES_DIST) $(time_SOURCES) $(tre01_SOURCES) \
|
||||
uri01.c $(xma_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
@ -598,16 +551,14 @@ AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(includedir)
|
||||
|
||||
AM_LDFLAGS = -L../../lib/cmn
|
||||
LDADD = -lqsecmn $(am__append_1)
|
||||
AM_LDFLAGS = -L../../lib/si -L../../lib/cmn
|
||||
LDADD = -lqsesi -lqsecmn $(am__append_1)
|
||||
chr01_SOURCES = chr01.c
|
||||
env01_SOURCES = env01.c
|
||||
dll_SOURCES = dll.c
|
||||
fma_SOURCES = fma.c
|
||||
fmt01_SOURCES = fmt01.c
|
||||
fmt02_SOURCES = fmt02.c
|
||||
fs01_SOURCES = fs01.c
|
||||
glob01_SOURCES = glob01.c
|
||||
htb01_SOURCES = htb01.c
|
||||
ipad01_SOURCES = ipad01.c
|
||||
lda_SOURCES = lda.c
|
||||
@ -615,10 +566,8 @@ main01_SOURCES = main01.c
|
||||
main02_SOURCES = main02.c
|
||||
mbwc01_SOURCES = mbwc01.c
|
||||
mbwc02_SOURCES = mbwc02.c
|
||||
nwad01_SOURCES = nwad01.c
|
||||
oht_SOURCES = oht.c
|
||||
path01_SOURCES = path01.c
|
||||
pio_SOURCES = pio.c
|
||||
pma_SOURCES = pma.c
|
||||
rex01_SOURCES = rex01.c
|
||||
rbt01_SOURCES = rbt01.c
|
||||
@ -754,10 +703,6 @@ chr01$(EXEEXT): $(chr01_OBJECTS) $(chr01_DEPENDENCIES) $(EXTRA_chr01_DEPENDENCIE
|
||||
@rm -f chr01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(chr01_OBJECTS) $(chr01_LDADD) $(LIBS)
|
||||
|
||||
dir01$(EXEEXT): $(dir01_OBJECTS) $(dir01_DEPENDENCIES) $(EXTRA_dir01_DEPENDENCIES)
|
||||
@rm -f dir01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(dir01_OBJECTS) $(dir01_LDADD) $(LIBS)
|
||||
|
||||
dll$(EXEEXT): $(dll_OBJECTS) $(dll_DEPENDENCIES) $(EXTRA_dll_DEPENDENCIES)
|
||||
@rm -f dll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(dll_OBJECTS) $(dll_LDADD) $(LIBS)
|
||||
@ -778,22 +723,6 @@ fmt02$(EXEEXT): $(fmt02_OBJECTS) $(fmt02_DEPENDENCIES) $(EXTRA_fmt02_DEPENDENCIE
|
||||
@rm -f fmt02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fmt02_OBJECTS) $(fmt02_LDADD) $(LIBS)
|
||||
|
||||
fs01$(EXEEXT): $(fs01_OBJECTS) $(fs01_DEPENDENCIES) $(EXTRA_fs01_DEPENDENCIES)
|
||||
@rm -f fs01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs01_OBJECTS) $(fs01_LDADD) $(LIBS)
|
||||
|
||||
fs02$(EXEEXT): $(fs02_OBJECTS) $(fs02_DEPENDENCIES) $(EXTRA_fs02_DEPENDENCIES)
|
||||
@rm -f fs02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs02_OBJECTS) $(fs02_LDADD) $(LIBS)
|
||||
|
||||
fs03$(EXEEXT): $(fs03_OBJECTS) $(fs03_DEPENDENCIES) $(EXTRA_fs03_DEPENDENCIES)
|
||||
@rm -f fs03$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs03_OBJECTS) $(fs03_LDADD) $(LIBS)
|
||||
|
||||
glob01$(EXEEXT): $(glob01_OBJECTS) $(glob01_DEPENDENCIES) $(EXTRA_glob01_DEPENDENCIES)
|
||||
@rm -f glob01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(glob01_OBJECTS) $(glob01_LDADD) $(LIBS)
|
||||
|
||||
hl01$(EXEEXT): $(hl01_OBJECTS) $(hl01_DEPENDENCIES) $(EXTRA_hl01_DEPENDENCIES)
|
||||
@rm -f hl01$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(hl01_OBJECTS) $(hl01_LDADD) $(LIBS)
|
||||
@ -830,18 +759,6 @@ mbwc02$(EXEEXT): $(mbwc02_OBJECTS) $(mbwc02_DEPENDENCIES) $(EXTRA_mbwc02_DEPENDE
|
||||
@rm -f mbwc02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(mbwc02_OBJECTS) $(mbwc02_LDADD) $(LIBS)
|
||||
|
||||
nwad01$(EXEEXT): $(nwad01_OBJECTS) $(nwad01_DEPENDENCIES) $(EXTRA_nwad01_DEPENDENCIES)
|
||||
@rm -f nwad01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(nwad01_OBJECTS) $(nwad01_LDADD) $(LIBS)
|
||||
|
||||
nwif01$(EXEEXT): $(nwif01_OBJECTS) $(nwif01_DEPENDENCIES) $(EXTRA_nwif01_DEPENDENCIES)
|
||||
@rm -f nwif01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(nwif01_OBJECTS) $(nwif01_LDADD) $(LIBS)
|
||||
|
||||
nwif02$(EXEEXT): $(nwif02_OBJECTS) $(nwif02_DEPENDENCIES) $(EXTRA_nwif02_DEPENDENCIES)
|
||||
@rm -f nwif02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(nwif02_OBJECTS) $(nwif02_LDADD) $(LIBS)
|
||||
|
||||
oht$(EXEEXT): $(oht_OBJECTS) $(oht_DEPENDENCIES) $(EXTRA_oht_DEPENDENCIES)
|
||||
@rm -f oht$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(oht_OBJECTS) $(oht_LDADD) $(LIBS)
|
||||
@ -850,10 +767,6 @@ path01$(EXEEXT): $(path01_OBJECTS) $(path01_DEPENDENCIES) $(EXTRA_path01_DEPENDE
|
||||
@rm -f path01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(path01_OBJECTS) $(path01_LDADD) $(LIBS)
|
||||
|
||||
pio$(EXEEXT): $(pio_OBJECTS) $(pio_DEPENDENCIES) $(EXTRA_pio_DEPENDENCIES)
|
||||
@rm -f pio$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(pio_OBJECTS) $(pio_LDADD) $(LIBS)
|
||||
|
||||
pma$(EXEEXT): $(pma_OBJECTS) $(pma_DEPENDENCIES) $(EXTRA_pma_DEPENDENCIES)
|
||||
@rm -f pma$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(pma_OBJECTS) $(pma_LDADD) $(LIBS)
|
||||
@ -898,10 +811,6 @@ str02$(EXEEXT): $(str02_OBJECTS) $(str02_DEPENDENCIES) $(EXTRA_str02_DEPENDENCIE
|
||||
@rm -f str02$(EXEEXT)
|
||||
$(AM_V_CXXLD)$(CXXLINK) $(str02_OBJECTS) $(str02_LDADD) $(LIBS)
|
||||
|
||||
task01$(EXEEXT): $(task01_OBJECTS) $(task01_DEPENDENCIES) $(EXTRA_task01_DEPENDENCIES)
|
||||
@rm -f task01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(task01_OBJECTS) $(task01_LDADD) $(LIBS)
|
||||
|
||||
time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES)
|
||||
@rm -f time$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
|
||||
@ -929,16 +838,11 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bh01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bh02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chr01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dll.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fma.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fmt01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fmt02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs03.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hl01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htb01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/htb02.Po@am__quote@
|
||||
@ -948,12 +852,8 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbwc01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mbwc02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwad01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwif01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwif02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/oht.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pma.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rbt01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rbt02.Po@am__quote@
|
||||
@ -965,7 +865,6 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sp02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/str01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/str02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/task01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tre01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri01.Po@am__quote@
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/cmn/chr.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/dll.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
|
||||
#define R(f) \
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/env.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#define R(f) \
|
||||
do { \
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fma.h>
|
||||
#include <qse/cmn/rbt.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#define R(f) \
|
||||
do { \
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fmt.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fmt.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include <qse/cmn/HeapMmgr.hpp>
|
||||
#include <qse/cmn/LinkedList.hpp>
|
||||
#include <qse/cmn/HashList.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
|
||||
class T
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include <qse/cmn/chr.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/htb.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#define R(f) \
|
||||
do { \
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include <qse/cmn/StdMmgr.hpp>
|
||||
#include <qse/cmn/HeapMmgr.hpp>
|
||||
#include <qse/cmn/HashTable.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <string>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/ipad.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/lda.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/oht.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
|
||||
#define R(f) \
|
||||
|
@ -3,7 +3,7 @@
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/cmn/pma.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#define R(f) \
|
||||
do { \
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/rbt.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include <qse/cmn/StdMmgr.hpp>
|
||||
#include <qse/cmn/HeapMmgr.hpp>
|
||||
#include <qse/cmn/RedBlackTable.hpp>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <string>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/path.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sll.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
|
||||
#define R(f) \
|
||||
|
@ -2,7 +2,7 @@
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#include <wchar.h>
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/String.hpp>
|
||||
#include <qse/cmn/HeapMmgr.hpp>
|
||||
#include <locale.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
*/
|
||||
|
||||
#include <qse/cmn/time.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <locale.h>
|
||||
|
||||
#include <sys/time.h>
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <qse/cmn/path.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/uri.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/cmn/xma.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#define R(f) \
|
||||
do { \
|
||||
|
@ -1,11 +1,11 @@
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
AiUTOMAKE_OPTIONS = nostdinc
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(includedir)
|
||||
|
||||
bin_PROGRAMS = httpd01 httpd02 upxd01
|
||||
bin_PROGRAMS = httpd01
|
||||
|
||||
AM_LDFLAGS = -L../../lib/cmn -L../../lib/http
|
||||
LDADD = -lqsehttp -lqsecmn $(PTHREAD_LIBS) $(SOCKET_LIBS) $(SENDFILE_LIBS)
|
||||
@ -17,8 +17,5 @@ endif
|
||||
endif
|
||||
|
||||
httpd01_SOURCES = httpd01.c
|
||||
httpd02_SOURCES = httpd02.c
|
||||
upxd01_SOURCES = upxd01.c
|
||||
|
||||
httpd01_LDADD = $(LDADD) $(SSL_LIBS)
|
||||
httpd02_LDADD = $(LDADD) $(SSL_LIBS)
|
||||
|
@ -78,7 +78,7 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = httpd01$(EXEEXT) httpd02$(EXEEXT) upxd01$(EXEEXT)
|
||||
bin_PROGRAMS = httpd01$(EXEEXT)
|
||||
@WCHAR_TRUE@@WIN32_TRUE@am__append_1 = $(UNICOWS_LIBS)
|
||||
subdir = samples/http
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||
@ -111,14 +111,6 @@ AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
am_httpd02_OBJECTS = httpd02.$(OBJEXT)
|
||||
httpd02_OBJECTS = $(am_httpd02_OBJECTS)
|
||||
httpd02_DEPENDENCIES = $(am__DEPENDENCIES_3) $(am__DEPENDENCIES_1)
|
||||
am_upxd01_OBJECTS = upxd01.$(OBJEXT)
|
||||
upxd01_OBJECTS = $(am_upxd01_OBJECTS)
|
||||
upxd01_LDADD = $(LDADD)
|
||||
upxd01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
|
||||
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
@ -131,7 +123,7 @@ AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/qse
|
||||
depcomp = $(SHELL) $(top_srcdir)/ac/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
@ -153,8 +145,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(httpd01_SOURCES) $(httpd02_SOURCES) $(upxd01_SOURCES)
|
||||
DIST_SOURCES = $(httpd01_SOURCES) $(httpd02_SOURCES) $(upxd01_SOURCES)
|
||||
SOURCES = $(httpd01_SOURCES)
|
||||
DIST_SOURCES = $(httpd01_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
@ -355,7 +347,7 @@ target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
AUTOMAKE_OPTIONS = nostdinc
|
||||
AiUTOMAKE_OPTIONS = nostdinc
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/include \
|
||||
@ -365,10 +357,7 @@ AM_LDFLAGS = -L../../lib/cmn -L../../lib/http
|
||||
LDADD = -lqsehttp -lqsecmn $(PTHREAD_LIBS) $(SOCKET_LIBS) \
|
||||
$(SENDFILE_LIBS) $(am__append_1)
|
||||
httpd01_SOURCES = httpd01.c
|
||||
httpd02_SOURCES = httpd02.c
|
||||
upxd01_SOURCES = upxd01.c
|
||||
httpd01_LDADD = $(LDADD) $(SSL_LIBS)
|
||||
httpd02_LDADD = $(LDADD) $(SSL_LIBS)
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -457,14 +446,6 @@ httpd01$(EXEEXT): $(httpd01_OBJECTS) $(httpd01_DEPENDENCIES) $(EXTRA_httpd01_DEP
|
||||
@rm -f httpd01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(httpd01_OBJECTS) $(httpd01_LDADD) $(LIBS)
|
||||
|
||||
httpd02$(EXEEXT): $(httpd02_OBJECTS) $(httpd02_DEPENDENCIES) $(EXTRA_httpd02_DEPENDENCIES)
|
||||
@rm -f httpd02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(httpd02_OBJECTS) $(httpd02_LDADD) $(LIBS)
|
||||
|
||||
upxd01$(EXEEXT): $(upxd01_OBJECTS) $(upxd01_DEPENDENCIES) $(EXTRA_upxd01_DEPENDENCIES)
|
||||
@rm -f upxd01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(upxd01_OBJECTS) $(upxd01_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
@ -472,8 +453,6 @@ distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpd01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/httpd02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/upxd01.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
#include <qse/http/httpd.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/http/stdhttpd.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
@ -46,11 +46,11 @@ static int httpd_main (int argc, qse_char_t* argv[])
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Usage: %s <listener_uri> ...\n"), argv[0]);
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Usage: %s binding_address:port ...\n"), argv[0]);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
httpd = qse_httpd_openstd (0);
|
||||
httpd = qse_httpd_openstd (0, QSE_NULL);
|
||||
if (httpd == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Cannot open httpd\n"));
|
||||
@ -60,19 +60,17 @@ static int httpd_main (int argc, qse_char_t* argv[])
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
qse_httpd_server_t* server;
|
||||
qse_httpd_server_dope_t dope;
|
||||
|
||||
server = qse_httpd_attachserverstd (httpd, argv[i], QSE_NULL, 0);
|
||||
qse_memset(&dope, 0, QSE_SIZEOF(dope));
|
||||
qse_strtonwad (argv[i], &dope.nwad);
|
||||
server = qse_httpd_attachserverstd (httpd, &dope, 0);
|
||||
if (server == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR,
|
||||
QSE_T("Failed to add httpd listener - %s\n"), argv[i]);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
qse_httpd_setserveroptstd (httpd, server, QSE_HTTPD_SERVER_DIRCSS,
|
||||
QSE_MT("<style type='text/css'>body { background-color:#d0e4fe; font-size: 0.9em; } div.header { font-weight: bold; margin-bottom: 5px; } div.footer { border-top: 1px solid #99AABB; text-align: right; } table { font-size: 0.9em; } td { white-space: nowrap; } td.size { text-align: right; }</style>"));
|
||||
qse_httpd_setserveroptstd (httpd, server, QSE_HTTPD_SERVER_ERRCSS,
|
||||
QSE_MT("<style type='text/css'>body { background-color:#d0e4fe; font-size: 0.9em; } div.header { font-weight: bold; margin-bottom: 5px; } div.footer { border-top: 1px solid #99AABB; text-align: right; }</style>"));
|
||||
}
|
||||
|
||||
g_httpd = httpd;
|
||||
@ -81,11 +79,16 @@ static int httpd_main (int argc, qse_char_t* argv[])
|
||||
signal (SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
|
||||
qse_httpd_setoption (httpd, QSE_HTTPD_CGIERRTONUL);
|
||||
{
|
||||
|
||||
tmout.sec = 10;
|
||||
tmout.nsec = 0;
|
||||
ret = qse_httpd_loopstd (httpd, &tmout);
|
||||
int trait = QSE_HTTPD_CGIERRTONUL;
|
||||
qse_httpd_setopt (httpd, QSE_HTTPD_TRAIT, &trait);
|
||||
|
||||
qse_inittime (&tmout, 10, 0);
|
||||
qse_httpd_setopt (httpd, QSE_HTTPD_TMOUT, &tmout);
|
||||
}
|
||||
|
||||
ret = qse_httpd_loopstd (httpd, QSE_NULL, QSE_NULL);
|
||||
|
||||
signal (SIGINT, SIG_DFL);
|
||||
#if defined(SIGPIPE)
|
||||
|
@ -1,296 +0,0 @@
|
||||
|
||||
#include <qse/http/httpd.h>
|
||||
#include <qse/cmn/stdio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/time.h>
|
||||
|
||||
#include <signal.h>
|
||||
#include <locale.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <windows.h>
|
||||
# include <tchar.h>
|
||||
# include <process.h>
|
||||
#elif defined(__OS2__)
|
||||
# define INCL_DOSPROCESS
|
||||
# define INCL_DOSEXCEPTIONS
|
||||
# define INCL_ERRORS
|
||||
# include <os2.h>
|
||||
#elif defined(__DOS__)
|
||||
# include <dos.h>
|
||||
#else
|
||||
# include <unistd.h>
|
||||
# include <errno.h>
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
# include <openssl/ssl.h>
|
||||
# include <openssl/err.h>
|
||||
# include <openssl/engine.h>
|
||||
#endif
|
||||
|
||||
/* --------------------------------------------------------------------- */
|
||||
|
||||
static qse_httpd_t* g_httpd = QSE_NULL;
|
||||
|
||||
static void sigint (int sig)
|
||||
{
|
||||
if (g_httpd) qse_httpd_stop (g_httpd);
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------- */
|
||||
|
||||
typedef struct server_xtn_t server_xtn_t;
|
||||
struct server_xtn_t
|
||||
{
|
||||
int tproxy;
|
||||
qse_httpd_server_cbstd_t* orgcbstd;
|
||||
};
|
||||
|
||||
static int makersrc (
|
||||
qse_httpd_t* httpd, qse_httpd_client_t* client,
|
||||
qse_htre_t* req, qse_httpd_rsrc_t* rsrc)
|
||||
{
|
||||
server_xtn_t* server_xtn;
|
||||
|
||||
server_xtn = qse_httpd_getserverxtnstd (httpd, client->server);
|
||||
|
||||
if (server_xtn->tproxy)
|
||||
{
|
||||
if (qse_nwadequal(&client->orgdst_addr, &client->local_addr)) /* both equal and error */
|
||||
{
|
||||
/* TODO: implement a better check that the
|
||||
* destination is not one of the local addresses */
|
||||
|
||||
rsrc->type = QSE_HTTPD_RSRC_ERR;
|
||||
rsrc->u.err.code = 500;
|
||||
}
|
||||
else
|
||||
{
|
||||
rsrc->type = QSE_HTTPD_RSRC_PROXY;
|
||||
rsrc->u.proxy.dst = client->orgdst_addr;
|
||||
rsrc->u.proxy.src = client->remote_addr;
|
||||
|
||||
if (rsrc->u.proxy.src.type == QSE_NWAD_IN4)
|
||||
rsrc->u.proxy.src.u.in4.port = 0; /* reset the port to 0. */
|
||||
else if (rsrc->u.proxy.src.type == QSE_NWAD_IN6)
|
||||
rsrc->u.proxy.src.u.in6.port = 0; /* reset the port to 0. */
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
#if 0
|
||||
if (server_xtn->orgcbstd->makersrc (httpd, client, req, rsrc) <= -1) return -1;
|
||||
if (rsrc->type == QSE_HTTPD_RSRC_DIR)
|
||||
{
|
||||
/* no directory listing - */
|
||||
if (server_xtn->orgcbstd->freersrc)
|
||||
server_xtn->orgcbstd->freersrc (httpd, client, req, rsrc);
|
||||
rsrc->type = QSE_HTTPD_RSRC_ERROR;
|
||||
rsrc->u.error.code = 403;
|
||||
}
|
||||
return 0;
|
||||
#endif
|
||||
return server_xtn->orgcbstd->makersrc (httpd, client, req, rsrc);
|
||||
}
|
||||
}
|
||||
|
||||
static void freersrc (
|
||||
qse_httpd_t* httpd, qse_httpd_client_t* client,
|
||||
qse_htre_t* req, qse_httpd_rsrc_t* rsrc)
|
||||
{
|
||||
server_xtn_t* server_xtn;
|
||||
|
||||
server_xtn = qse_httpd_getserverxtnstd (httpd, client->server);
|
||||
|
||||
if (server_xtn->tproxy)
|
||||
{
|
||||
/* nothing to do */
|
||||
}
|
||||
else
|
||||
{
|
||||
if (server_xtn->orgcbstd->freersrc)
|
||||
server_xtn->orgcbstd->freersrc (httpd, client, req, rsrc);
|
||||
}
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------- */
|
||||
|
||||
static qse_httpd_server_t* attach_server (
|
||||
qse_httpd_t* httpd, qse_char_t* uri, qse_httpd_server_cbstd_t* cbstd)
|
||||
{
|
||||
qse_httpd_server_t* server;
|
||||
server_xtn_t* server_xtn;
|
||||
int tproxy = 0;
|
||||
|
||||
static qse_httpd_server_idxstd_t idxstd[] =
|
||||
{
|
||||
{ QSE_MT("index.cgi") },
|
||||
{ QSE_MT("index.html") },
|
||||
{ QSE_NULL }
|
||||
};
|
||||
|
||||
if (qse_strzcasecmp (uri, QSE_T("http-tproxy://"), 14) == 0)
|
||||
{
|
||||
tproxy = 1;
|
||||
qse_strcpy (&uri[4], &uri[11]);
|
||||
}
|
||||
|
||||
server = qse_httpd_attachserverstd (
|
||||
httpd, uri, QSE_NULL, QSE_SIZEOF(server_xtn_t));
|
||||
if (server == QSE_NULL) return QSE_NULL;
|
||||
|
||||
/* qse_httpd_getserverxtnstd() returns the pointer to
|
||||
* the extension space requested above, of the size
|
||||
* QSE_SIZEOF(server_xtn_t) */
|
||||
server_xtn = qse_httpd_getserverxtnstd (httpd, server);
|
||||
server_xtn->tproxy = tproxy;
|
||||
|
||||
/* qse_httpd_getserverxtn() returns the pointer to the
|
||||
* extension space created by qse_httpd_attachserverstd()
|
||||
* internally.
|
||||
*/
|
||||
/* remember the callback set in qse_httpd_attachserverstd() */
|
||||
qse_httpd_getserveroptstd (
|
||||
httpd, server,
|
||||
QSE_HTTPD_SERVER_CBSTD, (void**)&server_xtn->orgcbstd);
|
||||
/* override it with a new callback for chaining */
|
||||
qse_httpd_setserveroptstd (
|
||||
httpd, server,
|
||||
QSE_HTTPD_SERVER_CBSTD, cbstd);
|
||||
|
||||
/* totally override idxstd without remembering the old idxstd */
|
||||
qse_httpd_setserveroptstd (
|
||||
httpd, server,
|
||||
QSE_HTTPD_SERVER_IDXSTD, idxstd);
|
||||
|
||||
qse_httpd_setserveroptstd (
|
||||
httpd, server, QSE_HTTPD_SERVER_DIRCSS,
|
||||
QSE_MT("<style type='text/css'>body { background-color:#d0e4fe; font-size: 0.9em; } div.header { font-weight: bold; margin-bottom: 5px; } div.footer { border-top: 1px solid #99AABB; text-align: right; } table { font-size: 0.9em; } td { white-space: nowrap; } td.size { text-align: right; }</style>"));
|
||||
|
||||
qse_httpd_setserveroptstd (
|
||||
httpd, server, QSE_HTTPD_SERVER_ERRCSS,
|
||||
QSE_MT("<style type='text/css'>body { background-color:#d0e4fe; font-size: 0.9em; } div.header { font-weight: bold; margin-bottom: 5px; } div.footer { border-top: 1px solid #99AABB; text-align: right; }</style>"));
|
||||
|
||||
return server;
|
||||
}
|
||||
/* --------------------------------------------------------------------- */
|
||||
static int httpd_main (int argc, qse_char_t* argv[])
|
||||
{
|
||||
qse_httpd_t* httpd = QSE_NULL;
|
||||
qse_ntime_t tmout;
|
||||
int ret = -1, i;
|
||||
static qse_httpd_server_cbstd_t cbstd = { makersrc, freersrc };
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Usage: %s <listener_uri> ...\n"), argv[0]);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
httpd = qse_httpd_openstd (QSE_SIZEOF(server_xtn_t));
|
||||
if (httpd == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Cannot open httpd\n"));
|
||||
goto oops;
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
if (attach_server (httpd, argv[i], &cbstd) == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR,
|
||||
QSE_T("Failed to add httpd listener - %s\n"), argv[i]);
|
||||
goto oops;
|
||||
}
|
||||
}
|
||||
|
||||
g_httpd = httpd;
|
||||
signal (SIGINT, sigint);
|
||||
#if defined(SIGPIPE)
|
||||
signal (SIGPIPE, SIG_IGN);
|
||||
#endif
|
||||
|
||||
qse_httpd_setname (httpd, QSE_MT("httpd02/qse 1.0"));
|
||||
|
||||
qse_httpd_setoption (httpd, QSE_HTTPD_CGIERRTONUL);
|
||||
|
||||
tmout.sec = 10;
|
||||
tmout.nsec = 0;
|
||||
ret = qse_httpd_loopstd (httpd, &tmout);
|
||||
|
||||
signal (SIGINT, SIG_DFL);
|
||||
#if defined(SIGPIPE)
|
||||
signal (SIGPIPE, SIG_DFL);
|
||||
#endif
|
||||
g_httpd = QSE_NULL;
|
||||
|
||||
if (ret <= -1) qse_fprintf (QSE_STDERR, QSE_T("Httpd error\n"));
|
||||
|
||||
oops:
|
||||
if (httpd) qse_httpd_close (httpd);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int qse_main (int argc, qse_achar_t* argv[])
|
||||
{
|
||||
int ret;
|
||||
|
||||
#if defined(_WIN32)
|
||||
char locale[100];
|
||||
UINT codepage;
|
||||
WSADATA wsadata;
|
||||
|
||||
codepage = GetConsoleOutputCP();
|
||||
if (codepage == CP_UTF8)
|
||||
{
|
||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (locale, ".%u", (unsigned int)codepage);
|
||||
setlocale (LC_ALL, locale);
|
||||
/*qse_setdflcmgrbyid (QSE_CMGR_SLMB);*/
|
||||
}
|
||||
|
||||
|
||||
if (WSAStartup (MAKEWORD(2,0), &wsadata) != 0)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Failed to start up winsock\n"));
|
||||
return -1;
|
||||
}
|
||||
|
||||
#else
|
||||
setlocale (LC_ALL, "");
|
||||
/*qse_setdflcmgrbyid (QSE_CMGR_SLMB);*/
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
SSL_load_error_strings ();
|
||||
SSL_library_init ();
|
||||
#endif
|
||||
|
||||
ret = qse_runmain (argc, argv, httpd_main);
|
||||
|
||||
#if defined(HAVE_SSL)
|
||||
/*ERR_remove_state ();*/
|
||||
ENGINE_cleanup ();
|
||||
ERR_free_strings ();
|
||||
EVP_cleanup ();
|
||||
CRYPTO_cleanup_all_ex_data ();
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32)
|
||||
WSACleanup ();
|
||||
#endif
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -1,897 +0,0 @@
|
||||
#include <qse/http/upxd.h>
|
||||
#include <qse/cmn/stdio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/time.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
|
||||
#include <signal.h>
|
||||
#include <locale.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
# include <windows.h>
|
||||
#else
|
||||
# include <unistd.h>
|
||||
# include <errno.h>
|
||||
# include <fcntl.h>
|
||||
# include <sys/socket.h>
|
||||
# include <netinet/in.h>
|
||||
# include <net/if.h>
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_EPOLL)
|
||||
# if defined(HAVE_SYS_EPOLL_H)
|
||||
# include <sys/epoll.h>
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
static qse_upxd_errnum_t syserr_to_errnum (int e)
|
||||
{
|
||||
switch (e)
|
||||
{
|
||||
case ENOMEM:
|
||||
return QSE_UPXD_ENOMEM;
|
||||
|
||||
case EINVAL:
|
||||
return QSE_UPXD_EINVAL;
|
||||
|
||||
case EACCES:
|
||||
case ECONNREFUSED:
|
||||
return QSE_UPXD_EACCES;
|
||||
|
||||
case ENOENT:
|
||||
return QSE_UPXD_ENOENT;
|
||||
|
||||
case EEXIST:
|
||||
return QSE_UPXD_EEXIST;
|
||||
|
||||
case EINTR:
|
||||
return QSE_UPXD_EINTR;
|
||||
|
||||
case EAGAIN:
|
||||
/*case EWOULDBLOCK:*/
|
||||
return QSE_UPXD_EAGAIN;
|
||||
|
||||
default:
|
||||
return QSE_UPXD_ESYSERR;
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
static int sockaddr_to_nwad (
|
||||
const struct sockaddr_storage* addr, qse_nwad_t* nwad)
|
||||
{
|
||||
int addrsize = -1;
|
||||
|
||||
switch (addr->ss_family)
|
||||
{
|
||||
case AF_INET:
|
||||
{
|
||||
struct sockaddr_in* in;
|
||||
in = (struct sockaddr_in*)addr;
|
||||
addrsize = QSE_SIZEOF(*in);
|
||||
|
||||
memset (nwad, 0, QSE_SIZEOF(*nwad));
|
||||
nwad->type = QSE_NWAD_IN4;
|
||||
nwad->u.in4.addr.value = in->sin_addr.s_addr;
|
||||
nwad->u.in4.port = in->sin_port;
|
||||
break;
|
||||
}
|
||||
|
||||
#if defined(AF_INET6)
|
||||
case AF_INET6:
|
||||
{
|
||||
struct sockaddr_in6* in;
|
||||
in = (struct sockaddr_in6*)addr;
|
||||
addrsize = QSE_SIZEOF(*in);
|
||||
|
||||
memset (nwad, 0, QSE_SIZEOF(*nwad));
|
||||
nwad->type = QSE_NWAD_IN6;
|
||||
memcpy (&nwad->u.in6.addr, &in->sin6_addr, QSE_SIZEOF(nwad->u.in6.addr));
|
||||
nwad->u.in6.scope = in->sin6_scope_id;
|
||||
nwad->u.in6.port = in->sin6_port;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
return addrsize;
|
||||
}
|
||||
|
||||
static int nwad_to_sockaddr (
|
||||
const qse_nwad_t* nwad, struct sockaddr_storage* addr)
|
||||
{
|
||||
int addrsize = -1;
|
||||
|
||||
switch (nwad->type)
|
||||
{
|
||||
case QSE_NWAD_IN4:
|
||||
{
|
||||
struct sockaddr_in* in;
|
||||
|
||||
in = (struct sockaddr_in*)addr;
|
||||
addrsize = QSE_SIZEOF(*in);
|
||||
memset (in, 0, addrsize);
|
||||
|
||||
in->sin_family = AF_INET;
|
||||
in->sin_addr.s_addr = nwad->u.in4.addr.value;
|
||||
in->sin_port = nwad->u.in4.port;
|
||||
break;
|
||||
}
|
||||
|
||||
case QSE_NWAD_IN6:
|
||||
{
|
||||
#if defined(AF_INET6)
|
||||
struct sockaddr_in6* in;
|
||||
|
||||
in = (struct sockaddr_in6*)addr;
|
||||
addrsize = QSE_SIZEOF(*in);
|
||||
memset (in, 0, addrsize);
|
||||
|
||||
in->sin6_family = AF_INET6;
|
||||
memcpy (&in->sin6_addr, &nwad->u.in6.addr, QSE_SIZEOF(nwad->u.in6.addr));
|
||||
in->sin6_scope_id = nwad->u.in6.scope;
|
||||
in->sin6_port = nwad->u.in6.port;
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return addrsize;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
static int sock_open (qse_upxd_t* upxd, qse_upxd_sock_t* sock)
|
||||
{
|
||||
int fd = -1, flag;
|
||||
int syserr = 1;
|
||||
|
||||
struct sockaddr_storage addr;
|
||||
int addrsize;
|
||||
|
||||
addrsize = nwad_to_sockaddr (&sock->bind, &addr);
|
||||
if (addrsize <= -1)
|
||||
{
|
||||
qse_upxd_seterrnum (upxd, QSE_UPXD_ENOIMPL);
|
||||
syserr = 0;
|
||||
goto oops;
|
||||
}
|
||||
|
||||
/* TODO: if AF_INET6 is not defined sockaddr_storage is not available...
|
||||
* create your own union or somehting similar... */
|
||||
|
||||
fd = socket (addr.ss_family, SOCK_DGRAM, IPPROTO_UDP);
|
||||
if (fd <= -1) goto oops;
|
||||
|
||||
flag = fcntl (fd, F_GETFD);
|
||||
if (flag >= 0) fcntl (fd, F_SETFD, flag | FD_CLOEXEC);
|
||||
|
||||
if (bind (fd, (struct sockaddr*)&addr, addrsize) <= -1)
|
||||
{
|
||||
#if defined(IPV6_V6ONLY)
|
||||
if (errno == EADDRINUSE && addr.ss_family == AF_INET6)
|
||||
{
|
||||
int on = 1;
|
||||
setsockopt (fd, IPPROTO_IPV6, IPV6_V6ONLY, &on, sizeof(on));
|
||||
if (bind (fd, (struct sockaddr*)&addr, addrsize) <= -1) goto oops;
|
||||
}
|
||||
else goto oops;
|
||||
#else
|
||||
goto oops;
|
||||
#endif
|
||||
}
|
||||
|
||||
if (sock->dev)
|
||||
{
|
||||
#if defined(SO_BINDTODEVICE)
|
||||
struct ifreq ifr;
|
||||
qse_size_t wsz, msz;
|
||||
|
||||
memset (&ifr, 0, sizeof(ifr));
|
||||
|
||||
#if defined(QSE_CHAR_IS_MCHAR)
|
||||
qse_mbscpy (ifr.ifr_name, sock->dev, QSE_COUNTOF(ifr.ifr_name));
|
||||
#else
|
||||
msz = QSE_COUNTOF(ifr.ifr_name);
|
||||
if (qse_wcstombs (sock->dev, &wsz, ifr.ifr_name, &msz) <= -1)
|
||||
{
|
||||
qse_upxd_seterrnum (upxd, QSE_UPXD_EINVAL);
|
||||
syserr = 0;
|
||||
goto oops;
|
||||
}
|
||||
#endif
|
||||
if (setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, &ifr, QSE_SIZEOF(ifr)) <= -1) goto oops;
|
||||
#endif
|
||||
}
|
||||
|
||||
flag = fcntl (fd, F_GETFL);
|
||||
if (flag >= 0) fcntl (fd, F_SETFL, flag | O_NONBLOCK);
|
||||
|
||||
sock->handle.i = fd;
|
||||
return 0;
|
||||
|
||||
oops:
|
||||
if (syserr) qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
if (fd >= 0) close (fd);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void sock_close (qse_upxd_t* upxd, qse_upxd_sock_t* sock)
|
||||
{
|
||||
close (sock->handle.i);
|
||||
}
|
||||
|
||||
static qse_ssize_t sock_recv (
|
||||
qse_upxd_t* upxd, qse_upxd_sock_t* sock, void* buf, qse_size_t bufsize)
|
||||
{
|
||||
ssize_t ret;
|
||||
struct sockaddr_storage addr;
|
||||
socklen_t addrsize;
|
||||
|
||||
addrsize = QSE_SIZEOF(addr);
|
||||
ret = recvfrom (sock->handle.i, buf, bufsize, 0, (struct sockaddr*)&addr, &addrsize);
|
||||
if (ret <= -1) qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
else
|
||||
{
|
||||
if (sockaddr_to_nwad (&addr, &sock->from) <= -1)
|
||||
{
|
||||
qse_upxd_seterrnum (upxd, QSE_UPXD_ENOIMPL);
|
||||
ret = -1;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static qse_ssize_t sock_send (
|
||||
qse_upxd_t* upxd, qse_upxd_sock_t* sock, const void* buf, qse_size_t bufsize)
|
||||
{
|
||||
struct sockaddr_storage addr;
|
||||
int addrsize;
|
||||
ssize_t ret;
|
||||
|
||||
addrsize = nwad_to_sockaddr (&sock->to, &addr);
|
||||
if (addrsize <= -1)
|
||||
{
|
||||
qse_upxd_seterrnum (upxd, QSE_UPXD_ENOIMPL);
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = sendto (sock->handle.i, buf, bufsize,
|
||||
0, (struct sockaddr*)&addr, addrsize);
|
||||
if (ret <= -1) qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
return ret;
|
||||
}
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
static int session_config (
|
||||
qse_upxd_t* upxd, qse_upxd_session_t* session)
|
||||
{
|
||||
/* you can check the source address (session->from).
|
||||
* you can set the destination address.
|
||||
* you can set the binding address.
|
||||
* you can set the binding interface.
|
||||
*/
|
||||
qse_strtonwad (QSE_T("127.0.0.1:9991"), &session->config.peer);
|
||||
qse_strtonwad (QSE_T("0.0.0.0:0"), &session->config.bind);
|
||||
/*qse_strxcpy (session->config.dev, QSE_COUNTOF(session->config.dev), QSE_T("eth1"));*/
|
||||
session->config.dormancy = 10000;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void session_error (
|
||||
qse_upxd_t* upxd, qse_upxd_session_t* session)
|
||||
{
|
||||
if (session->server)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
/* session->local.nwad is not associated with a session. */
|
||||
}
|
||||
|
||||
qse_printf (QSE_T("ERROR IN SESSION COMMUNICATION\n"));
|
||||
|
||||
}
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
struct mux_ev_t
|
||||
{
|
||||
qse_ubi_t handle;
|
||||
int reqmask;
|
||||
qse_upxd_muxcb_t cbfun;
|
||||
void* cbarg;
|
||||
};
|
||||
|
||||
struct mux_t
|
||||
{
|
||||
int fd;
|
||||
|
||||
struct
|
||||
{
|
||||
struct epoll_event* ptr;
|
||||
qse_size_t len;
|
||||
qse_size_t capa;
|
||||
} ee;
|
||||
|
||||
struct
|
||||
{
|
||||
struct mux_ev_t** ptr;
|
||||
qse_size_t capa;
|
||||
} mev;
|
||||
};
|
||||
|
||||
#define MUX_EV_ALIGN 64
|
||||
|
||||
static void* mux_open (qse_upxd_t* upxd)
|
||||
{
|
||||
struct mux_t* mux;
|
||||
|
||||
mux = qse_upxd_allocmem (upxd, QSE_SIZEOF(*mux));
|
||||
if (mux == QSE_NULL) return QSE_NULL;
|
||||
|
||||
memset (mux, 0, QSE_SIZEOF(*mux));
|
||||
|
||||
#if defined(HAVE_EPOLL_CREATE1) && defined(O_CLOEXEC)
|
||||
mux->fd = epoll_create1 (O_CLOEXEC);
|
||||
#else
|
||||
mux->fd = epoll_create (100);
|
||||
#endif
|
||||
if (mux->fd <= -1)
|
||||
{
|
||||
qse_upxd_freemem (upxd, mux);
|
||||
qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
#if defined(HAVE_EPOLL_CREATE1) && defined(O_CLOEXEC)
|
||||
/* nothing else to do */
|
||||
#else
|
||||
{
|
||||
int flag = fcntl (mux->fd, F_GETFD);
|
||||
if (flag >= 0) fcntl (mux->fd, F_SETFD, flag | FD_CLOEXEC);
|
||||
}
|
||||
#endif
|
||||
|
||||
return mux;
|
||||
}
|
||||
|
||||
static void mux_close (qse_upxd_t* upxd, void* vmux)
|
||||
{
|
||||
struct mux_t* mux = (struct mux_t*)vmux;
|
||||
if (mux->ee.ptr) qse_upxd_freemem (upxd, mux->ee.ptr);
|
||||
if (mux->mev.ptr)
|
||||
{
|
||||
qse_size_t i;
|
||||
for (i = 0; i < mux->mev.capa; i++)
|
||||
if (mux->mev.ptr[i]) qse_upxd_freemem (upxd, mux->mev.ptr[i]);
|
||||
qse_upxd_freemem (upxd, mux->mev.ptr);
|
||||
}
|
||||
close (mux->fd);
|
||||
qse_upxd_freemem (upxd, mux);
|
||||
}
|
||||
|
||||
static int mux_addhnd (
|
||||
qse_upxd_t* upxd, void* vmux, qse_ubi_t handle,
|
||||
qse_upxd_muxcb_t cbfun, void* cbarg)
|
||||
{
|
||||
struct mux_t* mux = (struct mux_t*)vmux;
|
||||
struct epoll_event ev;
|
||||
struct mux_ev_t* mev;
|
||||
|
||||
ev.events = EPOLLIN; /* inspect IN and HUP only */
|
||||
|
||||
if (handle.i >= mux->mev.capa)
|
||||
{
|
||||
struct mux_ev_t** tmp;
|
||||
qse_size_t tmpcapa, i;
|
||||
|
||||
tmpcapa = (((handle.i + MUX_EV_ALIGN) / MUX_EV_ALIGN) * MUX_EV_ALIGN);
|
||||
|
||||
tmp = (struct mux_ev_t**) qse_upxd_reallocmem (
|
||||
upxd, mux->mev.ptr,
|
||||
QSE_SIZEOF(*mux->mev.ptr) * tmpcapa);
|
||||
if (tmp == QSE_NULL) return -1;
|
||||
|
||||
for (i = mux->mev.capa; i < tmpcapa; i++) tmp[i] = QSE_NULL;
|
||||
mux->mev.ptr = tmp;
|
||||
mux->mev.capa = tmpcapa;
|
||||
}
|
||||
|
||||
if (mux->mev.ptr[handle.i] == QSE_NULL)
|
||||
{
|
||||
/* the location of the data passed to epoll_ctl()
|
||||
* must not change unless i update the info with epoll()
|
||||
* whenever there is reallocation. so i simply
|
||||
* make mux-mev.ptr reallocatable but auctual
|
||||
* data fixed once allocated. */
|
||||
mux->mev.ptr[handle.i] = qse_upxd_allocmem (
|
||||
upxd, QSE_SIZEOF(*mux->mev.ptr[handle.i]));
|
||||
if (mux->mev.ptr[handle.i] == QSE_NULL) return -1;
|
||||
}
|
||||
|
||||
if (mux->ee.len >= mux->ee.capa)
|
||||
{
|
||||
struct epoll_event* tmp;
|
||||
|
||||
tmp = qse_upxd_reallocmem (
|
||||
upxd, mux->ee.ptr,
|
||||
QSE_SIZEOF(*mux->ee.ptr) * (mux->ee.capa + 1) * 2);
|
||||
if (tmp == QSE_NULL) return -1;
|
||||
|
||||
mux->ee.ptr = tmp;
|
||||
mux->ee.capa = (mux->ee.capa + 1) * 2;
|
||||
}
|
||||
|
||||
mev = mux->mev.ptr[handle.i];
|
||||
mev->handle = handle;
|
||||
mev->cbfun = cbfun;
|
||||
mev->cbarg = cbarg;
|
||||
|
||||
ev.data.ptr = mev;
|
||||
|
||||
if (epoll_ctl (mux->fd, EPOLL_CTL_ADD, handle.i, &ev) <= -1)
|
||||
{
|
||||
/* don't rollback ee.ptr */
|
||||
qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
mux->ee.len++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mux_delhnd (qse_upxd_t* upxd, void* vmux, qse_ubi_t handle)
|
||||
{
|
||||
struct mux_t* mux = (struct mux_t*)vmux;
|
||||
|
||||
if (epoll_ctl (mux->fd, EPOLL_CTL_DEL, handle.i, QSE_NULL) <= -1)
|
||||
{
|
||||
qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
mux->ee.len--;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mux_poll (qse_upxd_t* upxd, void* vmux, qse_ntime_t timeout)
|
||||
{
|
||||
struct mux_t* mux = (struct mux_t*)vmux;
|
||||
struct mux_ev_t* mev;
|
||||
int nfds, i;
|
||||
|
||||
if (mux->ee.len < 0)
|
||||
{
|
||||
/* nothing to monitor yet */
|
||||
sleep (timeout / 1000);
|
||||
}
|
||||
else
|
||||
{
|
||||
nfds = epoll_wait (mux->fd, mux->ee.ptr, mux->ee.len, timeout);
|
||||
if (nfds <= -1)
|
||||
{
|
||||
qse_upxd_seterrnum (upxd, syserr_to_errnum(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < nfds; i++)
|
||||
{
|
||||
mev = mux->ee.ptr[i].data.ptr;
|
||||
|
||||
if (mux->ee.ptr[i].events & (EPOLLIN | EPOLLHUP))
|
||||
mev->cbfun (upxd, mux, mev->handle, mev->cbarg);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
static qse_upxd_cbs_t upxd_cbs =
|
||||
{
|
||||
/* socket */
|
||||
{ sock_open, sock_close, sock_recv, sock_send },
|
||||
|
||||
/* session */
|
||||
{ session_config, session_error },
|
||||
|
||||
/* multiplexer */
|
||||
{ mux_open, mux_close, mux_addhnd, mux_delhnd, mux_poll }
|
||||
};
|
||||
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
typedef struct tr_t tr_t;
|
||||
struct tr_t
|
||||
{
|
||||
unsigned int line;
|
||||
qse_sio_t* sio;
|
||||
qse_str_t* t;
|
||||
unsigned int tl;
|
||||
qse_char_t last;
|
||||
};
|
||||
|
||||
tr_t* tr_open (const qse_char_t* name)
|
||||
{
|
||||
tr_t* tr;
|
||||
|
||||
tr = malloc (QSE_SIZEOF(*tr));
|
||||
if (tr == QSE_NULL) return QSE_NULL;
|
||||
|
||||
memset (tr, 0, sizeof(*tr));
|
||||
tr->line = 1;
|
||||
|
||||
tr->sio = qse_sio_open (QSE_MMGR_GETDFL(), 0, name, QSE_SIO_READ);
|
||||
if (tr->sio == QSE_NULL)
|
||||
{
|
||||
free (tr);
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
tr->t = qse_str_open (QSE_MMGR_GETDFL(), 0, 128);
|
||||
if (tr->t == QSE_NULL)
|
||||
{
|
||||
qse_sio_close (tr->sio);
|
||||
free (tr);
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
return tr;
|
||||
}
|
||||
|
||||
void tr_close (tr_t* tr)
|
||||
{
|
||||
qse_str_close (tr->t);
|
||||
qse_sio_close (tr->sio);
|
||||
free (tr);
|
||||
}
|
||||
|
||||
qse_char_t* tr_getnext (tr_t* tr)
|
||||
{
|
||||
qse_char_t c;
|
||||
|
||||
qse_str_clear (tr->t);
|
||||
|
||||
if (tr->last)
|
||||
{
|
||||
tr->tl = tr->line;
|
||||
if (qse_str_ccat (tr->t, tr->last) == (qse_ssize_t)-1) return QSE_NULL;
|
||||
tr->last = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* skip spaces */
|
||||
while (1)
|
||||
{
|
||||
if (qse_sio_getc (tr->sio, &c) <= -1) return QSE_NULL;
|
||||
if (c == QSE_CHAR_EOF) return QSE_NULL;
|
||||
if (c == QSE_T('\n')) tr->line++;
|
||||
if (!QSE_ISSPACE(c)) break;
|
||||
}
|
||||
|
||||
tr->tl = tr->line;
|
||||
|
||||
if (c == QSE_T(';') || c == QSE_T('{') || c == QSE_T('}'))
|
||||
{
|
||||
if (qse_str_ccat (tr->t, c) == (qse_ssize_t)-1) return QSE_NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
do
|
||||
{
|
||||
if (qse_str_ccat (tr->t, c) == (qse_ssize_t)-1) return QSE_NULL;
|
||||
if (qse_sio_getc (tr->sio, &c) <= -1) return QSE_NULL;
|
||||
|
||||
if (c == QSE_CHAR_EOF) break;
|
||||
|
||||
if (c == QSE_T('\n')) tr->line++;
|
||||
if (QSE_ISSPACE(c)) break;
|
||||
else if (c == QSE_T(';') || c == QSE_T('{') || c == QSE_T('}'))
|
||||
{
|
||||
tr->last = c;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (1);
|
||||
}
|
||||
}
|
||||
|
||||
return QSE_STR_PTR(tr->t);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
struct cfg_rule_t
|
||||
{
|
||||
struct
|
||||
{
|
||||
qse_ipad_t ipad;
|
||||
qse_ipad_t mask;
|
||||
} src;
|
||||
|
||||
int action; /* DROP, FORWARD */
|
||||
|
||||
struct
|
||||
{
|
||||
qse_nwad_t via;
|
||||
qse_char_t via_dev[64];
|
||||
qse_nwad_t to_nwad;
|
||||
} fwd;
|
||||
};
|
||||
|
||||
typedef struct cfg_listen_t cfg_listen_t;
|
||||
struct cfg_listen_t
|
||||
{
|
||||
qse_nwad_t nwad;
|
||||
qse_char_t dev[64];
|
||||
cfg_rule_t* rule;
|
||||
};
|
||||
|
||||
typedef struct cfg_t cfg_t;
|
||||
struct cfg_t
|
||||
{
|
||||
cfg_listen_t* list;
|
||||
};
|
||||
|
||||
cfg_t* cfg_open (void)
|
||||
{
|
||||
cfg_t* cfg;
|
||||
|
||||
cfg = malloc (QSE_SIZEOF(*cfg));
|
||||
if (cfg == QSE_NULL) return QSE_NULL;
|
||||
|
||||
return cfg;
|
||||
}
|
||||
|
||||
void cfg_close (cfg_t*)
|
||||
{
|
||||
free (cfg);
|
||||
}
|
||||
|
||||
cfg_listen_t* cfg_addlisten (cfg_t* cfg, qse_nwad_t nwad, const qse_char_t* dev)
|
||||
{
|
||||
cfg_listen_t* ptr;
|
||||
|
||||
ptr = malloc (QSE_SIZEOF(*ptr));
|
||||
if (ptr == QSE_NULL) return QSE_NULL;
|
||||
|
||||
ptr->nwad = nwad;
|
||||
qse_strxcpy (ptr->dev, QSE_COUNTOF(ptr->dev), dev);
|
||||
ptr->rule = QSE_NULL;
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static cfg_t* load_cfg (const qse_char_t* name)
|
||||
{
|
||||
tr_t* tr;
|
||||
const qse_char_t* t;
|
||||
cfg_t* cfg;
|
||||
cfg_listen_t cfglis;
|
||||
qse_nwad_t nwad;
|
||||
|
||||
cfg = malloc (QSE_SIZEOF(*cfg));
|
||||
if (cfg == QSE_NULL) return QSE_NULL;
|
||||
|
||||
tr = tr_open (name);
|
||||
if (tr == QSE_NULL) goto oops;
|
||||
|
||||
do
|
||||
{
|
||||
t = tr_getnext(tr);
|
||||
if (t == QSE_NULL) break;
|
||||
|
||||
if (qse_strcmp (t, QSE_T("listen")) == 0)
|
||||
{
|
||||
tmp = tr_getnext(tr);
|
||||
if (tmp == QSE_NULL || qse_strtonwad (tmp, &nwad) <= -1)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: ipaddr:port expected after 'listen'\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
tmp = tr_getnext (tr);
|
||||
if (tmp == QSE_NULL)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: 'dev' or { expected\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
if (qse_strcmp (tmp, QSE_T("dev")) == 0)
|
||||
{
|
||||
tmp = tr_getnext (tr);
|
||||
if (tmp == QSE_NULL)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: device name expected\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
if (cfg_addlisten (cfg, &nwad, tmp) <= -1)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: failed to add a new service\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
tmp = tr_getnext (tr);
|
||||
if (tmp == QSE_NULL)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: { expected\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
}
|
||||
|
||||
if (qse_strcmp (tmp, QSE_T('{')) != 0)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: { expected\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
|
||||
while (1)
|
||||
{
|
||||
tmp = tr_getnext (tr);
|
||||
if (tmp == QSE_NULL)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: } expected\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
if (qse_strcmp (tmp, QSE_T("}")) == 0) break;
|
||||
|
||||
if (qse_strcmp (tmp, QSE_T("from")) != 0)
|
||||
{
|
||||
qse_printf (QSE_T("line %u: 'from' expected\n"), (unsigned int)tr->tl);
|
||||
}
|
||||
|
||||
tmp = tr_getnext (tr);
|
||||
|
||||
|
||||
if (qse_strcmp (action, QSE_T("drop")) == 0)
|
||||
{
|
||||
}
|
||||
else if (qse_strcmp (action, QSE_T("forward")) == 0)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
|
||||
tmp = tr_getnext (tr);
|
||||
if (qse_strcmp (tmp, QSE_T(";")) != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
tmp = tr_getnext (tr);
|
||||
if (qse_strcmp (tmp, QSE_T("}")) != 0)
|
||||
{
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qse_printf (QSE_T("line %u: 'listen' expected\n"), (unsigned int)tr->tl);
|
||||
goto oops;
|
||||
}
|
||||
}
|
||||
while (1);
|
||||
|
||||
return cfg;
|
||||
|
||||
oops:
|
||||
if (tr) tr_close (tr);
|
||||
return QSE_NULL;
|
||||
}
|
||||
|
||||
static void free_cfg (cfg_t* cfg)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/* ------------------------------------------- */
|
||||
|
||||
|
||||
static qse_upxd_t* g_upxd = QSE_NULL;
|
||||
|
||||
static void sigint (int sig)
|
||||
{
|
||||
if (g_upxd) qse_upxd_stop (g_upxd);
|
||||
}
|
||||
|
||||
int upxd_main (int argc, qse_char_t* argv[])
|
||||
{
|
||||
qse_upxd_t* upxd = QSE_NULL;
|
||||
cfg_t* cfg = QSE_NULL;
|
||||
int ret = -1, i;
|
||||
|
||||
if (argc <= 1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Usage: %s <server-address> ...\n"), argv[0]);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
cfg = load_cfg (argv[1]);
|
||||
if (cfg == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Error: Cannot load %s\n"), argv[1]);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
upxd = qse_upxd_open (QSE_MMGR_GETDFL(), 0);
|
||||
if (upxd == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Cannot open upxd\n"));
|
||||
goto oops;
|
||||
}
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
qse_nwad_t nwad;
|
||||
if (qse_strtonwad (argv[i], &nwad) <= -1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR,
|
||||
QSE_T("Wrong server - %s\n"), argv[i]);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
if (qse_upxd_addserver (upxd, &nwad, QSE_NULL) == QSE_NULL)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR,
|
||||
QSE_T("Failed to add server - %s\n"), argv[i]);
|
||||
goto oops;
|
||||
}
|
||||
}
|
||||
|
||||
g_upxd = upxd;
|
||||
signal (SIGINT, sigint);
|
||||
signal (SIGPIPE, SIG_IGN);
|
||||
|
||||
qse_upxd_setcbs (upxd, &upxd_cbs);
|
||||
|
||||
ret = qse_upxd_loop (upxd, 5000);
|
||||
|
||||
signal (SIGINT, SIG_DFL);
|
||||
signal (SIGPIPE, SIG_DFL);
|
||||
g_upxd = QSE_NULL;
|
||||
|
||||
if (ret <= -1)
|
||||
qse_fprintf (QSE_STDERR, QSE_T("Error - %d\n"), (int)qse_upxd_geterrnum(upxd));
|
||||
|
||||
oops:
|
||||
if (upxd) qse_upxd_close (upxd);
|
||||
if (cfg) free_cfg (cfg);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int qse_main (int argc, qse_achar_t* argv[])
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
char locale[100];
|
||||
UINT codepage = GetConsoleOutputCP();
|
||||
if (codepage == CP_UTF8)
|
||||
{
|
||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf (locale, ".%u", (unsigned int)codepage);
|
||||
setlocale (LC_ALL, locale);
|
||||
/*qse_setdflcmgrbyid (QSE_CMGR_SLMB);*/
|
||||
}
|
||||
#else
|
||||
setlocale (LC_ALL, "");
|
||||
/*qse_setdflcmgrbyid (QSE_CMGR_SLMB);*/
|
||||
#endif
|
||||
|
||||
return qse_runmain (argc, argv, upxd_main);
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/sed/stdsed.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include "sed00.h"
|
||||
|
||||
static int sed_main (int argc, qse_char_t* argv[])
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/sed/stdsed.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include "sed00.h"
|
||||
|
||||
static int sed_main (int argc, qse_char_t* argv[])
|
||||
|
@ -1,6 +1,6 @@
|
||||
#include <qse/sed/stdsed.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include "sed00.h"
|
||||
|
||||
static void trace_exec (qse_sed_t* sed, qse_sed_tracer_op_t op, qse_sed_cmd_t* cmd)
|
||||
|
@ -6,14 +6,23 @@ AM_CPPFLAGS = \
|
||||
-I$(includedir)
|
||||
|
||||
bin_PROGRAMS = \
|
||||
dir01 \
|
||||
fio01 \
|
||||
fio02 \
|
||||
fs01 \
|
||||
fs02 \
|
||||
fs03 \
|
||||
glob01 \
|
||||
nwad01 \
|
||||
nwif01 \
|
||||
nwif02 \
|
||||
pio01 \
|
||||
rwl01 \
|
||||
sio01 \
|
||||
sio02 \
|
||||
sio03
|
||||
|
||||
sio03 \
|
||||
task01
|
||||
|
||||
AM_LDFLAGS = -L../../lib/si -L../../lib/cmn
|
||||
AM_CFLAGS = $(PTHREAD_CFLAGS)
|
||||
LDADD = -lqsesi -lqsecmn $(PTHREAD_LIBS)
|
||||
@ -24,11 +33,20 @@ LDADD += $(UNICOWS_LIBS)
|
||||
endif
|
||||
endif
|
||||
|
||||
dir01_SOURCES = dir01.c
|
||||
fio01_SOURCES = fio01.c
|
||||
fio02_SOURCES = fio02.c
|
||||
fs01_SOURCES = fs01.c
|
||||
fs02_SOURCES = fs02.c
|
||||
fs03_SOURCES = fs03.c
|
||||
glob01_SOURCES = glob01.c
|
||||
nwad01_SOURCES = nwad01.c
|
||||
nwif01_SOURCES = nwif01.c
|
||||
nwif02_SOURCES = nwif02.c
|
||||
pio01_SOURCES = pio01.c
|
||||
rwl01_SOURCES = rwl01.c
|
||||
sio01_SOURCES = sio01.c
|
||||
sio02_SOURCES = sio02.c
|
||||
sio03_SOURCES = sio03.c
|
||||
task01_SOURCES = task01.c
|
||||
|
||||
|
@ -78,8 +78,11 @@ PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
bin_PROGRAMS = fio01$(EXEEXT) fio02$(EXEEXT) pio01$(EXEEXT) \
|
||||
rwl01$(EXEEXT) sio01$(EXEEXT) sio02$(EXEEXT) sio03$(EXEEXT)
|
||||
bin_PROGRAMS = dir01$(EXEEXT) fio01$(EXEEXT) fio02$(EXEEXT) \
|
||||
fs01$(EXEEXT) fs02$(EXEEXT) fs03$(EXEEXT) glob01$(EXEEXT) \
|
||||
nwad01$(EXEEXT) nwif01$(EXEEXT) nwif02$(EXEEXT) pio01$(EXEEXT) \
|
||||
rwl01$(EXEEXT) sio01$(EXEEXT) sio02$(EXEEXT) sio03$(EXEEXT) \
|
||||
task01$(EXEEXT)
|
||||
@WCHAR_TRUE@@WIN32_TRUE@am__append_1 = $(UNICOWS_LIBS)
|
||||
subdir = samples/si
|
||||
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
|
||||
@ -101,20 +104,52 @@ CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__installdirs = "$(DESTDIR)$(bindir)"
|
||||
PROGRAMS = $(bin_PROGRAMS)
|
||||
am_fio01_OBJECTS = fio01.$(OBJEXT)
|
||||
fio01_OBJECTS = $(am_fio01_OBJECTS)
|
||||
fio01_LDADD = $(LDADD)
|
||||
am_dir01_OBJECTS = dir01.$(OBJEXT)
|
||||
dir01_OBJECTS = $(am_dir01_OBJECTS)
|
||||
dir01_LDADD = $(LDADD)
|
||||
am__DEPENDENCIES_1 =
|
||||
@WCHAR_TRUE@@WIN32_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
|
||||
fio01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
dir01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||
am__v_lt_0 = --silent
|
||||
am__v_lt_1 =
|
||||
am_fio01_OBJECTS = fio01.$(OBJEXT)
|
||||
fio01_OBJECTS = $(am_fio01_OBJECTS)
|
||||
fio01_LDADD = $(LDADD)
|
||||
fio01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_fio02_OBJECTS = fio02.$(OBJEXT)
|
||||
fio02_OBJECTS = $(am_fio02_OBJECTS)
|
||||
fio02_LDADD = $(LDADD)
|
||||
fio02_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_fs01_OBJECTS = fs01.$(OBJEXT)
|
||||
fs01_OBJECTS = $(am_fs01_OBJECTS)
|
||||
fs01_LDADD = $(LDADD)
|
||||
fs01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_fs02_OBJECTS = fs02.$(OBJEXT)
|
||||
fs02_OBJECTS = $(am_fs02_OBJECTS)
|
||||
fs02_LDADD = $(LDADD)
|
||||
fs02_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_fs03_OBJECTS = fs03.$(OBJEXT)
|
||||
fs03_OBJECTS = $(am_fs03_OBJECTS)
|
||||
fs03_LDADD = $(LDADD)
|
||||
fs03_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_glob01_OBJECTS = glob01.$(OBJEXT)
|
||||
glob01_OBJECTS = $(am_glob01_OBJECTS)
|
||||
glob01_LDADD = $(LDADD)
|
||||
glob01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_nwad01_OBJECTS = nwad01.$(OBJEXT)
|
||||
nwad01_OBJECTS = $(am_nwad01_OBJECTS)
|
||||
nwad01_LDADD = $(LDADD)
|
||||
nwad01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_nwif01_OBJECTS = nwif01.$(OBJEXT)
|
||||
nwif01_OBJECTS = $(am_nwif01_OBJECTS)
|
||||
nwif01_LDADD = $(LDADD)
|
||||
nwif01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_nwif02_OBJECTS = nwif02.$(OBJEXT)
|
||||
nwif02_OBJECTS = $(am_nwif02_OBJECTS)
|
||||
nwif02_LDADD = $(LDADD)
|
||||
nwif02_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_pio01_OBJECTS = pio01.$(OBJEXT)
|
||||
pio01_OBJECTS = $(am_pio01_OBJECTS)
|
||||
pio01_LDADD = $(LDADD)
|
||||
@ -135,6 +170,10 @@ am_sio03_OBJECTS = sio03.$(OBJEXT)
|
||||
sio03_OBJECTS = $(am_sio03_OBJECTS)
|
||||
sio03_LDADD = $(LDADD)
|
||||
sio03_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
am_task01_OBJECTS = task01.$(OBJEXT)
|
||||
task01_OBJECTS = $(am_task01_OBJECTS)
|
||||
task01_LDADD = $(LDADD)
|
||||
task01_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
@ -169,12 +208,18 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(fio01_SOURCES) $(fio02_SOURCES) $(pio01_SOURCES) \
|
||||
$(rwl01_SOURCES) $(sio01_SOURCES) $(sio02_SOURCES) \
|
||||
$(sio03_SOURCES)
|
||||
DIST_SOURCES = $(fio01_SOURCES) $(fio02_SOURCES) $(pio01_SOURCES) \
|
||||
$(rwl01_SOURCES) $(sio01_SOURCES) $(sio02_SOURCES) \
|
||||
$(sio03_SOURCES)
|
||||
SOURCES = $(dir01_SOURCES) $(fio01_SOURCES) $(fio02_SOURCES) \
|
||||
$(fs01_SOURCES) $(fs02_SOURCES) $(fs03_SOURCES) \
|
||||
$(glob01_SOURCES) $(nwad01_SOURCES) $(nwif01_SOURCES) \
|
||||
$(nwif02_SOURCES) $(pio01_SOURCES) $(rwl01_SOURCES) \
|
||||
$(sio01_SOURCES) $(sio02_SOURCES) $(sio03_SOURCES) \
|
||||
$(task01_SOURCES)
|
||||
DIST_SOURCES = $(dir01_SOURCES) $(fio01_SOURCES) $(fio02_SOURCES) \
|
||||
$(fs01_SOURCES) $(fs02_SOURCES) $(fs03_SOURCES) \
|
||||
$(glob01_SOURCES) $(nwad01_SOURCES) $(nwif01_SOURCES) \
|
||||
$(nwif02_SOURCES) $(pio01_SOURCES) $(rwl01_SOURCES) \
|
||||
$(sio01_SOURCES) $(sio02_SOURCES) $(sio03_SOURCES) \
|
||||
$(task01_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
@ -384,13 +429,22 @@ AM_CPPFLAGS = \
|
||||
AM_LDFLAGS = -L../../lib/si -L../../lib/cmn
|
||||
AM_CFLAGS = $(PTHREAD_CFLAGS)
|
||||
LDADD = -lqsesi -lqsecmn $(PTHREAD_LIBS) $(am__append_1)
|
||||
dir01_SOURCES = dir01.c
|
||||
fio01_SOURCES = fio01.c
|
||||
fio02_SOURCES = fio02.c
|
||||
fs01_SOURCES = fs01.c
|
||||
fs02_SOURCES = fs02.c
|
||||
fs03_SOURCES = fs03.c
|
||||
glob01_SOURCES = glob01.c
|
||||
nwad01_SOURCES = nwad01.c
|
||||
nwif01_SOURCES = nwif01.c
|
||||
nwif02_SOURCES = nwif02.c
|
||||
pio01_SOURCES = pio01.c
|
||||
rwl01_SOURCES = rwl01.c
|
||||
sio01_SOURCES = sio01.c
|
||||
sio02_SOURCES = sio02.c
|
||||
sio03_SOURCES = sio03.c
|
||||
task01_SOURCES = task01.c
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
@ -475,6 +529,10 @@ clean-binPROGRAMS:
|
||||
echo " rm -f" $$list; \
|
||||
rm -f $$list
|
||||
|
||||
dir01$(EXEEXT): $(dir01_OBJECTS) $(dir01_DEPENDENCIES) $(EXTRA_dir01_DEPENDENCIES)
|
||||
@rm -f dir01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(dir01_OBJECTS) $(dir01_LDADD) $(LIBS)
|
||||
|
||||
fio01$(EXEEXT): $(fio01_OBJECTS) $(fio01_DEPENDENCIES) $(EXTRA_fio01_DEPENDENCIES)
|
||||
@rm -f fio01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fio01_OBJECTS) $(fio01_LDADD) $(LIBS)
|
||||
@ -483,6 +541,34 @@ fio02$(EXEEXT): $(fio02_OBJECTS) $(fio02_DEPENDENCIES) $(EXTRA_fio02_DEPENDENCIE
|
||||
@rm -f fio02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fio02_OBJECTS) $(fio02_LDADD) $(LIBS)
|
||||
|
||||
fs01$(EXEEXT): $(fs01_OBJECTS) $(fs01_DEPENDENCIES) $(EXTRA_fs01_DEPENDENCIES)
|
||||
@rm -f fs01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs01_OBJECTS) $(fs01_LDADD) $(LIBS)
|
||||
|
||||
fs02$(EXEEXT): $(fs02_OBJECTS) $(fs02_DEPENDENCIES) $(EXTRA_fs02_DEPENDENCIES)
|
||||
@rm -f fs02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs02_OBJECTS) $(fs02_LDADD) $(LIBS)
|
||||
|
||||
fs03$(EXEEXT): $(fs03_OBJECTS) $(fs03_DEPENDENCIES) $(EXTRA_fs03_DEPENDENCIES)
|
||||
@rm -f fs03$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fs03_OBJECTS) $(fs03_LDADD) $(LIBS)
|
||||
|
||||
glob01$(EXEEXT): $(glob01_OBJECTS) $(glob01_DEPENDENCIES) $(EXTRA_glob01_DEPENDENCIES)
|
||||
@rm -f glob01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(glob01_OBJECTS) $(glob01_LDADD) $(LIBS)
|
||||
|
||||
nwad01$(EXEEXT): $(nwad01_OBJECTS) $(nwad01_DEPENDENCIES) $(EXTRA_nwad01_DEPENDENCIES)
|
||||
@rm -f nwad01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(nwad01_OBJECTS) $(nwad01_LDADD) $(LIBS)
|
||||
|
||||
nwif01$(EXEEXT): $(nwif01_OBJECTS) $(nwif01_DEPENDENCIES) $(EXTRA_nwif01_DEPENDENCIES)
|
||||
@rm -f nwif01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(nwif01_OBJECTS) $(nwif01_LDADD) $(LIBS)
|
||||
|
||||
nwif02$(EXEEXT): $(nwif02_OBJECTS) $(nwif02_DEPENDENCIES) $(EXTRA_nwif02_DEPENDENCIES)
|
||||
@rm -f nwif02$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(nwif02_OBJECTS) $(nwif02_LDADD) $(LIBS)
|
||||
|
||||
pio01$(EXEEXT): $(pio01_OBJECTS) $(pio01_DEPENDENCIES) $(EXTRA_pio01_DEPENDENCIES)
|
||||
@rm -f pio01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(pio01_OBJECTS) $(pio01_LDADD) $(LIBS)
|
||||
@ -503,19 +589,32 @@ sio03$(EXEEXT): $(sio03_OBJECTS) $(sio03_DEPENDENCIES) $(EXTRA_sio03_DEPENDENCIE
|
||||
@rm -f sio03$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(sio03_OBJECTS) $(sio03_LDADD) $(LIBS)
|
||||
|
||||
task01$(EXEEXT): $(task01_OBJECTS) $(task01_DEPENDENCIES) $(EXTRA_task01_DEPENDENCIES)
|
||||
@rm -f task01$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(task01_OBJECTS) $(task01_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fio01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fio02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fs03.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glob01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwad01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwif01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nwif02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pio01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwl01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio01.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio02.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sio03.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/task01.Po@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/dir.h>
|
||||
#include <qse/si/dir.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/fmt.h>
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fio.h>
|
||||
#include <qse/si/fio.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fio.h>
|
||||
#include <qse/si/fio.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#define R(f) \
|
||||
do { \
|
||||
|
@ -1,8 +1,9 @@
|
||||
#include <qse/cmn/fs.h>
|
||||
#include <qse/si/fs.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fs.h>
|
||||
#include <qse/si/fs.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/path.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/fs.h>
|
||||
#include <qse/si/fs.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/path.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
@ -1,5 +1,5 @@
|
||||
#include <qse/cmn/glob.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/glob.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/str.h>
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/nwad.h>
|
||||
#include <qse/si/nwad.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
@ -1,9 +1,9 @@
|
||||
#include <qse/cmn/nwif.h>
|
||||
#include <qse/si/nwif.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/fmt.h>
|
||||
|
||||
#include <locale.h>
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/nwif.h>
|
||||
#include <qse/si/nwif.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/str.h>
|
||||
#include <qse/cmn/fmt.h>
|
@ -1,7 +1,7 @@
|
||||
#include <qse/cmn/pio.h>
|
||||
#include <qse/si/pio.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/env.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <qse/sys/rwl.h>
|
||||
#include <qse/sys/thr.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/rwl.h>
|
||||
#include <qse/si/thr.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/si/intr.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/sys/intr.h>
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/fmt.h>
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
#include <qse/cmn/task.h>
|
||||
#include <qse/si/task.h>
|
||||
#include <qse/cmn/main.h>
|
||||
#include <qse/cmn/mbwc.h>
|
||||
#include <qse/cmn/mem.h>
|
||||
#include <qse/cmn/sio.h>
|
||||
#include <qse/si/sio.h>
|
||||
|
||||
#include <locale.h>
|
||||
#if defined(_WIN32)
|
Reference in New Issue
Block a user