defines module | > Module written by Manick | > Module Version Number: 2.2.0 +--------------------------------------------------------------------------- | > This program is free software; you can redistribute it and/or | > modify it under the terms of the GNU General Public License | > as published by the Free Software Foundation; either version 2 | > of the License, or (at your option) any later version. | > | > This program is distributed in the hope that it will be useful, | > but WITHOUT ANY WARRANTY; without even the implied warranty of | > MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | > GNU General Public License for more details. | > | > You should have received a copy of the GNU General Public License | > along with this program; if not, write to the Free Software | > Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +--------------------------------------------------------------------------- | Changes | =======------- | > If you wish to suggest or submit an update/change to the source | > code, email me at manick@manekian.com with the change, and I | > will look to adding it in as soon as I can. +--------------------------------------------------------------------------- */ // Debug Mode define('DEBUG', 1); // PID file define('PID', config::$main['cs_path'] . "/ircbot.pid"); // OS Type (windows/unix/linux/freebsd/unknown/auto) define('OS', 'auto'); //YOU SHOULD NOT HAVE TO EDIT BELOW THIS POINT UNLESS YOU SPECIFY "unknown" AS OS! if (OS == "auto") { switch (PHP_OS) { case "Windows NT": $OS = "windows"; break; case "Linux": $OS = "linux"; break; case "FreeBSD": $OS = "freebsd"; break; case "Unix": $OS = "unix"; break; //Thx OrochiTux for below case "Darwin": $OS = "freebsd"; break; default: $OS = "windows"; break; } } else { $OS = OS; } if ($OS == 'unknown') { define('EAGAIN', 0); /* Try again */ define('EISCONN', 0); /* Transport endpoint is already connected */ define('EALREADY', 0); /* Operation already in progress */ define('EINPROGRESS', 0); /* Operation now in progress */ } else if ($OS == 'windows') { //http://developer.novell.com/support/winsock/doc/appenda.htm define('EAGAIN', 10035); //EWOULDBLOCK.. kinda like EAGAIN in windows? define('EISCONN', 10056); /* Transport endpoint is already connected */ define('EALREADY', 10037); /* Operation already in progress */ define('EINPROGRESS', 10036); /* Operation now in progress */ } else if ($OS == 'freebsd') { //Thanks to ryguy@efnet ///usr/include/errno.h (freebsd) define('EAGAIN', 35); /* Try again */ define('EISCONN', 56); /* Transport endpoint is already connected */ define('EALREADY', 37); /* Operation already in progress */ define('EINPROGRESS', 36); /* Operation now in progress */ } else if ($OS == 'linux') { ///usr/include/sys/errno.h (sparc) define('EAGAIN', 11); /* Try again */ define('EISCONN', 106); /* Transport endpoint is already connected */ define('EALREADY', 114); /* Operation already in progress */ define('EINPROGRESS', 115); /* Operation now in progress */ } else if ($OS == 'unix') { ///usr/include/asm/errno.h (mandrake 9.0) define('EAGAIN', 11); /* Try again */ define('EISCONN', 133); /* Transport endpoint is already connected */ define('EALREADY', 149); /* Operation already in progress */ define('EINPROGRESS', 150); /* Operation now in progress */ } // Version Definition define('VERSION', '2.2.1'); define('VERSION_DATE', '04/08/06'); // Timer declarations define('NICK_CHECK_TIMEOUT', 120); //seconds define('CHAN_CHECK_TIMEOUT', 60); //seconds define('PING_TIMEOUT', 130); //seconds (check every 130 seconds if we're still connected) // Parser definitions define('MAX_ARGS', 4); // Status definitions define('STATUS_IDLE', 0); define('STATUS_ERROR', 1); define('STATUS_CONNECTING', 2); define('STATUS_CONNECTED', 3); define('STATUS_CONNECTED_SENTREGDATA', 4); define('STATUS_CONNECTED_REGISTERED', 5); // Constant Definitions define('ERROR_TIMEOUT', 60); define('CONNECT_TIMEOUT', 45); define('REGISTRATION_TIMEOUT', 60); define('TIMEOUT_CHECK_TIME', 85); //85 //Constants for Channel Modes define('BY_MASK', 0); define('BY_STRING', 1); define('BY_INT', 2); define('BY_NONE', 3); //Used with $ircClass->parseMode define('USER_MODE', 0); define('CHANNEL_MODE', 1); //Random Vars define('STATUS_JUST_BANNED', 1); define('STATUS_ALREADY_BANNED', 2); define('STATUS_NOT_BANNED', 3); //Socket Class defines define('SOCK_DEAD', 1); define('SOCK_CONNECTING', 2); define('SOCK_LISTENING', 3); define('SOCK_ACCEPTED', 4); define('SOCK_ACCEPTING', 5); define('SOCK_CONNECTED', 6); define('HIGHEST_PORT', 1000); // this is tcpRangeStart + HIGHEST_PORT //DCC Class defines define('FILE', 0); define('CHAT', 1); define('DCC_WAITING', 3); define('DCC_REVERSE', 4); define('DCC_CONNECTING', 0); define('DCC_CONNECTED', 1); define('DCC_LISTENING', 2); //Connection class defines define('CONN_READ', 0); define('CONN_WRITE', 1); define('CONN_ACCEPT', 2); define('CONN_CONNECT', 3); define('CONN_DEAD', 4); define('CONN_CONNECT_TIMEOUT', 5); define('CONN_TRANSFER_TIMEOUT', 6); //Parser Class defines define('BRIGHT', chr(3) . "13"); define('DARK', chr(3) . "03"); define('NORMAL', chr(16)); define('BOLD', chr(2)); define('UNDERLINE', chr(31)); define('PRIV', 1); define('DCC', 2); //File Class defines define('UPLOAD', 0); define('DOWNLOAD', 1); //Used with $ircClass->addQuery define('QUERY_SUCCESS', 0); define('QUERY_ERROR', 1); //Used in ini define('EXACT_MATCH', 0); define('AND_MATCH', 1); define('OR_MATCH', 2); define('CONTAINS_MATCH', 3); //Used in socket class to keep track of sockets class socketInfo { public $socket; public $status; public $readQueue; public $readLength; public $writeQueue; public $writeLength; public $host; public $port; public $newSockInt; public $listener; public $owner; public $class; public $func; public $readScheduled; //Used so we don't add infinite queues to the process queue. public $writeScheduled; } //Channel and Username Linked List (Links) Definitions class channelLink { public $name; public $count; public $memberList = array(); public $banList = array(); public $whoComplete; public $banComplete; public $modes; public $created; public $topic; public $topicBy; } class memberLink { public $nick; public $realNick; public $host; public $ident; public $banned; public $bantime; public $status; public $ignored; } // Used in timer class class timer { public $name; public $class; public $args; public $interval; public $lastTimeRun; public $nextRunTime; public $func; } class usageLink { public $isBanned; public $timeBanned; public $lastTimeUsed; public $timesUsed; } // Useful for sending arguments with timers class argClass { public $arg1; public $arg2; public $arg3; public $arg4; public $arg5; public $arg6; public $arg7; public $arg8; public $timer; } // Used to instantiate a bot class botClass { public $timerClass; public $ircClass; public $dccClass; public $parserClass; public $socketClass; public $configFilename; public $db; public $config; } // Used with processQueue class queueItem { public $owner; //IRC Class of owner public $callBack_class; //CALL BACK class/function to use public $callBack_function; public $nextRunTime; //The next getMicroTime() time to run public $removed; public $next; public $prev; } ?>