Subversion Repositories wimsdev

Rev

Rev 14329 | Rev 15847 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. /*    Copyright (C) 1998-2003 XIAO, Gang of Universite de Nice - Sophia Antipolis
  2.  *
  3.  *  This program is free software; you can redistribute it and/or modify
  4.  *  it under the terms of the GNU General Public License as published by
  5.  *  the Free Software Foundation; either version 2 of the License, or
  6.  *  (at your option) any later version.
  7.  *
  8.  *  This program is distributed in the hope that it will be useful,
  9.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.  *  GNU General Public License for more details.
  12.  *
  13.  *  You should have received a copy of the GNU General Public License
  14.  *  along with this program; if not, write to the Free Software
  15.  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  16.  */
  17.  
  18. /* WWW interactive multipurpose server, header definitions */
  19.  
  20. #ifndef wimsdef_h
  21. #define wimsdef_h
  22. /* maximal (multi-)line length. */
  23. #define MAX_LINELEN 45000
  24. /* limit of items in a list; will never exceed MAX_LINELEN/2. */
  25. #define MAX_LIST 8192
  26. /* maximal name length */
  27. #define MAX_NAMELEN 63
  28. /* maximal file name length, complete path. */
  29. #define MAX_FNAME 199
  30. /* maximal module name length. */
  31. #define MAX_MODULELEN 100
  32. /* maximal number of resident executions */
  33. #define MAX_MULTIEXEC 4
  34. /* maximal file length for webget */
  35. #define MAX_WEBGETFLEN (32*1024*1024)
  36. /* max length of class name */
  37. #define MAX_CLASSLEN 31
  38. /* max length of session name */
  39. #define MAX_SESSIONLEN 23
  40. /* max number of exercises in a class (sheets and exams)
  41.  * if it is greater than MAX_EXOS * MAX_SHEETS + MAX_EXAMS,
  42.  * the limitation is not useful
  43.  */
  44. #define MAX_CLASSEXOS 2048
  45. /* MAX_EXOS and MAX_SHEETS are not modifiable:
  46.  * look at 0xFF00 in Wimslogd/cache.c, Wimslogd/wimslogdscore.c
  47.  * look at  >>8 in Wimslogd/wimslogdscore.c, score.c
  48.  * look at 255 in score.c, 256 in variables.c
  49.  * it must be also less than 99 to be sure that some sessions filename
  50.    do not cause buffer otherflow (see exam.c)
  51.  */
  52. /* max number of exercises in a sheet or exam; not modifiable */
  53. #define MAX_EXOS 64
  54. /* max number of sheets; not modifiable */
  55. #define MAX_SHEETS 64
  56. /* max number of freeworks; */
  57. #define MAX_FREEWORKS 64
  58. /* max number of user in class to use module grades; */
  59. #define MAX_USERFORGRADES 200
  60. /* max number of exams; not used except in Misc/exostat and in adm modules */
  61. #define MAX_EXAMS 80
  62. /* max number of votes */
  63. #define MAX_VOTES 64
  64. /* max numbers of replies in OEF */
  65. #define MAX_OEFREPLIES 100
  66. /* max numbers of choices in OEF */
  67. #define MAX_OEFCHOICES 30
  68. /* max number of values for one techvar*/
  69. #define MAX_TECHVARVAL 20
  70. /* max limit of number of techvar (in each level of struture ) */
  71. #define MAX_LTECHVAR 64
  72. /* max length of data files: records, activities, definitions. */
  73. #define MAX_FILELEN (2048*1024-1)
  74. /* max number of filewrite calls in one request */
  75. #define MAX_FWRITE 64
  76. /* max total size of filewrite in one request */
  77. #define MAX_FWRITE_SIZE (64*1024)
  78. /* max languages on a site, hard limit */
  79. #define MAX_LANGUAGES 32
  80. /* max number of lines in a work file */
  81. /* Limit for datafield cache */
  82. #define LINE_LIMIT 16384
  83. /* size of cached datafields */
  84. #define DATAFIELD_LIMIT 16384
  85. /* max required points */
  86. #define MAX_REQUIRE 200
  87. /* lengthmax of the seed as a char */
  88. #define SEEDSIZE 12
  89. /* maximum of the number of seed/score used in getseed*/
  90. #define MAX_SCORESEED 70
  91. /* maximum of the number of exercises presented with the same seed
  92.   if it is changed, search for MAX_SEEDSCORE in public_html
  93.   and change the value (in non adm modules)
  94. */
  95. #define MAX_SEEDSCORE 6
  96. /* maximum of complementary regvars*/
  97. #define MAX_REGVARS 10
  98. /* temporary log file */
  99. #define TEMP_LOG_FILE "../log/temp.log"
  100. /* Tag string for randfile */
  101. #define tag_string "\n:"
  102.  
  103. /* Define current version of the server here */
  104. #define wims_version PACKAGE_VERSION
  105. #ifdef VERSION_DATE
  106.   #define wims_version_date VERSION_DATE
  107. #else
  108.   #define wims_version_date ""
  109. #endif
  110.  
  111. #define SHORTSWNAME "WIMS"
  112. #define LONGSWNAME "WWW Interactive Multipurpose Server"
  113. #define SEEDSCORES (2*MAX_SCORESEED*SEEDSIZE)
  114. typedef struct scoreresult {
  115.   unsigned short int num, pad, seedlastcnt;
  116.   float require, weight, score, mean, last, try, best, level, new, seedscorelast;
  117.   char seedlast[SEEDSIZE];
  118.   char seedscores[SEEDSCORES];
  119.  
  120. } scoreresult;
  121.  
  122. #endif
  123.