home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / ircd4652.zip / ircd-df-4.6.5-os2 / include / msg.h < prev    next >
C/C++ Source or Header  |  1998-02-07  |  15KB  |  329 lines

  1. /************************************************************************
  2.  *   IRC - Internet Relay Chat, include/msg.h
  3.  *   Copyright (C) 1990 Jarkko Oikarinen and
  4.  *                      University of Oulu, Computing Center
  5.  *
  6.  *   This program is free software; you can redistribute it and/or modify
  7.  *   it under the terms of the GNU General Public License as published by
  8.  *   the Free Software Foundation; either version 1, or (at your option)
  9.  *   any later version.
  10.  *
  11.  *   This program is distributed in the hope that it will be useful,
  12.  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
  13.  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14.  *   GNU General Public License for more details.
  15.  *
  16.  *   You should have received a copy of the GNU General Public License
  17.  *   along with this program; if not, write to the Free Software
  18.  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  19.  */
  20.  
  21. #ifndef    __msg_include__
  22. #define __msg_include__
  23.  
  24. /*
  25.  * The tokens are in the ascii character range of 33-127, and we start
  26.  * from 33 and just move up.  It would be nice to match then up so they
  27.  * are slightly related to their string counterpart, but that makes it
  28.  * too confusing when we want to add another one and need to make sure
  29.  * we're not using one already used. -Cabal95
  30.  *
  31.  * As long as the #defines are kept statically placed, it will be fine.
  32.  * We don't care/worry about the msgtab[] since it can be dynamic, but
  33.  * the tokens it uses will still be static according to the messages
  34.  * they represent.  In other words leave the #defines in order, if you're
  35.  * going to add something, PUT IT AT THE END.  Do not even look for an
  36.  * open spot somewhere, as that may lead to one type of message being
  37.  * sent by server A to server B, but server B thinks its something else.
  38.  * Remember, skip the : since its got a special use, and I skip the \ too
  39.  * since it _may_ cause problems, but not sure.  -Cabal95
  40.  * I'm skipping A and a as well, because some clients and scripts use
  41.  * these to test if the server has already processed whole queue.
  42.  * Since the client could request this protocol withhout the script
  43.  * knowing it, I'm considering that reserved, and TRACE/A is now 'b'.
  44.  * The normal msgtab should probably process this as special. -Donwulff
  45.  */
  46.  
  47. #define MSG_PRIVATE    "PRIVMSG"    /* PRIV */
  48. #define TOK_PRIVATE    "!"        /* 33 */
  49. #define MSG_WHO        "WHO"        /* WHO  -> WHOC */
  50. #define TOK_WHO        "\""        /* 34 */
  51. #define MSG_WHOIS    "WHOIS"        /* WHOI */
  52. #define TOK_WHOIS    "#"        /* 35 */
  53. #define MSG_WHOWAS    "WHOWAS"    /* WHOW */
  54. #define TOK_WHOWAS    "$"        /* 36 */
  55. #define MSG_USER    "USER"        /* USER */
  56. #define TOK_USER    "%"        /* 37 */
  57. #define MSG_NICK    "NICK"        /* NICK */
  58. #define TOK_NICK    "&"        /* 38 */
  59. #define MSG_SERVER    "SERVER"    /* SERV */
  60. #define TOK_SERVER    "'"        /* 39 */
  61. #define MSG_LIST    "LIST"        /* LIST */
  62. #define TOK_LIST    "("        /* 40 */
  63. #define MSG_TOPIC    "TOPIC"        /* TOPI */
  64. #define TOK_TOPIC    ")"        /* 41 */
  65. #define MSG_INVITE    "INVITE"    /* INVI */
  66. #define TOK_INVITE    "*"        /* 42 */
  67. #define MSG_VERSION    "VERSION"    /* VERS */
  68. #define TOK_VERSION    "+"        /* 43 */
  69. #define MSG_QUIT    "QUIT"        /* QUIT */
  70. #define TOK_QUIT    ","        /* 44 */
  71. #define MSG_SQUIT    "SQUIT"        /* SQUI */
  72. #define TOK_SQUIT    "-"        /* 45 */
  73. #define MSG_KILL    "KILL"        /* KILL */
  74. #define TOK_KILL    "."        /* 46 */
  75. #define MSG_INFO    "INFO"        /* INFO */
  76. #define TOK_INFO    "/"        /* 47 */
  77. #define MSG_LINKS    "LINKS"        /* LINK */
  78. #define TOK_LINKS    "0"        /* 48 */
  79. #define MSG_SUMMON    "SUMMON"    /* SUMM */
  80. #define TOK_SUMMON    "1"        /* 49 */
  81. #define MSG_STATS    "STATS"        /* STAT */
  82. #define TOK_STATS    "2"        /* 50 */
  83. #define MSG_USERS    "USERS"        /* USER -> USRS */
  84. #define TOK_USERS    "3"        /* 51 */
  85. #define MSG_HELP    "HELP"        /* HELP */
  86. #define MSG_HELPOP    "HELPOP"    /* HELP */
  87. #define TOK_HELP    "4"        /* 52 */
  88. #define MSG_ERROR    "ERROR"        /* ERRO */
  89. #define TOK_ERROR    "5"        /* 53 */
  90. #define MSG_AWAY    "AWAY"        /* AWAY */
  91. #define TOK_AWAY    "6"        /* 54 */
  92. #define MSG_CONNECT    "CONNECT"    /* CONN */
  93. #define TOK_CONNECT    "7"        /* 55 */
  94. #define MSG_PING    "PING"        /* PING */
  95. #define TOK_PING    "8"        /* 56 */
  96. #define MSG_PONG    "PONG"        /* PONG */
  97. #define TOK_PONG    "9"        /* 57 */
  98. #define MSG_OPER    "OPER"        /* OPER */
  99. #define TOK_OPER    ";"        /* 59 */
  100. #define MSG_PASS    "PASS"        /* PASS */
  101. #define TOK_PASS    "<"        /* 60 */
  102. #define MSG_WALLOPS    "WALLOPS"    /* WALL */
  103. #define TOK_WALLOPS    "="        /* 61 */
  104. #define MSG_TIME    "TIME"        /* TIME */
  105. #define TOK_TIME    ">"        /* 62 */
  106. #define MSG_NAMES    "NAMES"        /* NAME */
  107. #define TOK_NAMES    "?"        /* 63 */
  108. #define MSG_ADMIN    "ADMIN"        /* ADMI */
  109. #define TOK_ADMIN    "@"        /* 64 */
  110. #define MSG_NOTICE    "NOTICE"    /* NOTI */
  111. #define TOK_NOTICE    "B"        /* 66 */
  112. #define MSG_JOIN    "JOIN"        /* JOIN */
  113. #define TOK_JOIN    "C"        /* 67 */
  114. #define MSG_PART    "PART"        /* PART */
  115. #define TOK_PART    "D"        /* 68 */
  116. #define MSG_LUSERS    "LUSERS"    /* LUSE */
  117. #define TOK_LUSERS    "E"        /* 69 */
  118. #define MSG_MOTD    "MOTD"        /* MOTD */
  119. #define TOK_MOTD    "F"        /* 70 */
  120. #define MSG_MODE    "MODE"        /* MODE */
  121. #define TOK_MODE    "G"        /* 71 */
  122. #define MSG_KICK    "KICK"        /* KICK */
  123. #define TOK_KICK    "H"        /* 72 */
  124. #define MSG_SERVICE    "SERVICE"    /* SERV -> SRVI */
  125. #define TOK_SERVICE    "I"        /* 73 */
  126. #define MSG_USERHOST    "USERHOST"    /* USER -> USRH */
  127. #define TOK_USERHOST    "J"        /* 74 */
  128. #define MSG_ISON    "ISON"        /* ISON */
  129. #define TOK_ISON    "K"        /* 75 */
  130. #define MSG_SQUERY    "SQUERY"    /* SQUE */
  131. #define TOK_SQUERY    "L"        /* 76 */
  132. #define MSG_SERVLIST    "SERVLIST"    /* SERV -> SLIS */
  133. #define TOK_SERVLIST    "M"        /* 77 */
  134. #define MSG_SERVSET    "SERVSET"    /* SERV -> SSET */
  135. #define TOK_SERVSET    "N"        /* 78 */
  136. #define    MSG_REHASH    "REHASH"    /* REHA */
  137. #define TOK_REHASH    "O"        /* 79 */
  138. #define    MSG_RESTART    "RESTART"    /* REST */
  139. #define TOK_RESTART    "P"        /* 80 */
  140. #define    MSG_CLOSE    "CLOSE"        /* CLOS */
  141. #define TOK_CLOSE    "Q"        /* 81 */
  142. #define    MSG_DIE        "DIE"        /* DIE */
  143. #define TOK_DIE        "R"        /* 82 */
  144. #define    MSG_HASH    "HASH"        /* HASH */
  145. #define TOK_HASH    "S"        /* 83 */
  146. #define    MSG_DNS        "DNS"        /* DNS  -> DNSS */
  147. #define TOK_DNS        "T"        /* 84 */
  148. #define MSG_SILENCE    "SILENCE"    /* SILE */
  149. #define TOK_SILENCE    "U"        /* 85 */
  150. #define MSG_AKILL    "AKILL"        /* AKILL */
  151. #define TOK_AKILL    "V"        /* 86 */
  152. #define MSG_KLINE    "KLINE"        /* KLINE */
  153. #define TOK_KLINE    "W"        /* 87 */
  154. #define MSG_UNKLINE    "UNKLINE"    /* UNKLINE */
  155. #define TOK_UNKLINE    "X"        /* 88 */
  156. #define MSG_RAKILL    "RAKILL"    /* RAKILL */
  157. #define TOK_RAKILL    "Y"        /* 89 */
  158. #define MSG_GNOTICE    "GNOTICE"    /* GNOTICE */
  159. #define TOK_GNOTICE    "Z"        /* 90 */
  160. #define MSG_GOPER    "GOPER"        /* GOPER */
  161. #define TOK_GOPER    "["        /* 91 */
  162. #define MSG_GLOBOPS    "GLOBOPS"    /* GLOBOPS */
  163. #define TOK_GLOBOPS    "]"        /* 93 */
  164. #define MSG_LOCOPS    "LOCOPS"    /* LOCOPS */
  165. #define TOK_LOCOPS    "^"        /* 94 */
  166. #define MSG_PROTOCTL    "PROTOCTL"    /* PROTOCTL */
  167. #define TOK_PROTOCTL    "_"        /* 95 */
  168. #define MSG_WATCH    "WATCH"        /* WATCH */
  169. #define TOK_WATCH    "`"        /* 96 */
  170. #define MSG_TRACE    "TRACE"        /* TRAC */
  171. #define TOK_TRACE    "b"        /* 97 */
  172. #define MSG_SQLINE    "SQLINE"    /* SQLINE */
  173. #define TOK_SQLINE    "c"        /* 98 */
  174. #define MSG_UNSQLINE    "UNSQLINE"    /* UNSQLINE */
  175. #define TOK_UNSQLINE    "d"        /* 99 */
  176. #define MSG_SVSNICK    "SVSNICK"    /* SVSNICK */
  177. #define TOK_SVSNICK    "e"        /* 100 */
  178. #define MSG_SVSNOOP    "SVSNOOP"    /* SVSNOOP */
  179. #define TOK_SVSNOOP    "f"        /* 101 */
  180. #define MSG_IDENTIFY    "IDENTIFY"    /* IDENTIFY */
  181. #define TOK_IDENTIFY    "g"        /* 102 */
  182. #define MSG_SVSKILL    "SVSKILL"    /* SVSKILL */
  183. #define TOK_SVSKILL    "h"        /* 103 */
  184. #define MSG_NICKSERV    "NICKSERV"    /* NICKSERV */
  185. #define MSG_NS        "NS"
  186. #define TOK_NICKSERV    "i"        /* 104 */
  187. #define MSG_CHANSERV    "CHANSERV"    /* CHANSERV */
  188. #define MSG_CS        "CS"
  189. #define TOK_CHANSERV    "j"        /* 105 */
  190. #define MSG_OPERSERV    "OPERSERV"    /* OPERSERV */
  191. #define MSG_OS        "OS"
  192. #define TOK_OPERSERV    "k"        /* 106 */
  193. #define MSG_MEMOSERV    "MEMOSERV"    /* MEMOSERV */
  194. #define MSG_MS        "MS"
  195. #define TOK_MEMOSERV    "l"        /* 107 */
  196. #define MSG_SERVICES    "SERVICES"    /* SERVICES */
  197. #define TOK_SERVICES    "m"        /* 108 */
  198. #define MSG_SVSMODE    "SVSMODE"    /* SVSMODE */
  199. #define TOK_SVSMODE    "n"        /* 109 */
  200. #define MSG_SAMODE    "SAMODE"    /* SAMODE */
  201. #define TOK_SAMODE    "o"        /* 110 */
  202. #define MSG_CHATOPS    "CHATOPS"    /* CHATOPS */
  203. #define TOK_CHATOPS    "p"        /* 111 */
  204. #define MSG_ZLINE        "ZLINE"        /* ZLINE */
  205. #define TOK_ZLINE    "q"        /* 112 */
  206. #define MSG_UNZLINE      "UNZLINE"    /* UNZLINE */                           
  207. #define TOK_UNZLINE    "r"        /* 113 */
  208.  
  209. #define MAXPARA    15 
  210.  
  211. extern int m_private(), m_topic(), m_join(), m_part(), m_mode(), m_svsmode();
  212. extern int m_ping(), m_pong(), m_wallops(), m_kick(), m_svsnick();
  213. extern int m_nick(), m_error(), m_notice(), m_samode(), m_svsnoop();
  214. extern int m_invite(), m_quit(), m_kill(), m_svskill(), m_identify();
  215. extern int m_akill(), m_kline(), m_unkline(), m_rakill(), m_sqline();
  216. extern int m_zline(), m_unzline();
  217. extern int m_gnotice(), m_goper(), m_globops(), m_locops(), m_unsqline(), m_chatops();
  218. extern int m_protoctl();
  219. extern int m_motd(), m_who(), m_whois(), m_user(), m_list();
  220. extern int m_server(), m_info(), m_links(), m_summon(), m_stats();
  221. extern int m_users(), m_version(), m_help();
  222. extern int m_nickserv(), m_operserv(), m_chanserv(), m_memoserv(), m_services(), m_identify();
  223. extern int m_squit(), m_away(), m_connect();
  224. extern int m_oper(), m_pass(), m_trace();
  225. extern int m_time(), m_names(), m_admin();
  226. extern int m_lusers(), m_umode(), m_close();
  227. extern int m_motd(), m_whowas(), m_silence();
  228. extern int m_service(), m_userhost(), m_ison(), m_watch();
  229. extern int m_service(), m_servset(), m_servlist(), m_squery();
  230. extern int m_rehash(), m_restart(), m_die(), m_dns(), m_hash();
  231. extern int m_noshortn(),m_noshortc(),m_noshortm(),m_noshorto();
  232.  
  233. #ifdef MSGTAB
  234. struct Message *msgmap[256];
  235. struct Message msgtab[] = {
  236.   { MSG_PRIVATE, m_private,  0, MAXPARA, 1, TOK_PRIVATE, 0L },
  237.   { MSG_NICK,    m_nick,     0, MAXPARA, 1, TOK_NICK,    0L },
  238.   { MSG_NOTICE,  m_notice,   0, MAXPARA, 1, TOK_NOTICE,  0L },
  239.   { MSG_JOIN,    m_join,     0, MAXPARA, 1, TOK_JOIN,    0L },
  240.   { MSG_MODE,    m_mode,     0, MAXPARA, 1, TOK_MODE,    0L },
  241.   { MSG_QUIT,    m_quit,     0, MAXPARA, 1, TOK_QUIT,    0L },
  242.   { MSG_PART,    m_part,     0, MAXPARA, 1, TOK_PART,    0L },
  243.   { MSG_TOPIC,   m_topic,    0, MAXPARA, 1, TOK_TOPIC,   0L },
  244.   { MSG_INVITE,  m_invite,   0, MAXPARA, 1, TOK_INVITE,  0L },
  245.   { MSG_KICK,    m_kick,     0, MAXPARA, 1, TOK_KICK,    0L },
  246.   { MSG_WALLOPS, m_wallops,  0, MAXPARA, 1, TOK_WALLOPS, 0L },
  247.   { MSG_PING,    m_ping,     0, MAXPARA, 1, TOK_PING,    0L },
  248.   { MSG_PONG,    m_pong,     0, MAXPARA, 1, TOK_PONG,    0L },
  249.   { MSG_ERROR,   m_error,    0, MAXPARA, 1, TOK_ERROR,   0L },
  250.   { MSG_KILL,    m_kill,     0, MAXPARA, 1, TOK_KILL,    0L },
  251.   { MSG_PROTOCTL,m_protoctl, 0, MAXPARA, 1, TOK_PROTOCTL,0L },
  252.   { MSG_USER,    m_user,     0, MAXPARA, 1, TOK_USER,    0L },
  253.   { MSG_AWAY,    m_away,     0, MAXPARA, 1, TOK_AWAY,    0L },
  254.   { MSG_ISON,    m_ison,     0, 1,       1, TOK_ISON,    0L },
  255.   { MSG_WATCH,   m_watch,    0, 1,       1, TOK_WATCH,   0L }, 
  256.   { MSG_SERVER,  m_server,   0, MAXPARA, 1, TOK_SERVER,  0L },
  257.   { MSG_SQUIT,   m_squit,    0, MAXPARA, 1, TOK_SQUIT,   0L },
  258.   { MSG_WHOIS,   m_whois,    0, MAXPARA, 1, TOK_WHOIS,   0L },
  259.   { MSG_WHO,     m_who,      0, MAXPARA, 1, TOK_WHO,     0L },
  260.   { MSG_WHOWAS,  m_whowas,   0, MAXPARA, 1, TOK_WHOWAS,  0L },
  261.   { MSG_LIST,    m_list,     0, MAXPARA, 1, TOK_LIST,    0L },
  262.   { MSG_NAMES,   m_names,    0, MAXPARA, 1, TOK_NAMES,   0L },
  263.   { MSG_USERHOST,m_userhost, 0, 1,       1, TOK_USERHOST,0L },
  264.   { MSG_TRACE,   m_trace,    0, MAXPARA, 1, TOK_TRACE,   0L },
  265.   { MSG_PASS,    m_pass,     0, MAXPARA, 1, TOK_PASS,    0L },
  266.   { MSG_LUSERS,  m_lusers,   0, MAXPARA, 1, TOK_LUSERS,  0L },
  267.   { MSG_TIME,    m_time,     0, MAXPARA, 1, TOK_TIME,    0L },
  268.   { MSG_OPER,    m_oper,     0, MAXPARA, 1, TOK_OPER,    0L },
  269.   { MSG_CONNECT, m_connect,  0, MAXPARA, 1, TOK_CONNECT, 0L },
  270.   { MSG_VERSION, m_version,  0, MAXPARA, 1, TOK_VERSION, 0L },
  271.   { MSG_STATS,   m_stats,    0, MAXPARA, 1, TOK_STATS,   0L },
  272.   { MSG_LINKS,   m_links,    0, MAXPARA, 1, TOK_LINKS,   0L },
  273.   { MSG_ADMIN,   m_admin,    0, MAXPARA, 1, TOK_ADMIN,   0L },
  274.   { MSG_USERS,   m_users,    0, MAXPARA, 1, TOK_USERS,   0L },
  275.   { MSG_SVSMODE, m_svsmode,  0, MAXPARA, 1, TOK_SVSMODE, 0L },
  276.   { MSG_SAMODE,  m_samode,   0, MAXPARA, 1, TOK_SAMODE,  0L },
  277.   { MSG_SVSKILL, m_svskill,  0, MAXPARA, 1, TOK_SVSKILL, 0L },
  278.   { MSG_SVSNICK, m_svsnick,  0, MAXPARA, 1, TOK_SVSNICK, 0L },
  279.   { MSG_SVSNOOP, m_svsnoop,  0, MAXPARA, 1, TOK_SVSNOOP, 0L },
  280.   { MSG_CHANSERV,m_chanserv, 0, 1,       1, TOK_CHANSERV,0L },
  281.   { MSG_CS,     m_noshortc, 0, 1,     1, TOK_CHANSERV,0L },
  282.   { MSG_NICKSERV,m_nickserv, 0, 1,       1, TOK_NICKSERV,0L },
  283.   { MSG_NS,     m_noshortn, 0, 1,     1, TOK_NICKSERV,0L },
  284.   { MSG_OPERSERV,m_operserv, 0, 1,       1, TOK_OPERSERV,0L },
  285.   { MSG_OS,     m_noshorto, 0, 1,     1, TOK_OPERSERV,0L },
  286.   { MSG_MEMOSERV,m_memoserv, 0, 1,       1, TOK_MEMOSERV,0L },
  287.   { MSG_MS,     m_noshortm, 0, 1,     1, TOK_MEMOSERV,0L },
  288.   { MSG_SERVICES,m_services, 0, 1,       1, TOK_SERVICES,0L },
  289.   { MSG_IDENTIFY,m_identify, 0, 1,       1, TOK_IDENTIFY,0L },
  290.   { MSG_SUMMON,  m_summon,   0, MAXPARA, 1, TOK_SUMMON,  0L },
  291.   { MSG_HELP,    m_help,     0, 1,       1, TOK_HELP,    0L },
  292.   { MSG_HELPOP,  m_help,     0, 1,       1, TOK_HELP,    0L },
  293.   { MSG_INFO,    m_info,     0, MAXPARA, 1, TOK_INFO,    0L },
  294.   { MSG_MOTD,    m_motd,     0, MAXPARA, 1, TOK_MOTD,    0L },
  295.   { MSG_CLOSE,   m_close,    0, MAXPARA, 1, TOK_CLOSE,   0L },
  296.   { MSG_SILENCE, m_silence,  0, MAXPARA, 1, TOK_SILENCE, 0L },
  297.   { MSG_AKILL,   m_akill,    0, MAXPARA, 1, TOK_AKILL,   0L },
  298.   { MSG_SQLINE,  m_sqline,   0, MAXPARA, 1, TOK_SQLINE,  0L },
  299.   { MSG_UNSQLINE,m_unsqline, 0, MAXPARA, 1, TOK_UNSQLINE,0L },
  300.   { MSG_KLINE,   m_kline,    0, MAXPARA, 1, TOK_KLINE,   0L },
  301.   { MSG_UNKLINE, m_unkline,  0, MAXPARA, 1, TOK_UNKLINE, 0L },
  302.   { MSG_ZLINE,   m_zline,    0, MAXPARA, 1, TOK_ZLINE,   0L },
  303.   { MSG_UNZLINE, m_unzline,  0, MAXPARA, 1, TOK_UNZLINE, 0L },
  304.   { MSG_RAKILL,  m_rakill,   0, MAXPARA, 1, TOK_RAKILL,  0L },
  305.   { MSG_GNOTICE, m_gnotice,  0, MAXPARA, 1, TOK_GNOTICE, 0L },
  306.   { MSG_GOPER,   m_goper,    0, MAXPARA, 1, TOK_GOPER,   0L },
  307.   { MSG_GLOBOPS, m_globops,  0, MAXPARA, 1, TOK_GLOBOPS, 0L },
  308.   { MSG_CHATOPS, m_chatops,  0, MAXPARA, 1, TOK_CHATOPS, 0L },
  309.   { MSG_LOCOPS,  m_locops,   0, 1,       1, TOK_LOCOPS,  0L },
  310. #undef USE_SERVICES
  311. #ifdef USE_SERVICES
  312.   { MSG_SERVICE, m_service,  0, MAXPARA, 1, TOK_SERVICE, 0L },
  313.   { MSG_SERVSET, m_servset,  0, MAXPARA, 1, TOK_SERVSET, 0L },
  314.   { MSG_SQUERY,  m_squery,   0, MAXPARA, 1, TOK_SQUERY,  0L },
  315.   { MSG_SERVLIST,m_servlist, 0, MAXPARA, 1, TOK_SERVLIST,0L },
  316. #endif
  317.   { MSG_HASH,    m_hash,     0, MAXPARA, 1, TOK_HASH,    0L },
  318.   { MSG_DNS,     m_dns,      0, MAXPARA, 1, TOK_DNS,     0L },
  319.   { MSG_REHASH,  m_rehash,   0, MAXPARA, 1, TOK_REHASH,  0L },
  320.   { MSG_RESTART, m_restart,  0, MAXPARA, 1, TOK_RESTART, 0L },
  321.   { MSG_DIE,     m_die,      0, MAXPARA, 1, TOK_DIE,     0L },
  322.   { (char *) 0, (int (*)()) 0 , 0, 0, 0, 0, 0L}
  323. };
  324. #else
  325. extern struct Message msgtab[];
  326. extern struct Message *msgmap[256];
  327. #endif
  328. #endif /* __msg_include__ */
  329.