diff options
-rw-r--r-- | .gitignore | 49 | ||||
-rw-r--r--[-rwxr-xr-x] | AUTHORS (renamed from toj/jcs/home.css) | 0 | ||||
-rw-r--r-- | COPYING | 21 | ||||
-rw-r--r--[-rwxr-xr-x] | ChangeLog (renamed from toj/jcs/sq.css) | 0 | ||||
-rw-r--r-- | INSTALL | 0 | ||||
-rw-r--r-- | LICENSE.txt | 9 | ||||
-rw-r--r-- | Makefile.am | 6 | ||||
-rw-r--r-- | NEWS | 0 | ||||
-rw-r--r-- | README | 0 | ||||
-rwxr-xr-x | autogen.sh | 10 | ||||
-rw-r--r-- | configure.ac | 143 | ||||
-rw-r--r--[-rwxr-xr-x] | include/judge_def.h (renamed from toj/center/src/judgk_com.h) | 27 | ||||
-rw-r--r-- | judge/Makefile.am | 38 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center.h (renamed from toj/center/src/center.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_com.h (renamed from toj/center/src/center_com.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_judge.cpp (renamed from toj/center/src/center_judge.cpp) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_judge.h (renamed from toj/center/src/center_judge.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_manage.cpp (renamed from toj/center/src/center_manage.cpp) | 8 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_manage.h (renamed from toj/center/src/center_manage.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_server.cpp (renamed from toj/center/src/center_server.cpp) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/center_server.h (renamed from toj/center/src/center_server.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/event_exec.cpp (renamed from toj/php/event_exec.cpp) | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/event_exec.h (renamed from toj/php/event_exec.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test.h (renamed from toj/center/src/jmod_test.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test_check.cpp (renamed from toj/center/src/jmod_test_check.cpp) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test_check.h (renamed from toj/center/src/jmod_test_check.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test_line.cpp (renamed from toj/center/src/jmod_test_line.cpp) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test_line.h (renamed from toj/center/src/jmod_test_line.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test_manage.cpp (renamed from toj/center/src/jmod_test_manage.cpp) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/jmod_test_manage.h (renamed from toj/center/src/jmod_test_manage.h) | 0 | ||||
-rw-r--r-- | judge/judge.h (renamed from toj/center/src/judge.h) | 0 | ||||
-rw-r--r-- | judge/judge_manage.cpp (renamed from toj/center/src/judge_manage.cpp) | 6 | ||||
-rw-r--r-- | judge/judge_manage.h (renamed from toj/center/src/judge_manage.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/judge_server.cpp (renamed from toj/center/src/judge_server.cpp) | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/judge_server.h (renamed from toj/center/src/judge_server.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/judgm_lib.h (renamed from toj/center/src/judgm_lib.h) | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/judgm_line.h (renamed from toj/center/src/judgm_line.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/judgm_manage.h (renamed from toj/center/src/judgm_manage.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/netio.h (renamed from toj/center/src/netio.h) | 0 | ||||
-rw-r--r-- | judge/tool.cpp (renamed from toj/center/src/tool.cpp) | 4 | ||||
-rw-r--r-- | judge/tool.h (renamed from toj/center/src/tool.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judge/tpool.h (renamed from toj/center/src/tpool.h) | 0 | ||||
-rw-r--r-- | judgk/Makefile.in | 79 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk.h (renamed from toj/center/src/judgk.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_hyperio.c (renamed from toj/center/src/judgk_hyperio.c) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_hyperio.h (renamed from toj/center/src/judgk_hyperio.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_mod.c (renamed from toj/center/src/judgk_mod.c) | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_mod.h (renamed from toj/center/src/judgk_mod.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_proc.c (renamed from toj/center/src/judgk_proc.c) | 3 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_proc.h (renamed from toj/center/src/judgk_proc.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_security.c (renamed from toj/center/src/judgk_security.c) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_security.h (renamed from toj/center/src/judgk_security.h) | 0 | ||||
-rw-r--r-- | judgk/judgk_security_asm.S (renamed from toj/center/src/judgk_security_asm.S) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_syscall.c (renamed from toj/center/src/judgk_syscall.c) | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_syscall.h (renamed from toj/center/src/judgk_syscall.h) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | judgk/judgk_syscall_asm.S (renamed from toj/center/src/judgk_syscall_asm.S) | 0 | ||||
-rwxr-xr-x | toj/center/pro/packpro.sh | 3 | ||||
-rwxr-xr-x | toj/center/src/Makefile | 27 | ||||
-rwxr-xr-x | toj/center/src/hyperio/Makefile | 13 | ||||
-rwxr-xr-x | toj/center/src/hyperio/hyperio_mod.c | 58 | ||||
-rwxr-xr-x | toj/center/src/hyperio/hyperio_mod.h | 21 | ||||
-rwxr-xr-x | toj/center/src/hyperio/test.cpp | 173 | ||||
-rwxr-xr-x | toj/center/src/judge_def.h | 21 | ||||
-rw-r--r--[-rwxr-xr-x] | web/index.html (renamed from toj/index.html) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/common.css (renamed from toj/jcs/common.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/common.js (renamed from toj/jcs/common.js) | 0 | ||||
-rw-r--r-- | web/jcs/home.css | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/home.js (renamed from toj/jcs/home.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/index.css (renamed from toj/jcs/index.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/index.js (renamed from toj/jcs/index.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/notice.css (renamed from toj/jcs/notice.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/notice.js (renamed from toj/jcs/notice.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/pro.css (renamed from toj/jcs/pro.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/pro.js (renamed from toj/jcs/pro.js) | 0 | ||||
-rw-r--r-- | web/jcs/sq.css | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/sq.js (renamed from toj/jcs/sq.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/stat.css (renamed from toj/jcs/stat.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/stat.js (renamed from toj/jcs/stat.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/user.css (renamed from toj/jcs/user.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/jcs/user.js (renamed from toj/jcs/user.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/_json.php (renamed from toj/php/_json.php) | 0 | ||||
-rw-r--r-- | web/php/_pzread_update.php (renamed from toj/php/_pzread_update.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/_test.php (renamed from toj/php/_test.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/common.inc.php (renamed from toj/php/common.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/connect.inc.php (renamed from toj/php/connect.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/event.inc.php (renamed from toj/php/event.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/event.php (renamed from toj/php/event.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/notice.inc.php (renamed from toj/php/notice.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/notice.php (renamed from toj/php/notice.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/problem.inc.php (renamed from toj/php/problem.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/problem.php (renamed from toj/php/problem.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/pzreadtest.php (renamed from toj/php/pzreadtest.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/sqlib.inc.php (renamed from toj/php/sqlib.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/sqlib_scoreboard.inc.php (renamed from toj/php/sqlib_scoreboard.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/square.inc.php (renamed from toj/php/square.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/square.php (renamed from toj/php/square.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/status.inc.php (renamed from toj/php/status.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/status.php (renamed from toj/php/status.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/step.inc.php (renamed from toj/php/step.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/step.php (renamed from toj/php/step.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/teamt.php (renamed from toj/php/teamt.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/test.php (renamed from toj/php/test.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/user.inc.php (renamed from toj/php/user.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/php/user.php (renamed from toj/php/user.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_multisub/pmod_multisub.css (renamed from toj/pmod/pmod_multisub/pmod_multisub.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_multisub/pmod_multisub.html (renamed from toj/pmod/pmod_multisub/pmod_multisub.html) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_multisub/pmod_multisub.js (renamed from toj/pmod/pmod_multisub/pmod_multisub.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_multisub/pmod_multisub.php (renamed from toj/pmod/pmod_multisub/pmod_multisub.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_test/pmod_test.css (renamed from toj/pmod/pmod_test/pmod_test.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_test/pmod_test.html (renamed from toj/pmod/pmod_test/pmod_test.html) | 0 | ||||
-rw-r--r-- | web/pmod/pmod_test/pmod_test.inc.php (renamed from toj/pmod/pmod_test/pmod_test.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_test/pmod_test.js (renamed from toj/pmod/pmod_test/pmod_test.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/pmod/pmod_test/pmod_test.php (renamed from toj/pmod/pmod_test/pmod_test.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/smod/smod_test/smod_test.css (renamed from toj/smod/smod_test/smod_test.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/smod/smod_test/smod_test.html (renamed from toj/smod/smod_test/smod_test.html) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/smod/smod_test/smod_test.js (renamed from toj/smod/smod_test/smod_test.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/smod/smod_test/smod_test.php (renamed from toj/smod/smod_test/smod_test.php) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_contest/sqmod_contest.css (renamed from toj/sqmod/sqmod_contest/sqmod_contest.css) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_contest/sqmod_contest.html (renamed from toj/sqmod/sqmod_contest/sqmod_contest.html) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_contest/sqmod_contest.inc.php (renamed from toj/sqmod/sqmod_contest/sqmod_contest.inc.php) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_contest/sqmod_contest.js (renamed from toj/sqmod/sqmod_contest/sqmod_contest.js) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_contest/sqmod_contest.php (renamed from toj/sqmod/sqmod_contest/sqmod_contest.php) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_contest/team.inc.php (renamed from toj/sqmod/sqmod_contest/team.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/sqmod/sqmod_test/sqmod_test.css (renamed from toj/sqmod/sqmod_test/sqmod_test.css) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/sqmod/sqmod_test/sqmod_test.html (renamed from toj/sqmod/sqmod_test/sqmod_test.html) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_test/sqmod_test.inc.php (renamed from toj/sqmod/sqmod_test/sqmod_test.inc.php) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/sqmod/sqmod_test/sqmod_test.js (renamed from toj/sqmod/sqmod_test/sqmod_test.js) | 0 | ||||
-rw-r--r--[-rwxr-xr-x] | web/sqmod/sqmod_test/sqmod_test.php (renamed from toj/sqmod/sqmod_test/sqmod_test.php) | 0 | ||||
-rwxr-xr-x | web/sqmod/sqmod_test/team.inc.php (renamed from toj/sqmod/sqmod_test/team.inc.php) | 0 |
129 files changed, 424 insertions, 339 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..27b6b8d --- /dev/null +++ b/.gitignore @@ -0,0 +1,49 @@ +*~ +*.o +*.lo +*.la +*.so +*.ko +.*.swp +.*.swo +.*.cmd +.tmp_versions +.deps +.libs +Module.symvers +modules.order +aclocal.m4 +ar-lib +autoscan.log +autom4te.cache +config.log +config.msg +config.sub +config.guess +config.status +configure +configure.scan +compile +depcomp +install-sh +libtool +libtool.m4 +ltmain.sh +lt~obsolete.m4 +ltoptions.m4 +ltsugar.m4 +ltversion.m4 +missing +stamp-h1 +/Makefile +/Makefile.in +/include/judge_conf.h +/include/judge_conf.h.in +/judge/Makefile +/judge/Makefile.in +/judge/center_server +/judge/judge_server +/judgk/Makefile +/judgk/judgk.mod.c +/taiwan-online-judge-*.tar.*z +/taiwan-online-judge-*.zip diff --git a/toj/jcs/home.css b/AUTHORS index e69de29..e69de29 100755..100644 --- a/toj/jcs/home.css +++ b/AUTHORS @@ -0,0 +1,21 @@ +MIT License + +Copyright (C) 2013 Taiwan Online Judge + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/toj/jcs/sq.css b/ChangeLog index e69de29..e69de29 100755..100644 --- a/toj/jcs/sq.css +++ b/ChangeLog diff --git a/LICENSE.txt b/LICENSE.txt deleted file mode 100644 index e9f2bba..0000000 --- a/LICENSE.txt +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (C) 2013 Taiwan Online Judge - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..3704095 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,6 @@ +ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = judge judgk + +EXTRA_DIST = web include/judge_def.h +dist_doc_DATA = COPYING README INSTALL AUTHORS ChangeLog NEWS + diff --git a/autogen.sh b/autogen.sh new file mode 100755 index 0000000..8cdc09e --- /dev/null +++ b/autogen.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +set -x + +libtoolize --install --copy +aclocal +autoconf +autoheader +automake --add-missing --copy +automake diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..e782191 --- /dev/null +++ b/configure.ac @@ -0,0 +1,143 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_INIT([taiwan-online-judge], [0.1], [BUG-REPORT-ADDRESS]) +AM_INIT_AUTOMAKE([foreign -Wall]) +AM_SILENT_RULES([yes]) +AC_CONFIG_SRCDIR([include/judge_def.h]) +AC_CONFIG_HEADERS([include/judge_conf.h]) +AC_CONFIG_MACRO_DIR([m4]) + +# Checks for platform. +AC_CANONICAL_HOST +AC_CANONICAL_BUILD +if test "$build" '!=' "$host" ; then + AC_MSG_ERROR([This program does not support cross-compiling]) +fi + +case "${host_cpu}" in + x86_64|amd64) + ;; + *) + AC_MSG_ERROR([This program can only be run on x86_64 platform]) + ;; +esac + +case "${host_os}" in + *linux*) + ;; + *) + AC_MSG_ERROR([Sorry, we only support Linux]) + ;; +esac + +# Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AM_PROG_CC_C_O +AM_PROG_AR +AC_PROG_LIBTOOL +AC_PROG_MKDIR_P +AC_PROG_INSTALL + + +# Checks for libraries. +AC_CHECK_LIB([bz2], [BZ2_bzCompress], [true], + AC_MSG_ERROR([bzip2 is missing])) +AC_CHECK_LIB([dl], [dlopen], [true], + AC_MSG_ERROR([dl is missing])) +AC_CHECK_LIB([tar], [tar_open], [true], + AC_MSG_ERROR([libtar is missing])) +AC_CHECK_LIB([pq], [PQconnectdb], [true], + AC_MSG_ERROR([PostgreSQL client library is missing])) + +# pkg-config +PKG_CHECK_MODULES([CURL], [libcurl], [true], + AC_MSG_ERROR([curl is missing])) +PKG_CHECK_MODULES([JSON], [json], [true], + AC_MSG_ERROR([json is missing])) + + +# options +AC_ARG_WITH([kernel-cc], + [AS_HELP_STRING([--with-kernel-cc=K_CC], + [C compiler used to compile kernel modules @<:@default=gcc@:>@])], + [with_kernel_cc="$withval"], [with_kernel_cc=gcc]) +AC_ARG_WITH([kernel-ver], + [AS_HELP_STRING([--with-kernel-ver=K_VER], + [select the kernel header version @<:@default=$(shell uname -r)@:>@])], + [with_kernel_ver="$withval"], [with_kernel_ver='$(shell uname -r)']) + +if test "${with_kernel_ver}" = '$(shell uname -r)'; then + k_ver_check="`echo ${with_kernel_ver} | sed 's/$(shell \(.*\))/\1/'`" + k_ver_check="`${k_ver_check}`" +else + k_ver_check="${with_kernel_ver}" +fi + +AC_ARG_WITH([kernel-src], + [AS_HELP_STRING([--with-kernel-src=K_SRC], + [the path to your kernel source tree + @<:@default=/lib/modules/K_VER/build@:>@])], + [with_kernel_src="$withval"], + [with_kernel_src="/lib/modules/${with_kernel_ver}/build" + k_src_check="/lib/modules/${k_ver_check}/build"]) + + +AC_CHECK_FILES([${k_src_check}/Makefile], [true], + [AC_MSG_ERROR([Linux kernel headers cannot be found. You should specify the path using --with-kernel-ver or --with-kernel-src])]) + +AC_SUBST([KERNEL_CC], ["$with_kernel_cc"]) +AC_SUBST([KERNEL_SRC], ["$with_kernel_src"]) + +# Checks for header files. +dnl We only support Linux, so it is no need to check header files (?) +dnl AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netinet/in.h stdlib.h string.h sys/ioctl.h sys/socket.h unistd.h]) + +# Checks for typedefs, structures, and compiler characteristics. + +dnl We only use C++, so we do not have to check them. +dnl AC_CHECK_HEADER_STDBOOL +dnl AC_C_INLINE + +AC_TYPE_OFF_T +AC_TYPE_PID_T +AC_TYPE_SIZE_T +AC_TYPE_SSIZE_T + +# Checks for library functions. +AC_FUNC_FORK +test x"${ac_cv_func_fork_works}" = xyes || \ + AC_MSG_ERROR(This program requires a working fork function.) + +AC_FUNC_MMAP +test x"${ac_cv_func_mmap_fixed_mapped}" = xyes || \ + AC_MSG_ERROR(This program requires a working mmap function.) + +dnl We do not use malloc(0), so this check may not be important. (?) +dnl AC_FUNC_MALLOC + +for f in \ + dup2 getcwd memset mkdir munmap realpath rmdir socket +do + AC_CHECK_FUNC([$f], [true], + [AC_MSG_ERROR(This program requires function $f!)]) +done + +AC_CONFIG_FILES([Makefile judge/Makefile judgk/Makefile]) +AC_OUTPUT + +config_msg_gen () { + echo "C compiler ........................... $CC" + echo "C++ compiler ......................... $CXX" + echo "Kernel C compiler .................... $with_kernel_cc" + echo "Kernel source ........................ $with_kernel_src" +} + +echo "" +config_msg_gen +config_msg_gen > config.msg +echo "The above messages has been written to config.msg" +echo "" +echo "Note: You should build this package with GNU make!" +echo "" diff --git a/toj/center/src/judgk_com.h b/include/judge_def.h index 842c69c..bf7c07f 100755..100644 --- a/toj/center/src/judgk_com.h +++ b/include/judge_def.h @@ -1,3 +1,28 @@ +#ifndef JUDGE_DEF_H +#define JUDGE_DEF_H + +#define JUDGE_AC 0 +#define JUDGE_WA 1 +#define JUDGE_TLE 2 +#define JUDGE_MLE 3 +#define JUDGE_RF 4 +#define JUDGE_RE 5 +#define JUDGE_CE 6 +#define JUDGE_ERR 7 +#define JUDGE_WAIT 100 +#define JUDGE_RUN 101 + +#define JUDGE_CPP 0x1 +#define JUDGE_JAVA 0x2 +#define JUDGE_PASCEL 0x4 + +#define JUDGE_SUB_PARAMMAX 4096 +#define JUDGE_SET_FILEMAX 65536 +#define JUDGE_SET_DATAMAX 4096 +#define JUDGE_RES_DATAMAX 65536 + +#define DLL_PUBLIC extern "C" __attribute__ ((visibility ("default"))) + #define IOCTL_PROC_ADD _IOWR('x',0x0,int) #define IOCTL_PROC_GET _IOWR('x',0x1,int) #define IOCTL_PROC_DEL _IOR('x',0x3,int) @@ -23,3 +48,5 @@ struct judgk_com_proc_get{ unsigned long runtime; unsigned long memory; }; + +#endif diff --git a/judge/Makefile.am b/judge/Makefile.am new file mode 100644 index 0000000..b24df75 --- /dev/null +++ b/judge/Makefile.am @@ -0,0 +1,38 @@ +bin_PROGRAMS = center_server judge_server + +center_server_CFLAGS = -I$(srcdir)/include -rdynamic -fvisibility=hidden \ + -pthread $(JSON_CFLAGS) $(CURL_CFLAGS) +center_server_LDFLAGS = -pthread +center_server_LDADD = -ldl -lpq -ltar -lbz2 $(JSON_LIBS) $(CURL_LIBS) +center_server_SOURCES = \ + center_server.cpp center_manage.cpp center_judge.cpp \ + tool.cpp event_exec.cpp \ + center_com.h center_judge.h center_manage.h center_server.h center.h \ + netio.h tpool.h judgm_manage.h event_exec.h tool.h + +judge_server_CFLAGS = -I$(srcdir)/include -pthread +judge_server_LDFLAGS = -pthread +judge_server_LDADD = -ldl -lbz2 -ltar +judge_server_SOURCES = \ + judge_server.cpp judge_manage.cpp tool.cpp \ + tpool.h judge.h judgm_line.h judgm_lib.h judge_manage.h judge_server.h \ + netio.h center_com.h tool.h + +pkglib_LTLIBRARIES = libjmod_test_check.la libjmod_test_line.la libjmod_test_manage.la +libjmod_test_check_la_CFLAGS = -I$(srcdir)/include +libjmod_test_check_la_LDFLAGS = +libjmod_test_check_la_LIBADD = +libjmod_test_check_la_SOURCES = jmod_test_check.cpp \ + judgm_lib.h jmod_test.h jmod_test_check.h + +libjmod_test_line_la_CFLAGS = -I$(srcdir)/include -pthread +libjmod_test_line_la_LDFLAGS = -pthread $(JSON_CFLAGS) +libjmod_test_line_la_LIBADD = $(JSON_LIBS) +libjmod_test_line_la_SOURCES = jmod_test_line.cpp \ + judgm_lib.h judgm_line.h jmod_test.h jmod_test_line.h + +libjmod_test_manage_la_CFLAGS = -I$(srcdir)/include -pthread +libjmod_test_manage_la_LDFLAGS = -pthread $(JSON_CFLAGS) +libjmod_test_manage_la_LIBADD = -ldl $(JSON_LIBS) +libjmod_test_manage_la_SOURCES = jmod_test_manage.cpp \ + judgm_lib.h judgm_manage.h jmod_test.h jmod_test_manage.h diff --git a/toj/center/src/center.h b/judge/center.h index 2625ab4..2625ab4 100755..100644 --- a/toj/center/src/center.h +++ b/judge/center.h diff --git a/toj/center/src/center_com.h b/judge/center_com.h index 6973eec..6973eec 100755..100644 --- a/toj/center/src/center_com.h +++ b/judge/center_com.h diff --git a/toj/center/src/center_judge.cpp b/judge/center_judge.cpp index 46600c2..fc4dd85 100755..100644 --- a/toj/center/src/center_judge.cpp +++ b/judge/center_judge.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -14,8 +18,8 @@ #include<queue> #include<string> +#include<judge_def.h> #include"netio.h" -#include"judge_def.h" #include"judgm_manage.h" #include"center.h" #include"center_com.h" diff --git a/toj/center/src/center_judge.h b/judge/center_judge.h index a955ce9..a955ce9 100755..100644 --- a/toj/center/src/center_judge.h +++ b/judge/center_judge.h diff --git a/toj/center/src/center_manage.cpp b/judge/center_manage.cpp index a6a759c..865cb06 100755..100644 --- a/toj/center/src/center_manage.cpp +++ b/judge/center_manage.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -15,9 +19,9 @@ #include<map> #include<string> +#include<judge_def.h> #include"tpool.h" -#include"/srv/http/toj/php/event_exec.h" -#include"judge_def.h" +#include"event_exec.h" #include"judgm_manage.h" #include"center.h" #include"center_manage.h" diff --git a/toj/center/src/center_manage.h b/judge/center_manage.h index b2ee36e..b2ee36e 100755..100644 --- a/toj/center/src/center_manage.h +++ b/judge/center_manage.h diff --git a/toj/center/src/center_server.cpp b/judge/center_server.cpp index 030e273..0c5da53 100755..100644 --- a/toj/center/src/center_server.cpp +++ b/judge/center_server.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> diff --git a/toj/center/src/center_server.h b/judge/center_server.h index 039e84b..039e84b 100755..100644 --- a/toj/center/src/center_server.h +++ b/judge/center_server.h diff --git a/toj/php/event_exec.cpp b/judge/event_exec.cpp index af258c0..7723f74 100755..100644 --- a/toj/php/event_exec.cpp +++ b/judge/event_exec.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include "event_exec.h" #define EVENT_BUFLEN 1005 diff --git a/toj/php/event_exec.h b/judge/event_exec.h index aec1acb..aec1acb 100755..100644 --- a/toj/php/event_exec.h +++ b/judge/event_exec.h diff --git a/toj/center/src/jmod_test.h b/judge/jmod_test.h index 844f5c8..844f5c8 100755..100644 --- a/toj/center/src/jmod_test.h +++ b/judge/jmod_test.h diff --git a/toj/center/src/jmod_test_check.cpp b/judge/jmod_test_check.cpp index ae4d060..ae5fe89 100755..100644 --- a/toj/center/src/jmod_test_check.cpp +++ b/judge/jmod_test_check.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -6,7 +10,7 @@ #include<fcntl.h> #include<errno.h> -#include"judge_def.h" +#include<judge_def.h> #include"judgm_lib.h" #include"jmod_test.h" #include"jmod_test_check.h" diff --git a/toj/center/src/jmod_test_check.h b/judge/jmod_test_check.h index 20a6286..20a6286 100755..100644 --- a/toj/center/src/jmod_test_check.h +++ b/judge/jmod_test_check.h diff --git a/toj/center/src/jmod_test_line.cpp b/judge/jmod_test_line.cpp index be1177c..31bdd34 100755..100644 --- a/toj/center/src/jmod_test_line.cpp +++ b/judge/jmod_test_line.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<limits.h> @@ -5,7 +9,7 @@ #include<pthread.h> #include<json/json.h> -#include"judge_def.h" +#include<judge_def.h> #include"judgm_lib.h" #include"judgm_line.h" #include"jmod_test.h" diff --git a/toj/center/src/jmod_test_line.h b/judge/jmod_test_line.h index c09a503..c09a503 100755..100644 --- a/toj/center/src/jmod_test_line.h +++ b/judge/jmod_test_line.h diff --git a/toj/center/src/jmod_test_manage.cpp b/judge/jmod_test_manage.cpp index e77adc9..192931c 100755..100644 --- a/toj/center/src/jmod_test_manage.cpp +++ b/judge/jmod_test_manage.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -5,7 +9,7 @@ #include<dlfcn.h> #include<json/json.h> -#include"judge_def.h" +#include<judge_def.h> #include"judgm_lib.h" #include"judgm_manage.h" #include"jmod_test.h" diff --git a/toj/center/src/jmod_test_manage.h b/judge/jmod_test_manage.h index b0244e3..b0244e3 100755..100644 --- a/toj/center/src/jmod_test_manage.h +++ b/judge/jmod_test_manage.h diff --git a/toj/center/src/judge.h b/judge/judge.h index 1b5a885..1b5a885 100644 --- a/toj/center/src/judge.h +++ b/judge/judge.h diff --git a/toj/center/src/judge_manage.cpp b/judge/judge_manage.cpp index 32181bc..1c713d9 100644 --- a/toj/center/src/judge_manage.cpp +++ b/judge/judge_manage.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -10,8 +14,8 @@ #include<sys/mman.h> #include<map> +#include<judge_def.h> #include"tpool.h" -#include"judge_def.h" #include"judge.h" #include"judgm_line.h" #include"judgm_lib.h" diff --git a/toj/center/src/judge_manage.h b/judge/judge_manage.h index 594ea71..594ea71 100644 --- a/toj/center/src/judge_manage.h +++ b/judge/judge_manage.h diff --git a/toj/center/src/judge_server.cpp b/judge/judge_server.cpp index 66b4d01..2bea17c 100755..100644 --- a/toj/center/src/judge_server.cpp +++ b/judge/judge_server.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<stdio.h> #include<stdlib.h> #include<string.h> @@ -20,9 +24,9 @@ #include<map> #include<queue> +#include<judge_def.h> #include"netio.h" #include"tpool.h" -#include"judge_def.h" #include"judge.h" #include"center_com.h" #include"judgm_line.h" diff --git a/toj/center/src/judge_server.h b/judge/judge_server.h index 90a4e7c..90a4e7c 100755..100644 --- a/toj/center/src/judge_server.h +++ b/judge/judge_server.h diff --git a/toj/center/src/judgm_lib.h b/judge/judgm_lib.h index 2007763..041901d 100755..100644 --- a/toj/center/src/judgm_lib.h +++ b/judge/judgm_lib.h @@ -17,7 +17,6 @@ #include<utility> #include"judge.h" -#include"judgk_com.h" typedef int (*judgm_proc_check_fn)(); diff --git a/toj/center/src/judgm_line.h b/judge/judgm_line.h index 1b36c74..1b36c74 100755..100644 --- a/toj/center/src/judgm_line.h +++ b/judge/judgm_line.h diff --git a/toj/center/src/judgm_manage.h b/judge/judgm_manage.h index 2795ec7..2795ec7 100755..100644 --- a/toj/center/src/judgm_manage.h +++ b/judge/judgm_manage.h diff --git a/toj/center/src/netio.h b/judge/netio.h index db54b23..db54b23 100755..100644 --- a/toj/center/src/netio.h +++ b/judge/netio.h diff --git a/toj/center/src/tool.cpp b/judge/tool.cpp index b4a302d..1c4c10a 100644 --- a/toj/center/src/tool.cpp +++ b/judge/tool.cpp @@ -1,3 +1,7 @@ +#ifdef HAVE_CONFIG_H +# include<judge_conf.h> +#endif + #include<string.h> #include<dirent.h> #include<unistd.h> diff --git a/toj/center/src/tool.h b/judge/tool.h index f876c29..f876c29 100644 --- a/toj/center/src/tool.h +++ b/judge/tool.h diff --git a/toj/center/src/tpool.h b/judge/tpool.h index c06efc1..c06efc1 100755..100644 --- a/toj/center/src/tpool.h +++ b/judge/tpool.h diff --git a/judgk/Makefile.in b/judgk/Makefile.in new file mode 100644 index 0000000..1fea31d --- /dev/null +++ b/judgk/Makefile.in @@ -0,0 +1,79 @@ +ifneq ($(KERNELRELEASE),) + CC = @KERNEL_CC@ + judgk-objs := judgk_mod.o judgk_proc.o judgk_syscall.o judgk_syscall_asm.o judgk_security.o judgk_security_asm.o judgk_hyperio.o + obj-m := judgk.o +else + judgk_source = @abs_top_srcdir@/judgk + judgk_include= -I"@abs_top_srcdir@/include" + linux_source = @KERNEL_SRC@ + + prefix = @prefix@ + exec_prefix = @exec_prefix@ + libdir = @libdir@ + pkglibdir = $(libdir)/@PACKAGE@ + +.PHONY: all distdir install-exec install-data install-dvi install-html \ + install-info install-ps install-pdf uninstall check installcheck \ + mostlyclean clean distclean maintainer-clean \ + dvi pdf ps info html + +all: judgk.ko + +judgk.ko: + $(MAKE) -C $(linux_source) M=$(judgk_source) EXTRA_CFLAGS=$(judgk_include) modules + +distdir: + @MKDIR_P@ $(distdir)/judgk + cp -p \ + judgk.h \ + judgk_hyperio.c \ + judgk_hyperio.h \ + judgk_mod.c \ + judgk_mod.h \ + judgk_proc.c \ + judgk_proc.h \ + judgk_security_asm.S \ + judgk_security.c \ + judgk_security.h \ + judgk_syscall_asm.S \ + judgk_syscall.c \ + judgk_syscall.h \ + Makefile.in \ + $(distdir) + +install: installdirs install-data install-exec +installdirs: + @MKDIR_P@ "$(DESTDIR)$(pkglibdir)/modules" +install-exec: all + @INSTALL@ -m 644 judgk.ko \ + "$(DESTDIR)$(pkglibdir)/modules" +install-data: install-dvi install-html install-info install-ps install-pdf +install-dvi: +install-html: +install-info: +install-ps: +install-pdf: + +uninstall: + rm -f "$(DESTDIR)$(pkglibdir)/modules/judgk.ko" + +check: +installcheck: + +mostlyclean: clean +clean: + $(MAKE) -C $(linux_source) SUBDIRS=$(judgk_source) clean +distclean: clean + rm -f Makefile +maintainer-clean: distclean + +dvi: +pdf: +ps: +info: +html: + +tags: +ctags: + +endif diff --git a/toj/center/src/judgk.h b/judgk/judgk.h index 18f9a6c..18f9a6c 100755..100644 --- a/toj/center/src/judgk.h +++ b/judgk/judgk.h diff --git a/toj/center/src/judgk_hyperio.c b/judgk/judgk_hyperio.c index 67b0ef6..869a07b 100755..100644 --- a/toj/center/src/judgk_hyperio.c +++ b/judgk/judgk_hyperio.c @@ -7,8 +7,8 @@ #include<asm/atomic.h> #include<asm/mman.h> +#include<judge_def.h> #include"judgk.h" -#include"judgk_com.h" #include"judgk_hyperio.h" int judgk_hyperio_init(){ diff --git a/toj/center/src/judgk_hyperio.h b/judgk/judgk_hyperio.h index ccc1449..ccc1449 100755..100644 --- a/toj/center/src/judgk_hyperio.h +++ b/judgk/judgk_hyperio.h diff --git a/toj/center/src/judgk_mod.c b/judgk/judgk_mod.c index ca2f533..fb5a373 100755..100644 --- a/toj/center/src/judgk_mod.c +++ b/judgk/judgk_mod.c @@ -6,8 +6,8 @@ #include<linux/fs.h> #include<linux/sched.h> +#include<judge_def.h> #include"judgk.h" -#include"judgk_com.h" #include"judgk_mod.h" static int __init mod_init(){ diff --git a/toj/center/src/judgk_mod.h b/judgk/judgk_mod.h index 58bc76b..58bc76b 100755..100644 --- a/toj/center/src/judgk_mod.h +++ b/judgk/judgk_mod.h diff --git a/toj/center/src/judgk_proc.c b/judgk/judgk_proc.c index 9780498..48ec108 100755..100644 --- a/toj/center/src/judgk_proc.c +++ b/judgk/judgk_proc.c @@ -5,9 +5,8 @@ #include<linux/kthread.h> #include<asm/uaccess.h> -#include"judge_def.h" +#include<judge_def.h> #include"judgk.h" -#include"judgk_com.h" #include"judgk_proc.h" int judgk_proc_init(){ diff --git a/toj/center/src/judgk_proc.h b/judgk/judgk_proc.h index fd60d30..fd60d30 100755..100644 --- a/toj/center/src/judgk_proc.h +++ b/judgk/judgk_proc.h diff --git a/toj/center/src/judgk_security.c b/judgk/judgk_security.c index d998223..d998223 100755..100644 --- a/toj/center/src/judgk_security.c +++ b/judgk/judgk_security.c diff --git a/toj/center/src/judgk_security.h b/judgk/judgk_security.h index 3855d7b..3855d7b 100755..100644 --- a/toj/center/src/judgk_security.h +++ b/judgk/judgk_security.h diff --git a/toj/center/src/judgk_security_asm.S b/judgk/judgk_security_asm.S index 80edf37..80edf37 100644 --- a/toj/center/src/judgk_security_asm.S +++ b/judgk/judgk_security_asm.S diff --git a/toj/center/src/judgk_syscall.c b/judgk/judgk_syscall.c index c876283..2970674 100755..100644 --- a/toj/center/src/judgk_syscall.c +++ b/judgk/judgk_syscall.c @@ -8,7 +8,6 @@ #include"judge_def.h" #include"judgk.h" -#include"judgk_com.h" #include"judgk_syscall.h" int judgk_syscall_hook(){ diff --git a/toj/center/src/judgk_syscall.h b/judgk/judgk_syscall.h index 143a2db..143a2db 100755..100644 --- a/toj/center/src/judgk_syscall.h +++ b/judgk/judgk_syscall.h diff --git a/toj/center/src/judgk_syscall_asm.S b/judgk/judgk_syscall_asm.S index 03ff960..03ff960 100755..100644 --- a/toj/center/src/judgk_syscall_asm.S +++ b/judgk/judgk_syscall_asm.S diff --git a/toj/center/pro/packpro.sh b/toj/center/pro/packpro.sh deleted file mode 100755 index b53a707..0000000 --- a/toj/center/pro/packpro.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -tar -jcvf ../tmp/propack/$1.tar.bz2 -C $1 . diff --git a/toj/center/src/Makefile b/toj/center/src/Makefile deleted file mode 100755 index 17cbcf3..0000000 --- a/toj/center/src/Makefile +++ /dev/null @@ -1,27 +0,0 @@ -ifneq ($(KERNELRELEASE),) - judgk-objs := judgk_mod.o judgk_proc.o judgk_syscall.o judgk_syscall_asm.o judgk_security.o judgk_security_asm.o judgk_hyperio.o - obj-m := judgk.o -else - KERNEL_SOURCE := /lib/modules/$(shell uname -r)/build - PWD := $(shell pwd) -default: - ${MAKE} -C ${KERNEL_SOURCE} M=${PWD} modules - mv judgk.ko ../judge/ - - g++ -g -rdynamic -fvisibility=hidden -O2 center_server.cpp center_manage.cpp center_judge.cpp tool.cpp /srv/http/toj/php/event_exec.cpp -ldl -lpq -ltar -lbz2 -ljson -lcurl -pthread -o center_server - g++ -g -O2 judge_server.cpp judge_manage.cpp tool.cpp -ldl -lbz2 -ltar -pthread -o judge_server - mv center_server ../ - mv judge_server ../judge/ - - g++ -shared -fPIC -fvisibility=hidden -O2 jmod_test_manage.cpp -ldl -ljson -pthread -o jmod_test_manage.so - g++ -shared -fPIC -fvisibility=hidden -O2 jmod_test_line.cpp -ljson -pthread -o jmod_test_line.so - g++ -shared -fPIC -fvisibility=hidden -O2 jmod_test_check.cpp -o jmod_test_check.so - mv jmod_test_manage.so ../jmod/jmod_test/ - mv jmod_test_line.so ../jmod/jmod_test/ - mv jmod_test_check.so ../jmod/jmod_test/ - tar -jcvf ../tmp/jmodpack/jmod_test.tar.bz2 -C ../jmod/jmod_test . - - g++ -shared -fPIC -fvisibility=hidden -O2 sprout_tar_check.cpp -o ../pro/15/private/check.so -clean: - ${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} clean -endif diff --git a/toj/center/src/hyperio/Makefile b/toj/center/src/hyperio/Makefile deleted file mode 100755 index 655e473..0000000 --- a/toj/center/src/hyperio/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -ifneq ($(KERNELRELEASE),) - hyperio-objs := hyperio_mod.o judgk_hyperio.o - obj-m := hyperio.o -else - KERNEL_SOURCE := /usr/lib/modules/$(shell uname -r)/build - PWD := $(shell pwd) -default: - ${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} modules - - g++ -O2 test.cpp -o test -clean: - ${MAKE} -C ${KERNEL_SOURCE} SUBDIRS=${PWD} clean -endif diff --git a/toj/center/src/hyperio/hyperio_mod.c b/toj/center/src/hyperio/hyperio_mod.c deleted file mode 100755 index a188b14..0000000 --- a/toj/center/src/hyperio/hyperio_mod.c +++ /dev/null @@ -1,58 +0,0 @@ -#include<linux/module.h> -#include<linux/kernel.h> -#include<linux/kdev_t.h> -#include<linux/device.h> -#include<linux/cdev.h> -#include<linux/fs.h> - -#include"../judgk.h" -#include"../judgk_com.h" -#include"hyperio_mod.h" - -static int __init mod_init(){ - alloc_chrdev_region(&mod_dev,0,1,"hyperio"); - mod_class = class_create(THIS_MODULE,"chardev"); - device_create(mod_class,NULL,mod_dev,NULL,"hyperio"); - cdev_init(&mod_cdev,&mod_fops); - cdev_add(&mod_cdev,mod_dev,1); - - judgk_hyperio_init(); - - pr_alert("hyperio:Init\n"); - return 0; -} -static void __exit mod_exit(){ - judgk_hyperio_exit(); - - cdev_del(&mod_cdev); - device_destroy(mod_class,mod_dev); - class_destroy(mod_class); - unregister_chrdev_region(mod_dev,1); - - pr_alert("hyperio:Exit\n"); -} -module_init(mod_init); -module_exit(mod_exit); -MODULE_LICENSE("Dual BSD/GPL"); - -static long mod_ioctl(struct file *filp,unsigned int cmd,unsigned long arg){ - long ret; - - ret = 0; - switch(cmd){ - case IOCTL_HYPERIO_ADD: - ret = judgk_hyperio_add(filp); - break; - case IOCTL_HYPERIO_READ: - ret = judgk_hyperio_read(filp,arg); - break; - case IOCTL_HYPERIO_WRITE: - ret = judgk_hyperio_write(filp,arg); - break; - case IOCTL_HYPERIO_DEL: - ret = judgk_hyperio_del(filp); - break; - } - - return ret; -} diff --git a/toj/center/src/hyperio/hyperio_mod.h b/toj/center/src/hyperio/hyperio_mod.h deleted file mode 100755 index 3d75b68..0000000 --- a/toj/center/src/hyperio/hyperio_mod.h +++ /dev/null @@ -1,21 +0,0 @@ -static int __init mod_init(void); -static void __exit mod_exit(void); - -static long mod_ioctl(struct file *filp,unsigned int cmd,unsigned long arg); - -static dev_t mod_dev; -static struct cdev mod_cdev; -static struct class *mod_class; -extern int judgk_hyperio_mmap(struct file *filp,struct vm_area_struct *vma); -static struct file_operations mod_fops = { - .owner = THIS_MODULE, - .unlocked_ioctl = mod_ioctl, - .mmap = judgk_hyperio_mmap -}; - -extern int judgk_hyperio_init(void); -extern int judgk_hyperio_exit(void); -extern int judgk_hyperio_add(struct file *filp); -extern int judgk_hyperio_read(struct file *filp,size_t len); -extern int judgk_hyperio_write(struct file *filp,size_t len); -extern int judgk_hyperio_del(struct file *filp); diff --git a/toj/center/src/hyperio/test.cpp b/toj/center/src/hyperio/test.cpp deleted file mode 100755 index 18e536b..0000000 --- a/toj/center/src/hyperio/test.cpp +++ /dev/null @@ -1,173 +0,0 @@ -#include<stdio.h> -#include<stdlib.h> -#include<string.h> -#include<unistd.h> -#include<fcntl.h> -#include<time.h> -#include<limits.h> -#include<math.h> -#include<termios.h> -#include<sys/ioctl.h> -#include<sys/types.h> -#include<sys/mman.h> -#include<sys/wait.h> - -#include"../judge_def.h" -#include"../judgm_lib.h" - -int fd; -/*char *rbuf; -off_t roff = 0; - -int judgm_hyperio_compare(char *buf,size_t len){ - int flag; - size_t remain; - off_t off; - size_t data_len; - size_t cmp_len; - - flag = 0; - remain = len; - off = 0; - data_len = 0; - cmp_len = 0; - while(remain > 0 && flag == 0){ - if(data_len == 0){ - if((data_len = ioctl(fd,IOCTL_READ,cmp_len)) <= 0){ - return -1; - } - } - if(remain < data_len){ - cmp_len = remain; - }else{ - cmp_len = data_len; - } - - if((roff + cmp_len) < BUF_SIZE){ - flag |= memcmp(rbuf + roff,buf + off,cmp_len); - roff += cmp_len; - }else{ - flag |= memcmp(rbuf + roff,buf + off,BUF_SIZE - roff); - flag |= memcmp(rbuf,buf + off + (BUF_SIZE - roff),(cmp_len + roff) - BUF_SIZE); - roff = (cmp_len + roff) - BUF_SIZE; - } - remain -= cmp_len; - off += cmp_len; - } - if(cmp_len > 0){ - ioctl(fd,IOCTL_READ,-(long)cmp_len); - } - - if(flag == 0){ - return 0; - }else{ - return -1; - } -}*/ - -int main(){ - int i,j; - char *buf; - int idx; - int pid; - char str[4096]; - int a,b; - int l; - - judgm_hyperio *hyperio; - - fd = open("/dev/judgk",O_RDWR); - hyperio = new judgm_hyperio(fd); - - printf("%d\n",hyperio->tty_idx); - - if((pid = fork()) == 0){ - int outfd; - - outfd = judgm_hyperio::get_ttyfd(0); - - //dup2(fd,0); - dup2(outfd,1); - - printf("Hello World\n"); - char *argv[] = {NULL,NULL}; - char *envp[] = {NULL}; - - execve("/srv/http/toj/center/judge/tmp/run/1/test",argv,envp); - exit(0); - } - - printf("%d\n",hyperio->compare("Hello World\n",12)); - - waitpid(pid,NULL,0); - - getchar(); - delete hyperio; - close(fd); - - /*flag = 0; - roff = 0; - woff = 0; - srand(23); - for(i = 0;i < 1000000;i++){ - a = rand() % 65536; - b = rand() % 65536; - - snprintf(str,sizeof(str),"%d %d\n",a,b); - l = strlen(str); - j = l; - len = 0; - while(j > 0){ - len = ioctl(fd,IOCTL_WRITE,len); - if(j < len){ - len = j; - } - - if((len + woff) < BUF_SIZE){ - memcpy(wbuf + woff,str + (l - j),len); - woff += len; - }else{ - memcpy(wbuf + woff,str + (l - j),BUF_SIZE - woff); - memcpy(wbuf,str + (l - j) + (BUF_SIZE - woff),(len + woff) - BUF_SIZE); - woff = (len + woff) - BUF_SIZE; - } - - j -= len; - } - ioctl(fd,IOCTL_WRITE,-len); - - snprintf(str,sizeof(str),"%d\n",a + b); - l = strlen(str); - j = l; - len = 0; - while(j > 0){ - len = ioctl(fd,IOCTL_READ,len); - if(len <= 0){ - flag = 1; - break; - } - if(j < len){ - len = j; - } - - if((roff + len) < BUF_SIZE){ - flag |= memcmp(rbuf + roff,str + (l - j),len); - roff += len; - }else{ - flag |= memcmp(rbuf + roff,str + (l - j),BUF_SIZE - roff); - flag |= memcmp(rbuf,str + (l - j) + (BUF_SIZE - roff),(len + roff) - BUF_SIZE); - roff = (len + roff) - BUF_SIZE; - } - - j -= len; - } - ioctl(fd,IOCTL_READ,-len); - - if(flag != 0){ - printf("WA\n"); - break; - } - }*/ - - return 0; -} diff --git a/toj/center/src/judge_def.h b/toj/center/src/judge_def.h deleted file mode 100755 index f0722d0..0000000 --- a/toj/center/src/judge_def.h +++ /dev/null @@ -1,21 +0,0 @@ -#define JUDGE_AC 0 -#define JUDGE_WA 1 -#define JUDGE_TLE 2 -#define JUDGE_MLE 3 -#define JUDGE_RF 4 -#define JUDGE_RE 5 -#define JUDGE_CE 6 -#define JUDGE_ERR 7 -#define JUDGE_WAIT 100 -#define JUDGE_RUN 101 - -#define JUDGE_CPP 0x1 -#define JUDGE_JAVA 0x2 -#define JUDGE_PASCEL 0x4 - -#define JUDGE_SUB_PARAMMAX 4096 -#define JUDGE_SET_FILEMAX 65536 -#define JUDGE_SET_DATAMAX 4096 -#define JUDGE_RES_DATAMAX 65536 - -#define DLL_PUBLIC extern "C" __attribute__ ((visibility ("default"))) diff --git a/toj/index.html b/web/index.html index a96b73a..a96b73a 100755..100644 --- a/toj/index.html +++ b/web/index.html diff --git a/toj/jcs/common.css b/web/jcs/common.css index f05adea..f05adea 100755..100644 --- a/toj/jcs/common.css +++ b/web/jcs/common.css diff --git a/toj/jcs/common.js b/web/jcs/common.js index 6d4f0d3..6d4f0d3 100755..100644 --- a/toj/jcs/common.js +++ b/web/jcs/common.js diff --git a/web/jcs/home.css b/web/jcs/home.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/web/jcs/home.css diff --git a/toj/jcs/home.js b/web/jcs/home.js index d84d7ec..d84d7ec 100755..100644 --- a/toj/jcs/home.js +++ b/web/jcs/home.js diff --git a/toj/jcs/index.css b/web/jcs/index.css index 62de39e..62de39e 100755..100644 --- a/toj/jcs/index.css +++ b/web/jcs/index.css diff --git a/toj/jcs/index.js b/web/jcs/index.js index 262b5fa..262b5fa 100755..100644 --- a/toj/jcs/index.js +++ b/web/jcs/index.js diff --git a/toj/jcs/notice.css b/web/jcs/notice.css index 2d9e8b8..2d9e8b8 100755..100644 --- a/toj/jcs/notice.css +++ b/web/jcs/notice.css diff --git a/toj/jcs/notice.js b/web/jcs/notice.js index 0f027fd..0f027fd 100755..100644 --- a/toj/jcs/notice.js +++ b/web/jcs/notice.js diff --git a/toj/jcs/pro.css b/web/jcs/pro.css index 0629ee1..0629ee1 100755..100644 --- a/toj/jcs/pro.css +++ b/web/jcs/pro.css diff --git a/toj/jcs/pro.js b/web/jcs/pro.js index b922be0..b922be0 100755..100644 --- a/toj/jcs/pro.js +++ b/web/jcs/pro.js diff --git a/web/jcs/sq.css b/web/jcs/sq.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/web/jcs/sq.css diff --git a/toj/jcs/sq.js b/web/jcs/sq.js index 17c07c0..17c07c0 100755..100644 --- a/toj/jcs/sq.js +++ b/web/jcs/sq.js diff --git a/toj/jcs/stat.css b/web/jcs/stat.css index 88a465c..88a465c 100755..100644 --- a/toj/jcs/stat.css +++ b/web/jcs/stat.css diff --git a/toj/jcs/stat.js b/web/jcs/stat.js index 95ec06a..95ec06a 100755..100644 --- a/toj/jcs/stat.js +++ b/web/jcs/stat.js diff --git a/toj/jcs/user.css b/web/jcs/user.css index a99f8c9..a99f8c9 100755..100644 --- a/toj/jcs/user.css +++ b/web/jcs/user.css diff --git a/toj/jcs/user.js b/web/jcs/user.js index 81e30ca..81e30ca 100755..100644 --- a/toj/jcs/user.js +++ b/web/jcs/user.js diff --git a/toj/php/_json.php b/web/php/_json.php index b3c443e..b3c443e 100755..100644 --- a/toj/php/_json.php +++ b/web/php/_json.php diff --git a/toj/php/_pzread_update.php b/web/php/_pzread_update.php index 674f15b..674f15b 100644 --- a/toj/php/_pzread_update.php +++ b/web/php/_pzread_update.php diff --git a/toj/php/_test.php b/web/php/_test.php index 5ce8271..5ce8271 100755..100644 --- a/toj/php/_test.php +++ b/web/php/_test.php diff --git a/toj/php/common.inc.php b/web/php/common.inc.php index 18786e9..18786e9 100755..100644 --- a/toj/php/common.inc.php +++ b/web/php/common.inc.php diff --git a/toj/php/connect.inc.php b/web/php/connect.inc.php index 3eebe89..3eebe89 100755..100644 --- a/toj/php/connect.inc.php +++ b/web/php/connect.inc.php diff --git a/toj/php/event.inc.php b/web/php/event.inc.php index acc2f14..acc2f14 100755..100644 --- a/toj/php/event.inc.php +++ b/web/php/event.inc.php diff --git a/toj/php/event.php b/web/php/event.php index e121287..e121287 100755..100644 --- a/toj/php/event.php +++ b/web/php/event.php diff --git a/toj/php/notice.inc.php b/web/php/notice.inc.php index dbf47cc..dbf47cc 100755..100644 --- a/toj/php/notice.inc.php +++ b/web/php/notice.inc.php diff --git a/toj/php/notice.php b/web/php/notice.php index a0f984a..a0f984a 100755..100644 --- a/toj/php/notice.php +++ b/web/php/notice.php diff --git a/toj/php/problem.inc.php b/web/php/problem.inc.php index d4c8e45..d4c8e45 100755..100644 --- a/toj/php/problem.inc.php +++ b/web/php/problem.inc.php diff --git a/toj/php/problem.php b/web/php/problem.php index 4ef43f3..4ef43f3 100755..100644 --- a/toj/php/problem.php +++ b/web/php/problem.php diff --git a/toj/php/pzreadtest.php b/web/php/pzreadtest.php index b67ae9e..b67ae9e 100755..100644 --- a/toj/php/pzreadtest.php +++ b/web/php/pzreadtest.php diff --git a/toj/php/sqlib.inc.php b/web/php/sqlib.inc.php index 154bcbd..154bcbd 100755..100644 --- a/toj/php/sqlib.inc.php +++ b/web/php/sqlib.inc.php diff --git a/toj/php/sqlib_scoreboard.inc.php b/web/php/sqlib_scoreboard.inc.php index 32bec44..32bec44 100755..100644 --- a/toj/php/sqlib_scoreboard.inc.php +++ b/web/php/sqlib_scoreboard.inc.php diff --git a/toj/php/square.inc.php b/web/php/square.inc.php index 99f0d2e..99f0d2e 100755..100644 --- a/toj/php/square.inc.php +++ b/web/php/square.inc.php diff --git a/toj/php/square.php b/web/php/square.php index fb87741..fb87741 100755..100644 --- a/toj/php/square.php +++ b/web/php/square.php diff --git a/toj/php/status.inc.php b/web/php/status.inc.php index f0ad3da..f0ad3da 100755..100644 --- a/toj/php/status.inc.php +++ b/web/php/status.inc.php diff --git a/toj/php/status.php b/web/php/status.php index 488fb95..488fb95 100755..100644 --- a/toj/php/status.php +++ b/web/php/status.php diff --git a/toj/php/step.inc.php b/web/php/step.inc.php index a116a64..a116a64 100755..100644 --- a/toj/php/step.inc.php +++ b/web/php/step.inc.php diff --git a/toj/php/step.php b/web/php/step.php index 6425ae1..6425ae1 100755..100644 --- a/toj/php/step.php +++ b/web/php/step.php diff --git a/toj/php/teamt.php b/web/php/teamt.php index 13c7bad..13c7bad 100755..100644 --- a/toj/php/teamt.php +++ b/web/php/teamt.php diff --git a/toj/php/test.php b/web/php/test.php index 4d39e6e..4d39e6e 100755..100644 --- a/toj/php/test.php +++ b/web/php/test.php diff --git a/toj/php/user.inc.php b/web/php/user.inc.php index 46205d7..46205d7 100755..100644 --- a/toj/php/user.inc.php +++ b/web/php/user.inc.php diff --git a/toj/php/user.php b/web/php/user.php index 23a15e6..23a15e6 100755..100644 --- a/toj/php/user.php +++ b/web/php/user.php diff --git a/toj/pmod/pmod_multisub/pmod_multisub.css b/web/pmod/pmod_multisub/pmod_multisub.css index eb73770..eb73770 100755..100644 --- a/toj/pmod/pmod_multisub/pmod_multisub.css +++ b/web/pmod/pmod_multisub/pmod_multisub.css diff --git a/toj/pmod/pmod_multisub/pmod_multisub.html b/web/pmod/pmod_multisub/pmod_multisub.html index 07b19a9..07b19a9 100755..100644 --- a/toj/pmod/pmod_multisub/pmod_multisub.html +++ b/web/pmod/pmod_multisub/pmod_multisub.html diff --git a/toj/pmod/pmod_multisub/pmod_multisub.js b/web/pmod/pmod_multisub/pmod_multisub.js index 33402d0..33402d0 100755..100644 --- a/toj/pmod/pmod_multisub/pmod_multisub.js +++ b/web/pmod/pmod_multisub/pmod_multisub.js diff --git a/toj/pmod/pmod_multisub/pmod_multisub.php b/web/pmod/pmod_multisub/pmod_multisub.php index 342ff41..342ff41 100755..100644 --- a/toj/pmod/pmod_multisub/pmod_multisub.php +++ b/web/pmod/pmod_multisub/pmod_multisub.php diff --git a/toj/pmod/pmod_test/pmod_test.css b/web/pmod/pmod_test/pmod_test.css index c238c44..c238c44 100755..100644 --- a/toj/pmod/pmod_test/pmod_test.css +++ b/web/pmod/pmod_test/pmod_test.css diff --git a/toj/pmod/pmod_test/pmod_test.html b/web/pmod/pmod_test/pmod_test.html index a04c2a6..a04c2a6 100755..100644 --- a/toj/pmod/pmod_test/pmod_test.html +++ b/web/pmod/pmod_test/pmod_test.html diff --git a/toj/pmod/pmod_test/pmod_test.inc.php b/web/pmod/pmod_test/pmod_test.inc.php index a433404..a433404 100644 --- a/toj/pmod/pmod_test/pmod_test.inc.php +++ b/web/pmod/pmod_test/pmod_test.inc.php diff --git a/toj/pmod/pmod_test/pmod_test.js b/web/pmod/pmod_test/pmod_test.js index f21c5b0..f21c5b0 100755..100644 --- a/toj/pmod/pmod_test/pmod_test.js +++ b/web/pmod/pmod_test/pmod_test.js diff --git a/toj/pmod/pmod_test/pmod_test.php b/web/pmod/pmod_test/pmod_test.php index a472630..a472630 100755..100644 --- a/toj/pmod/pmod_test/pmod_test.php +++ b/web/pmod/pmod_test/pmod_test.php diff --git a/toj/smod/smod_test/smod_test.css b/web/smod/smod_test/smod_test.css index 117c427..117c427 100755..100644 --- a/toj/smod/smod_test/smod_test.css +++ b/web/smod/smod_test/smod_test.css diff --git a/toj/smod/smod_test/smod_test.html b/web/smod/smod_test/smod_test.html index 5d1547d..5d1547d 100755..100644 --- a/toj/smod/smod_test/smod_test.html +++ b/web/smod/smod_test/smod_test.html diff --git a/toj/smod/smod_test/smod_test.js b/web/smod/smod_test/smod_test.js index 90780d6..90780d6 100755..100644 --- a/toj/smod/smod_test/smod_test.js +++ b/web/smod/smod_test/smod_test.js diff --git a/toj/smod/smod_test/smod_test.php b/web/smod/smod_test/smod_test.php index b458ead..b458ead 100755..100644 --- a/toj/smod/smod_test/smod_test.php +++ b/web/smod/smod_test/smod_test.php diff --git a/toj/sqmod/sqmod_contest/sqmod_contest.css b/web/sqmod/sqmod_contest/sqmod_contest.css index 4932aae..4932aae 100755 --- a/toj/sqmod/sqmod_contest/sqmod_contest.css +++ b/web/sqmod/sqmod_contest/sqmod_contest.css diff --git a/toj/sqmod/sqmod_contest/sqmod_contest.html b/web/sqmod/sqmod_contest/sqmod_contest.html index 3f7c759..3f7c759 100755 --- a/toj/sqmod/sqmod_contest/sqmod_contest.html +++ b/web/sqmod/sqmod_contest/sqmod_contest.html diff --git a/toj/sqmod/sqmod_contest/sqmod_contest.inc.php b/web/sqmod/sqmod_contest/sqmod_contest.inc.php index b045dae..b045dae 100755 --- a/toj/sqmod/sqmod_contest/sqmod_contest.inc.php +++ b/web/sqmod/sqmod_contest/sqmod_contest.inc.php diff --git a/toj/sqmod/sqmod_contest/sqmod_contest.js b/web/sqmod/sqmod_contest/sqmod_contest.js index bb8d9b8..bb8d9b8 100755 --- a/toj/sqmod/sqmod_contest/sqmod_contest.js +++ b/web/sqmod/sqmod_contest/sqmod_contest.js diff --git a/toj/sqmod/sqmod_contest/sqmod_contest.php b/web/sqmod/sqmod_contest/sqmod_contest.php index f999cfa..f999cfa 100755 --- a/toj/sqmod/sqmod_contest/sqmod_contest.php +++ b/web/sqmod/sqmod_contest/sqmod_contest.php diff --git a/toj/sqmod/sqmod_contest/team.inc.php b/web/sqmod/sqmod_contest/team.inc.php index 3effc0e..3effc0e 100755 --- a/toj/sqmod/sqmod_contest/team.inc.php +++ b/web/sqmod/sqmod_contest/team.inc.php diff --git a/toj/sqmod/sqmod_test/sqmod_test.css b/web/sqmod/sqmod_test/sqmod_test.css index 4680479..4680479 100755..100644 --- a/toj/sqmod/sqmod_test/sqmod_test.css +++ b/web/sqmod/sqmod_test/sqmod_test.css diff --git a/toj/sqmod/sqmod_test/sqmod_test.html b/web/sqmod/sqmod_test/sqmod_test.html index 14f44dd..14f44dd 100755..100644 --- a/toj/sqmod/sqmod_test/sqmod_test.html +++ b/web/sqmod/sqmod_test/sqmod_test.html diff --git a/toj/sqmod/sqmod_test/sqmod_test.inc.php b/web/sqmod/sqmod_test/sqmod_test.inc.php index c331a3f..c331a3f 100755 --- a/toj/sqmod/sqmod_test/sqmod_test.inc.php +++ b/web/sqmod/sqmod_test/sqmod_test.inc.php diff --git a/toj/sqmod/sqmod_test/sqmod_test.js b/web/sqmod/sqmod_test/sqmod_test.js index 4923ed0..4923ed0 100755..100644 --- a/toj/sqmod/sqmod_test/sqmod_test.js +++ b/web/sqmod/sqmod_test/sqmod_test.js diff --git a/toj/sqmod/sqmod_test/sqmod_test.php b/web/sqmod/sqmod_test/sqmod_test.php index 341daae..341daae 100755..100644 --- a/toj/sqmod/sqmod_test/sqmod_test.php +++ b/web/sqmod/sqmod_test/sqmod_test.php diff --git a/toj/sqmod/sqmod_test/team.inc.php b/web/sqmod/sqmod_test/team.inc.php index 3effc0e..3effc0e 100755 --- a/toj/sqmod/sqmod_test/team.inc.php +++ b/web/sqmod/sqmod_test/team.inc.php |