702 lines
41 KiB
C
702 lines
41 KiB
C
#ifndef MODVAL_H_
|
|
#define MODVAL_H_
|
|
|
|
/* include this so we have the enum table just in case someone forgets. */
|
|
|
|
#include "module.h"
|
|
|
|
/*
|
|
* this is a method first used in eggdrop modules..
|
|
* A global table of functions is passed into the init function of module,
|
|
* which is then assigned to the value global. This table is then indexed,
|
|
* to access the various functions. What this means to us, is that we no
|
|
* longer require -rdynamic on the LDFLAGS line, which reduces the size
|
|
* of the client. This also makes this less compiler/environment dependant,
|
|
* allowing modules to work on more platforms.
|
|
* A Function_ptr *global is required in the module. The second arg to
|
|
* the init function is used to initialize this table. The table itself is
|
|
* initialized in modules.c. This file should only be included once in the
|
|
* module and also should be the last file included. It should never be
|
|
* included in the source itself.
|
|
* As long as we add new functions to the END of the list in module.h then
|
|
* currently compiled modules will continue to function fine. If we change
|
|
* the order of the list however, then BAD things will occur.
|
|
* Copyright Colten Edwards July 1998.
|
|
*/
|
|
|
|
#ifndef BUILT_IN_DLL
|
|
#define BUILT_IN_DLL(x) \
|
|
void x (IrcCommandDll *intp, char *command, char *args, char *subargs, char *helparg)
|
|
#endif
|
|
|
|
#if defined(WTERM_C) || defined(STERM_C)
|
|
/* If we are building wserv or scr-bx we can't use
|
|
* the global table so we forward to the actual
|
|
* functions instead of throught the global table.
|
|
*/
|
|
#define set_non_blocking(x) BX_set_non_blocking(x)
|
|
#define set_blocking(x) BX_set_blocking(x)
|
|
#define ip_to_host(x) BX_ip_to_host(x)
|
|
#define host_to_ip(x) BX_host_to_ip(x)
|
|
#define connect_by_number(a, b, c, d, e) BX_connect_by_number(a, b, c, d, e)
|
|
#define get_int_var(v) BX_get_int_var(v)
|
|
#define ircpanic BX_ircpanic
|
|
char *my_ltoa (long);
|
|
#else
|
|
|
|
/*
|
|
* need to undefine these particular defines. Otherwise we can't include
|
|
* them in the table.
|
|
*/
|
|
#undef new_malloc
|
|
#undef new_free
|
|
#undef RESIZE
|
|
#undef malloc_strcat
|
|
#undef malloc_strcpy
|
|
#undef m_strdup
|
|
#undef m_strcat_ues
|
|
#undef m_strndup
|
|
|
|
#undef MODULENAME
|
|
|
|
#ifdef MAIN_SOURCE
|
|
void init_global_functions(void);
|
|
#ifndef __modules_c
|
|
extern char *_modname_;
|
|
extern Function_ptr *global;
|
|
#endif
|
|
#else
|
|
|
|
#ifdef INIT_MODULE
|
|
/* only in the first c file do we #define INIT_MODULE */
|
|
char *_modname_ = NULL;
|
|
Function_ptr *global = NULL;
|
|
#undef INIT_MODULE
|
|
#else
|
|
extern char *_modname_;
|
|
extern Function_ptr *global;
|
|
#endif
|
|
|
|
#endif /* MAIN_SOURCE */
|
|
|
|
#define MODULENAME _modname_
|
|
|
|
#define check_module_version (*(int (*)(unsigned long))global[MODULE_VERSION_CHECK])
|
|
#define set_dll_name(x) malloc_strcpy(&_modname_, x)
|
|
#define set_global_func(x) global = x;
|
|
#define initialize_module(x) { \
|
|
global = global_table; \
|
|
malloc_strcpy(&_modname_, x); \
|
|
if (!check_module_version(MODULE_VERSION)) \
|
|
return INVALID_MODVERSION; \
|
|
}
|
|
|
|
|
|
#ifndef MAIN_SOURCE
|
|
#define empty_string ""
|
|
#define space " "
|
|
#endif
|
|
|
|
#ifndef HAVE_VSNPRINTF
|
|
#define vsnprintf ((char * (*)())global[VSNPRINTF])
|
|
#endif
|
|
#ifndef HAVE_SNPRINTF
|
|
#define snprintf ((char * (*)())global[SNPRINTF])
|
|
#endif
|
|
|
|
/* Changed these to cast the function pointer rather than the arguments and result. The old method wasn't portable to
|
|
* some 64 bit platforms. Next step - change instances of global[XYZ] to &xyzfunc in the code.
|
|
*
|
|
* Should also think about standardising types (eg Screen instead of struct ScreenStru, get rid of u_char).
|
|
*/
|
|
/* ircaux.c */
|
|
#define new_malloc(x) ((void * (*)(size_t, const char *, const char *, int))global[NEW_MALLOC])((x),MODULENAME, __FILE__,__LINE__)
|
|
#define new_free(x) (*(x) = ((void * (*)(void *, const char *, const char *, int))global[NEW_FREE])(*(x),MODULENAME, __FILE__,__LINE__))
|
|
#define RESIZE(x, y, z) ((x) = ((void * (*)(void *, size_t, const char *, const char *, int))global[NEW_REALLOC])((x), sizeof(y) * (z), MODULENAME, __FILE__, __LINE__))
|
|
#define malloc_strcpy(x, y) ((char * (*)(char **, const char *, const char *, const char *, int))global[MALLOC_STRCPY])((x), (y), MODULENAME, __FILE__, __LINE__)
|
|
#define malloc_strcat(x, y) ((char * (*)(char **, const char *, const char *, const char *, int))global[MALLOC_STRCAT])((x), (y), MODULENAME, __FILE__, __LINE__)
|
|
#define malloc_str2cpy (*(char * (*)(char **, const char *, const char *))global[MALLOC_STR2CPY])
|
|
#define m_3dup (*(char * (*)(const char *, const char *, const char *))global[M_3DUP])
|
|
#define m_opendup (*(char * (*)(const char *, ...))global[M_OPENDUP])
|
|
#define m_s3cat (*(char * (*)(char **, const char *, const char *))global[M_S3CAT])
|
|
#define m_s3cat_s (*(char * (*)(char **, const char *, const char *))global[M_S3CAT_S])
|
|
#define m_3cat (*(char * (*)(char **, const char *, const char *))global[M_3CAT])
|
|
#define m_2dup (*(char * (*)(const char *, const char *))global[M_2DUP])
|
|
#define m_e3cat (*(char * (*)(char **, const char *, const char *))global[M_E3CAT])
|
|
|
|
#define my_stricmp (*(int (*)(const char *, const char *))global[MY_STRICMP])
|
|
#define my_strnicmp (*(int (*)(const char *, const char *, size_t))global[MY_STRNICMP])
|
|
|
|
#define my_strnstr (*(int (*)(const char *, const char *, size_t))global[MY_STRNSTR])
|
|
#define chop (*(char * (*)(char *, int))global[CHOP])
|
|
#define strmcpy (*(char * (*)(char *, const char *, int))global[STRMCPY])
|
|
#define strmcat (*(char * (*)(char *, const char *, int))global[STRMCAT])
|
|
#define scanstr (*(int (*)(char *, char *))global[SCANSTR])
|
|
#define m_dupchar (*(char * (*)(int))global[M_DUPCHAR])
|
|
#define streq (*(size_t (*)(const char *, const char *))global[STREQ])
|
|
#define strieq (*(size_t (*)(const char *, const char *))global[STRIEQ])
|
|
#define strmopencat (*(char * (*)(char *, int , ...))global[STRMOPENCAT])
|
|
#define ov_strcpy (*(char * (*)(char *, const char *))global[OV_STRCPY])
|
|
#define upper (*(char * (*)(char *))global[UPPER])
|
|
#define lower (*(char * (*)(char *))global[LOWER])
|
|
#define stristr (*(char * (*)(const char *, const char *))global[STRISTR])
|
|
#define rstristr (*(char * (*)(char *, char *))global[RSTRISTR])
|
|
#define word_count (*(int (*)(char *))global[WORD_COUNT])
|
|
#define remove_trailing_spaces (*(char * (*)(char *))global[REMOVE_TRAILING_SPACES])
|
|
#define expand_twiddle (*(char * (*)(char *))global[EXPAND_TWIDDLE])
|
|
#define check_nickname (*(char * (*)(char *))global[CHECK_NICKNAME])
|
|
#define sindex (*(char * (*)(const char *, const char *))global[SINDEX])
|
|
#define rsindex (*(char * (*)(const char *, const char *, const char *))global[RSINDEX])
|
|
#define is_number (*(int (*)(const char *))global[ISNUMBER])
|
|
#define rfgets (*(char * (*)(char *, int , FILE *))global[RFGETS])
|
|
#define path_search (*(char * (*)(char *, char *))global[PATH_SEARCH])
|
|
#define double_quote (*(char * (*)(const char *, const char *, char *))global[DOUBLE_QUOTE])
|
|
#define ircpanic (*(void (*)(char *, ...))global[IRCPANIC])
|
|
#define end_strcmp (*(int (*)(const char *, const char *, int))global[END_STRCMP])
|
|
#define beep_em (*(void (*)(int))global[BEEP_EM])
|
|
#define uzfopen (*(FILE * (*)(char **, char *, int))global[UZFOPEN])
|
|
#define get_time (*(struct timeval (*)(struct timeval *))global[FUNC_GET_TIME])
|
|
#define time_diff (*(double (*)(struct timeval , struct timeval))global[TIME_DIFF])
|
|
#define time_to_next_minute (*(int (*)(void))global[TIME_TO_NEXT_MINUTE])
|
|
#define plural (*(char * (*)(int))global[PLURAL])
|
|
#define my_ctime (*(char * (*)(time_t))global[MY_CTIME])
|
|
#define ccspan (*(size_t (*)(const char *, int))global[CCSPAN])
|
|
#define my_ltoa (*(char *(*)(long ))global[LTOA])
|
|
#define strformat (*(char *(*)(char *, const char *, int , char ))global[STRFORMAT])
|
|
#define MatchingBracket (*(char *(*)(char *, char , char ))global[MATCHINGBRACKET])
|
|
#define parse_number (*(int (*)(char **))global[PARSE_NUMBER])
|
|
#define splitw (*(int (*)(char *, char ***))global[SPLITW])
|
|
#define unsplitw (*(char *(*)(char ***, int ))global[UNSPLITW])
|
|
#define check_val (*(int (*)(char *))global[CHECK_VAL])
|
|
#define on_off (*(char *(*)(int ))global[ON_OFF])
|
|
#define strextend (*(char *(*)(char *, char , int ))global[STREXTEND])
|
|
#define strfill (*(const char *(*)(char , int ))global[STRFILL])
|
|
#define empty (*(int (*)(const char *))global[EMPTY_FUNC])
|
|
#define remove_brackets (*(char *(*)(const char *, const char *, int *))global[REMOVE_BRACKETS])
|
|
#define my_atol (*(long (*)(const char *))global[MY_ATOL])
|
|
#define strip_control (*(void (*)(const char *, char *))global[STRIP_CONTROL])
|
|
#define figure_out_address (*(int (*)(char *, char **, char **, char **, char **, int *))global[FIGURE_OUT_ADDRESS])
|
|
#define strnrchr (*(char *(*)(char *, char , int ))global[STRNRCHR])
|
|
#define mask_digits (*(void (*)(char **))global[MASK_DIGITS])
|
|
#define ccscpan (*(size_t (*)(const char *, int))global[CCSPAN])
|
|
#define charcount (*(int (*)(const char *, char ))global[CHARCOUNT])
|
|
#define strpcat (*(char *(*)(char *, const char *, ...))global[STRPCAT])
|
|
#define strcpy_nocolorcodes (*(char *(*)(char *, const char *))global[STRCPY_NOCOLORCODES])
|
|
#define cryptit (*(char *(*)(const char *))global[CRYPTIT])
|
|
#define stripdev (*(char *(*)(char *))global[STRIPDEV])
|
|
#define mangle_line (*(size_t (*)(char *, int, size_t))global[MANGLE_LINE])
|
|
#define m_strdup(x) (*(char *(*)(const char *, const char *, const char *, const int ))global[M_STRDUP])((x), MODULENAME, __FILE__, __LINE__)
|
|
#define m_strcat_ues(x, y, z) (*(char *(*)(char **, char *, int , const char *, const char *, const int ))global[M_STRCAT_UES])((x), (y), (z), MODULENAME, __FILE__, __LINE__)
|
|
#define m_strndup(x, y) (*(char *(*)(const char *, size_t, const char *, const char *, const int ))global[M_STRNDUP])((x), (y), MODULENAME, __FILE__, __LINE__)
|
|
#define malloc_sprintf (*(char *(*)(char **, const char *, ...))global[MALLOC_SPRINTF])
|
|
#define m_sprintf (*(char *(*)(const char *, ...))global[M_SPRINTF])
|
|
#define next_arg (*(char *(*)(char *, char **))global[NEXT_ARG])
|
|
#define new_next_arg (*(char *(*)(char *, char **))global[NEW_NEXT_ARG])
|
|
#define new_new_next_arg (*(char *(*)(char *, char **, char *))global[NEW_NEW_NEXT_ARG])
|
|
#define last_arg (*(char *(*)(char **))global[LAST_ARG])
|
|
#define next_in_comma_list (*(char *(*)(char *, char **))global[NEXT_IN_COMMA_LIST])
|
|
#define random_number (*(u_long (*)(u_long))global[RANDOM_NUMBER])
|
|
|
|
|
|
/* words.c reg.c */
|
|
#define strsearch (*(char *(*)(const char *, const char *, int))global[STRSEARCH])
|
|
#define move_to_word (*(char *(*)(const char *, int))global[MOVE_TO_WORD])
|
|
#define move_word_rel (*(char *(*)(const char *, char **, int ))global[MOVE_WORD_REL])
|
|
#define extract (*(char *(*)(char *, int , int ))global[EXTRACT])
|
|
#define extract2 (*(char *(*)(const char *, int , int ))global[EXTRACT2])
|
|
#define wild_match (*(int (*)(const char *, const char *))global[WILD_MATCH])
|
|
|
|
/* network.c */
|
|
#define connect_by_number (*(int (*)(char *, unsigned short *, int , int , int ))global[CONNECT_BY_NUMBER])
|
|
#define lookup_host (*(struct sockaddr_foobar *(*)(const char *))global[LOOKUP_HOST])
|
|
#define resolv (*(struct sockaddr_foobar *(*)(const char *))global[LOOKUP_HOST])
|
|
#define host_to_ip (*(char *(*)(const char *))global[HOST_TO_IP])
|
|
#define ip_to_host (*(char *(*)(const char *))global[IP_TO_HOST])
|
|
#define one_to_another (*(char *(*)(const char *))global[ONE_TO_ANOTHER])
|
|
#define set_blocking (*(int (*)(int ))global[SET_BLOCKING])
|
|
#define set_non_blocking (*(int (*)(int ))global[SET_NON_BLOCKING])
|
|
|
|
|
|
/* list.c */
|
|
#define add_to_list (*(void (*)(List **, List *))global[ADD_TO_LIST])
|
|
#define add_to_list_ext (*(void (*)(List **, List *, int (*)(List *, List *)))global[ADD_TO_LIST_EXT])
|
|
#define find_in_list (*(List *(*)(List **, char *, int))global[FIND_IN_LIST])
|
|
#define find_in_list_ext (*(List *(*)(List **, char *, int, int (*)(List *, char *)))global[FIND_IN_LIST_EXT])
|
|
#define remove_from_list (*(List *(*)(List **, char *))global[REMOVE_FROM_LIST_])
|
|
#define remove_from_list_ext (*(List *(*)(List **, char *, int (*)(List *, char *)))global[REMOVE_FROM_LIST_EXT])
|
|
#define removewild_from_list (*(List *(*)(List **, char *))global[REMOVEWILD_FROM_LIST])
|
|
#define list_lookup (*(List *(*)(List **, char *, int, int))global[LIST_LOOKUP])
|
|
#define list_lookup_ext (*(List *(*)(List **, char *, int, int, int (*)(List *, char *)))global[LIST_LOOKUP_EXT])
|
|
|
|
/* alist.c */
|
|
#define add_to_array (*(Array_item *(*)(Array *, Array_item *))global[ADD_TO_ARRAY])
|
|
#define remove_from_array (*(Array_item *(*)(Array *, char *))global[REMOVE_FROM_ARRAY])
|
|
#define array_pop (*(Array_item *(*)(Array *, int))global[ARRAY_POP])
|
|
|
|
#define remove_all_from_array (*(Array_item *(*)(Array *, char *))global[REMOVE_ALL_FROM_ARRAY])
|
|
#define array_lookup (*(Array_item *(*)(Array *, char *, int, int ))global[ARRAY_LOOKUP])
|
|
#define find_array_item (*(Array_item *(*)(Array *, char *, int *, int *))global[FIND_ARRAY_ITEM])
|
|
|
|
#define find_fixed_array_item (*(void *(*)(void *, size_t, int, const char *, int *, int *))global[FIND_FIXED_ARRAY_ITEM])
|
|
|
|
/* output.c */
|
|
#define put_it (*(void (*)(const char *, ...))global[PUT_IT])
|
|
#define bitchsay (*(void (*)(const char *, ...))global[BITCHSAY])
|
|
#define yell (*(void (*)(const char *, ...))global[YELL])
|
|
#define add_to_log (*(void (*)(FILE *, time_t, const char *, int ))global[ADD_TO_LOG])
|
|
|
|
#define bsd_glob (*(int (*)(const char *, int, int (*)(const char *, int), glob_t *))global[BSD_GLOB])
|
|
#define bsd_globfree (*(void (*)(glob_t *))global[BSD_GLOBFREE])
|
|
|
|
/* misc commands */
|
|
#define my_encrypt (*(void (*)(char *, int , const char *))global[MY_ENCRYPT])
|
|
#define my_decrypt (*(void (*)(char *, int , const char *))global[MY_DECRYPT])
|
|
#define prepare_command (*(ChannelList *(*)(int *, char *, int))global[PREPARE_COMMAND])
|
|
#define convert_output_format (*(char *(*)(const char *, const char *, ...))global[CONVERT_OUTPUT_FORMAT])
|
|
#define userage (*(void (*)(char *, char *))global[USERAGE])
|
|
#define send_text (*(void (*)(const char *, const char *, unsigned))global[SEND_TEXT])
|
|
/* this needs to be worked out. it's passed in the IrcVariable * to _Init */
|
|
#define load (*(void (*)(char *, char *, char *, char *))global[FUNC_LOAD])
|
|
#define update_clock (*(char *(*)(int ))global[UPDATE_CLOCK])
|
|
#define PasteArgs (*(char *(*)(char **, int ))global[PASTEARGS])
|
|
#define BreakArgs (*(int (*)(char *, char **, char **, int ))global[BREAKARGS])
|
|
|
|
#define set_lastlog_msg_level (*(unsigned long (*)(unsigned long ))global[SET_LASTLOG_MSG_LEVEL])
|
|
#define split_CTCP (*(void (*)(char *, char *, char *))global[SPLIT_CTCP])
|
|
#define random_str (*(char *(*)(int , int ))global[RANDOM_STR])
|
|
#define dcc_printf (*(int (*)(int, char *, ...))global[DCC_PRINTF])
|
|
|
|
/* screen.c */
|
|
#define prepare_display (*(char **(*)(const char *, int , int *, int ))global[PREPARE_DISPLAY])
|
|
#define add_to_window (*(void (*)(Window *, const char *))global[ADD_TO_WINDOW])
|
|
#define skip_incoming_mirc (*(char *(*)(char *))global[SKIP_INCOMING_MIRC])
|
|
#define add_to_screen (*(void (*)(char *))global[ADD_TO_SCREEN])
|
|
#define split_up_line (*(char **(*)(const char *, int ))global[SPLIT_UP_LINE])
|
|
#define output_line (*(int (*)(const char *))global[OUTPUT_LINE])
|
|
#define output_with_count (*(int (*)(const char *, int , int ))global[OUTPUT_WITH_COUNT])
|
|
#define scroll_window (*(void (*)(Window *))global[SCROLL_WINDOW])
|
|
/* Previous broken definitions - yet it still seemed to work?
|
|
#define cursor_not_in_display(x) ((void) (global[CURSOR_IN_DISPLAY]((Screen *)x)))
|
|
#define cursor_in_display(x) ((void) (global[CURSOR_IN_DISPLAY]((Screen *)x)))
|
|
*/
|
|
#define cursor_not_in_display (*(void (*)(Screen *))global[CURSOR_NOT_IN_DISPLAY])
|
|
#define cursor_in_display (*(void (*)(Window *))global[CURSOR_IN_DISPLAY])
|
|
#define is_cursor_in_display (*(int (*)(Screen *))global[IS_CURSOR_IN_DISPLAY])
|
|
#define repaint_window (*(void (*)(Window *, int, int))global[REPAINT_WINDOW])
|
|
|
|
#define kill_screen (*(void (*)(Screen *))global[KILL_SCREEN])
|
|
#define xterm_settitle (*(void (*)(void))global[XTERM_SETTITLE])
|
|
#define add_wait_prompt (*(void (*)(char *, void (*)(char *, char *), char *, int , int ))global[ADD_WAIT_PROMPT])
|
|
#define skip_ctl_c_seq (*(char *(*)(const char *, int *, int *, int ))global[SKIP_CTL_C_SEQ])
|
|
#define strip_ansi (*(char *(*)(const char *))global[STRIP_ANSI])
|
|
#define create_new_screen ((Screen * (*)(void))global[CREATE_NEW_SCREEN])
|
|
#define create_additional_screen ((Window * (*)(void))global[CREATE_ADDITIONAL_SCREEN])
|
|
|
|
|
|
/* window.c */
|
|
#define free_formats (*(void (*)(Window *))global[FREE_FORMATS])
|
|
#define set_screens_current_window (*(void (*)(Screen *, Window *))global[SET_SCREENS_CURRENT_WINDOW])
|
|
#define new_window (*(Window *(*)(struct ScreenStru *))global[NEW_WINDOW])
|
|
#define delete_window (*(void (*)(Window *))global[DELETE_WINDOW])
|
|
#define traverse_all_windows (*(int (*)(Window **))global[TRAVERSE_ALL_WINDOWS])
|
|
#define add_to_invisible_list (*(void (*)(Window *))global[ADD_TO_INVISIBLE_LIST])
|
|
#define remove_window_from_screen (*(void (*)(Window *))global[REMOVE_WINDOW_FROM_SCREEN])
|
|
#define recalculate_window_positions (*(void (*)(struct ScreenStru *))global[RECALCULATE_WINDOW_POSITIONS])
|
|
#define move_window (*(void (*)(Window *, int))global[MOVE_WINDOW])
|
|
#define resize_window (*(void (*)(int, Window *, int))global[RESIZE_WINDOW])
|
|
#define redraw_all_windows (*(void (*)(void))global[REDRAW_ALL_WINDOWS])
|
|
#define rebalance_windows (*(void (*)(struct ScreenStru *))global[REBALANCE_WINDOWS])
|
|
#define recalculate_windows (*(void (*)(struct ScreenStru *))global[RECALCULATE_WINDOWS])
|
|
|
|
#define update_all_windows (*(void (*)(void))global[UPDATE_ALL_WINDOWS])
|
|
|
|
/* Several of these are never used! */
|
|
#define goto_window (*(void (*)(Screen *, int))global[GOTO_WINDOW])
|
|
#define hide_window (*(void (*)(Window *))global[HIDE_BX_WINDOW])
|
|
#define swap_last_window (*(void (*)(char , char *))global[FUNC_SWAP_LAST_WINDOW])
|
|
#define swap_next_window (*(void (*)(char , char *))global[FUNC_SWAP_NEXT_WINDOW])
|
|
#define swap_previous_window (*(void (*)(char , char *))global[FUNC_SWAP_PREVIOUS_WINDOW])
|
|
#define show_window (*(void (*)(Window *))global[SHOW_WINDOW])
|
|
#define get_status_by_refnum (*(char *(*)(unsigned , unsigned ))global[GET_STATUS_BY_REFNUM])
|
|
#define get_visible_by_refnum (*(int (*)(char *))global[GET_VISIBLE_BY_REFNUM])
|
|
#define get_window_by_desc (*(Window *(*)(const char *))global[GET_WINDOW_BY_DESC])
|
|
#define get_window_by_refnum (*(Window *(*)(unsigned ))global[GET_WINDOW_BY_REFNUM])
|
|
#define get_window_by_name (*(Window *(*)(const char *))global[GET_WINDOW_BY_NAME])
|
|
#define next_window (*(void (*)(char , char *))global[FUNC_NEXT_WINDOW])
|
|
#define previous_window (*(void (*)(char , char *))global[FUNC_PREVIOUS_WINDOW])
|
|
#define update_window_status (*(void (*)(Window *, int ))global[UPDATE_WINDOW_STATUS])
|
|
#define update_all_status (*(void (*)(Window *, char *, int))global[UPDATE_ALL_STATUS])
|
|
#define update_window_status_all (*(void (*)(void ))global[UPDATE_WINDOW_STATUS_ALL])
|
|
#define status_update (*(int (*)(int ))global[STATUS_UPDATE])
|
|
|
|
#define set_prompt_by_refnum (*(void (*)(unsigned , char *))global[SET_PROMPT_BY_REFNUM])
|
|
#define get_prompt_by_refnum (*(char *(*)(unsigned ))global[GET_PROMPT_BY_REFNUM])
|
|
#define get_target_by_refnum (*(char *(*)(unsigned ))global[GET_TARGET_BY_REFNUM])
|
|
#define get_target_cmd_by_refnum (*(char *(*)(u_int))global[GET_TARGET_CMD_BY_REFNUM])
|
|
#define get_window_target_by_desc (*(Window *(*)(char *))global[GET_WINDOW_TARGET_BY_DESC])
|
|
#define is_current_channel (*(int (*)(const char *, int , int ))global[IS_CURRENT_CHANNEL])
|
|
#define set_current_channel_by_refnum (*(const char *(*)(unsigned , char *))global[SET_CURRENT_CHANNEL_BY_REFNUM])
|
|
#define get_current_channel_by_refnum (*(char *(*)(unsigned ))global[GET_CURRENT_CHANNEL_BY_REFNUM])
|
|
#define get_refnum_by_window (*(char *(*)(const Window *))global[GET_REFNUM_BY_WINDOW])
|
|
#define is_bound_to_window (*(int (*)(const Window *, const char *))global[IS_BOUND_TO_WINDOW])
|
|
#define get_window_bound_channel (*(Window *(*)(const char *))global[GET_WINDOW_BOUND_CHANNEL])
|
|
#define is_bound_anywhere (*(int (*)(const char *))global[IS_BOUND_ANYWHERE])
|
|
#define is_bound (*(int (*)(const char *, int ))global[IS_BOUND])
|
|
#define unbind_channel (*(void (*)(const char *, int ))global[UNBIND_CHANNEL])
|
|
#define get_bound_channel (*(char *(*)(Window *))global[GET_BOUND_CHANNEL])
|
|
#define get_window_server (*(int (*)(unsigned ))global[GET_WINDOW_SERVER])
|
|
#define set_window_server (*(void (*)(int , int , int ))global[SET_WINDOW_SERVER])
|
|
#define window_check_servers (*(void (*)(int ))global[WINDOW_CHECK_SERVERS])
|
|
#define change_window_server (*(void (*)(int , int ))global[CHANGE_WINDOW_SERVER])
|
|
#define set_level_by_refnum (*(void (*)(unsigned , unsigned long ))global[SET_LEVEL_BY_REFNUM])
|
|
#define message_to (*(void (*)(unsigned long ))global[MESSAGE_TO])
|
|
#define clear_window (*(void (*)(Window *))global[CLEAR_WINDOW])
|
|
#define clear_all_windows (*(void (*)(int , int ))global[CLEAR_ALL_WINDOWS])
|
|
#define clear_window_by_refnum (*(void (*)(unsigned ))global[CLEAR_WINDOW_BY_REFNUM])
|
|
#define unclear_window_by_refnum (*(void (*)(unsigned ))global[UNCLEAR_WINDOW_BY_REFNUM])
|
|
#define set_scroll_lines (*(void (*)(Window *, char *, int))global[SET_SCROLL_LINES])
|
|
#define set_continued_lines (*(void (*)(Window *, char *, int))global[SET_CONTINUED_LINES])
|
|
#define current_refnum (*(unsigned (*)(void ))global[CURRENT_REFNUM])
|
|
#define number_of_windows_on_screen (*(int (*)(Window *))global[NUMBER_OF_WINDOWS_ON_SCREEN])
|
|
#define set_scrollback_size (*(void (*)(Window *, char *, int))global[SET_SCROLLBACK_SIZE])
|
|
#define is_window_name_unique (*(int (*)(char *))global[IS_WINDOW_NAME_UNIQUE])
|
|
#define get_nicklist_by_window (*(char *(*)(Window *))global[GET_NICKLIST_BY_WINDOW])
|
|
#define scrollback_backwards_lines (*(void (*)(int ))global[SCROLLBACK_BACKWARDS_LINES])
|
|
#define scrollback_forwards_lines (*(void (*)(int ))global[SCROLLBACK_FORWARDS_LINES])
|
|
#define scrollback_forwards (*(void (*)(char , char *))global[SCROLLBACK_FORWARDS])
|
|
#define scrollback_backwards (*(void (*)(char , char *))global[SCROLLBACK_BACKWARDS])
|
|
#define scrollback_end (*(void (*)(char , char *))global[SCROLLBACK_END])
|
|
#define scrollback_start (*(void (*)(char , char *))global[SCROLLBACK_START])
|
|
#define set_hold_mode (*(void (*)(Window *, int, int))global[SET_HOLD_MODE])
|
|
#define unhold_windows (*(int (*)(void ))global[UNHOLD_WINDOWS])
|
|
#define unstop_all_windows (*(void (*)(char , char *))global[FUNC_UNSTOP_ALL_WINDOWS])
|
|
#define reset_line_cnt (*(void (*)(Window *, char *, int))global[RESET_LINE_CNT])
|
|
#define toggle_stop_screen (*(void (*)(char , char *))global[FUNC_TOGGLE_STOP_SCREEN])
|
|
#define flush_everything_being_held (*(void (*)(Window *))global[FLUSH_EVERYTHING_BEING_HELD])
|
|
#define unhold_a_window (*(int (*)(Window *))global[UNHOLD_A_WINDOW])
|
|
#define recalculate_window_cursor (*(void (*)(Window *))global[RECALCULATE_WINDOW_CURSOR])
|
|
#define make_window_current (*(void (*)(Window *))global[MAKE_WINDOW_CURRENT])
|
|
#define clear_scrollback (*(void (*)(Window *))global[CLEAR_SCROLLBACK])
|
|
|
|
#define set_display_target (*(void (*)(const char *, unsigned long ))global[SET_DISPLAY_TARGET])
|
|
#define save_display_target (*(void (*)(const char **, unsigned long *))global[SAVE_DISPLAY_TARGET])
|
|
#define restore_display_target (*(void (*)(const char *, unsigned long ))global[RESTORE_DISPLAY_TARGET])
|
|
#define reset_display_target (*(void (*)(void ))global[RESET_DISPLAY_TARGET])
|
|
|
|
#define build_status (*(void (*)(Window *, char *, int))global[BUILD_STATUS])
|
|
|
|
|
|
|
|
#define do_hook (*(int (*)(int, char *, ...))global[HOOK])
|
|
|
|
/* input.c */
|
|
#define update_input (*(void (*)(int ))global[FUNC_UPDATE_INPUT])
|
|
#define cursor_to_input (*(void (*)(void ))global[CURSOR_TO_INPUT])
|
|
#define set_input (*(void (*)(char *))global[SET_INPUT])
|
|
#define get_input (*(char *(*)(void ))global[GET_INPUT])
|
|
#define get_input_prompt (*(char *(*)(void ))global[GET_INPUT_PROMPT])
|
|
#define set_input_prompt (*(void (*)(Window *, char *, int))global[SET_INPUT_PROMPT])
|
|
#define addtabkey (*(void (*)(char *, char *, int ))global[ADDTABKEY])
|
|
#define gettabkey (*(NickTab *(*)(int, int, char *))global[GETTABKEY])
|
|
#define getnextnick (*(NickTab *(*)(int, char *, char *, char *))global[GETNEXTNICK])
|
|
#define getchannick (*(char *(*)(char *, char *))global[GETCHANNICK])
|
|
#define lookup_nickcompletion (*(NickList *(*)(ChannelList *, char *))global[LOOKUP_NICKCOMPLETION])
|
|
#define add_completion_type (*(int (*)(char *, int , enum completion ))global[ADD_COMPLETION_TYPE])
|
|
|
|
/* names.c */
|
|
#define is_channel (*(int (*)(const char *))global[IS_CHANNEL])
|
|
#define make_channel (*(char *(*)(char *))global[MAKE_CHANNEL])
|
|
#define is_chanop (*(int (*)(char *, char *))global[IS_CHANOP])
|
|
#define is_halfop (*(int (*)(char *, char *))global[IS_HALFOP])
|
|
#define im_on_channel (*(int (*)(char *, int ))global[IM_ON_CHANNEL])
|
|
#define is_on_channel (*(int (*)(char *, int , char *))global[IS_ON_CHANNEL])
|
|
#define add_channel (*(ChannelList *(*)(char *, int, int))global[ADD_CHANNEL])
|
|
#define add_to_channel (*(ChannelList *(*)(char *, char *, int, int, int, char *, char *, char *, int, int))global[ADD_TO_CHANNEL])
|
|
#define get_channel_key (*(char *(*)(char *, int ))global[GET_CHANNEL_KEY])
|
|
#define recreate_mode (*(char *(*)(ChannelList *))global[FUNC_RECREATE_MODE])
|
|
#define do_compress_modes (*(char *(*)(ChannelList *, int, char *, char *))global[FUNC_COMPRESS_MODES])
|
|
#define got_ops (*(int (*)(int, ChannelList *))global[FUNC_GOT_OPS])
|
|
#define get_channel_bans (*(char *(*)(char *, int , int ))global[GET_CHANNEL_BANS])
|
|
#define get_channel_mode (*(char *(*)(char *, int ))global[GET_CHANNEL_MODE])
|
|
#define clear_bans (*(void (*)(ChannelList *))global[CLEAR_BANS])
|
|
#define remove_channel (*(void (*)(const char *))global[REMOVE_CHANNEL])
|
|
#define remove_from_channel (*(void (*)(char *, char *, int , int , char *))global[REMOVE_FROM_CHANNEL])
|
|
#define rename_nick (*(void (*)(char *, char *, int ))global[RENAME_NICK])
|
|
#define get_channel_oper (*(int (*)(char *, int ))global[GET_CHANNEL_OPER])
|
|
#define get_channel_halfop (*(int (*)(char *, int ))global[GET_CHANNEL_HALFOP])
|
|
#define get_channel_voice (*(int (*)(char *, int ))global[GET_CHANNEL_VOICE])
|
|
#define fetch_userhost (*(char *(*)(int , char *))global[FETCH_USERHOST])
|
|
#define create_channel_list (*(char *(*)(Window *))global[CREATE_CHANNEL_LIST])
|
|
#define flush_channel_stats (*(void (*)(void ))global[FLUSH_CHANNEL_STATS])
|
|
#define lookup_channel (*(ChannelList *(*)(const char *, int, int))global[LOOKUP_CHANNEL])
|
|
|
|
/* hash.c */
|
|
#define find_nicklist_in_channellist (*(NickList *(*)(const char *, ChannelList *, int))global[FIND_NICKLIST_IN_CHANNELLIST])
|
|
#define add_nicklist_to_channellist (*(void (*)(NickList *, ChannelList *))global[ADD_NICKLIST_TO_CHANNELLIST])
|
|
#define next_nicklist (*(NickList *(*)(ChannelList *, NickList *))global[NEXT_NICKLIST])
|
|
#define next_namelist (*(List *(*)(HashEntry *, List *, unsigned int))global[NEXT_NAMELIST])
|
|
#define add_name_to_genericlist (*(void (*)(char *, HashEntry *, unsigned int))global[ADD_NAME_TO_GENERICLIST])
|
|
#define find_name_in_genericlist (*(List *(*)(const char *, HashEntry *, unsigned int, int))global[FIND_NAME_IN_GENERICLIST])
|
|
#define add_whowas_userhost_channel (*(void (*)(WhowasList *, WhowasWrapList *))global[ADD_WHOWAS_USERHOST_CHANNEL])
|
|
#define find_userhost_channel (*(WhowasList *(*)(char *, char *, int, WhowasWrapList *))global[FIND_USERHOST_CHANNEL])
|
|
#define next_userhost (*(WhowasList *(*)(WhowasWrapList *, WhowasList *))global[NEXT_USERHOST])
|
|
#define sorted_nicklist (*(NickList *(*)(ChannelList *, int))global[SORTED_NICKLIST])
|
|
#define clear_sorted_nicklist (*(void (*)(NickList **))global[CLEAR_SORTED_NICKLIST])
|
|
#define add_name_to_floodlist (*(Flooding *(*)(char *, char *, char *, HashEntry *, unsigned int))global[ADD_NAME_TO_FLOODLIST])
|
|
#define find_name_in_floodlist (*(Flooding *(*)(char *, char *, HashEntry *, unsigned int, int))global[FIND_NAME_IN_FLOODLIST])
|
|
|
|
#define remove_oldest_whowas_hashlist (*(int (*)(WhowasWrapList *, time_t, int))global[REMOVE_OLDEST_WHOWAS_HASHLIST])
|
|
|
|
|
|
|
|
/* cset.c fset.c vars.c set string and set int ops */
|
|
#define fget_string_var (*(char *(*)(enum FSET_TYPES ))global[FGET_STRING_VAR])
|
|
#define fset_string_var (*(void (*)(enum FSET_TYPES , char *))global[FSET_STRING_VAR])
|
|
#define get_wset_string_var (*(char *(*)(WSet *, int))global[GET_WSET_STRING_VAR])
|
|
#define set_wset_string_var (*(void (*)(WSet *, int, char *))global[SET_WSET_STRING_VAR])
|
|
#define get_cset_int_var (*(int (*)(CSetList *, int))global[GET_CSET_INT_VAR])
|
|
#define set_cset_int_var (*(void (*)(CSetList *, int, int))global[SET_CSET_INT_VAR])
|
|
#define get_cset_str_var (*(char *(*)(CSetList *, int))global[GET_CSET_STR_VAR])
|
|
#define set_cset_str_var (*(void (*)(CSetList *, int, const char *))global[SET_CSET_STR_VAR])
|
|
|
|
#define get_dllint_var (*(int (*)(char *))global[GET_DLLINT_VAR])
|
|
#define set_dllint_var (*(void (*)(char *, unsigned int ))global[SET_DLLINT_VAR])
|
|
#define get_dllstring_var (*(char *(*)(char *))global[GET_DLLSTRING_VAR])
|
|
#define set_dllstring_var (*(void (*)(char *, char *))global[SET_DLLSTRING_VAR])
|
|
#define save_dllvar (*(void (*)(FILE *, char *))global[SAVE_DLLVAR])
|
|
|
|
#define get_int_var (*(int (*)(enum VAR_TYPES ))global[GET_INT_VAR])
|
|
#define set_int_var (*(void (*)(enum VAR_TYPES , unsigned int ))global[SET_INT_VAR])
|
|
#define get_string_var (*(char *(*)(enum VAR_TYPES ))global[GET_STRING_VAR])
|
|
#define set_string_var (*(void (*)(enum VAR_TYPES , char *))global[SET_STRING_VAR])
|
|
|
|
|
|
/* module.c */
|
|
#define add_module_proc (*(int (*)(unsigned int , char *, char *, char *, int , int , void *, void *))global[ADD_MODULE_PROC])
|
|
#define remove_module_proc (*(int (*)(unsigned int , char *, char *, char *))global[REMOVE_MODULE_PROC])
|
|
|
|
|
|
/* timer.c */
|
|
#define add_timer (*(char *(*)(int , char *, double , long , int (*)(void *, char *), char *, char *, int , char *))global[ADD_TIMER])
|
|
#define delete_timer (*(int (*)(char *))global[DELETE_TIMER])
|
|
#define delete_all_timers (*(void (*)(void ))global[DELETE_ALL_TIMERS])
|
|
|
|
|
|
|
|
/* server.c */
|
|
#define send_to_server (*(void (*)(const char *, ...))global[SEND_TO_SERVER])
|
|
#define queue_send_to_server (*(void (*)(int, const char *, ...))global[QUEUE_SEND_TO_SERVER])
|
|
#define my_send_to_server (*(void (*)(int, const char *, ...))global[MY_SEND_TO_SERVER])
|
|
#define get_connected (*(void (*)(int , int ))global[GET_CONNECTED])
|
|
#define connect_to_server_by_refnum (*(int (*)(int , int ))global[CONNECT_TO_SERVER_BY_REFNUM])
|
|
#define close_server (*(void (*)(int , char *))global[CLOSE_SERVER])
|
|
#define is_server_connected (*(int (*)(int ))global[IS_SERVER_CONNECTED])
|
|
#define flush_server (*(void (*)(void ))global[FLUSH_SERVER])
|
|
#define server_is_connected (*(void (*)(int , int ))global[SERVER_IS_CONNECTED])
|
|
#define is_server_open (*(int (*)(int ))global[IS_SERVER_OPEN])
|
|
#define close_all_server (*(void (*)(void ))global[CLOSE_ALL_SERVER])
|
|
|
|
#define read_server_file (*(int (*)(char *))global[READ_SERVER_FILE])
|
|
#define add_to_server_list (*(void (*)(char *, int , char *, char *, char *, int , int ))global[ADD_TO_SERVER_LIST])
|
|
#define build_server_list (*(int (*)(char *))global[BUILD_SERVER_LIST])
|
|
#define display_server_list (*(void (*)(void ))global[DISPLAY_SERVER_LIST])
|
|
#define parse_server_info (*(void (*)(char *, char **, char **, char **, char **))global[PARSE_SERVER_INFO])
|
|
#define server_list_size (*(int (*)(void ))global[SERVER_LIST_SIZE])
|
|
|
|
#define find_server_refnum (*(int (*)(char *, char **))global[FIND_SERVER_REFNUM])
|
|
#define find_in_server_list (*(int (*)(char *, int ))global[FIND_IN_SERVER_LIST])
|
|
#define parse_server_index (*(int (*)(char *))global[PARSE_SERVER_INDEX])
|
|
|
|
#define set_server_redirect (*(void (*)(int , const char *))global[SET_SERVER_REDIRECT])
|
|
#define get_server_redirect (*(char *(*)(int ))global[GET_SERVER_REDIRECT])
|
|
#define check_server_redirect (*(int (*)(char *))global[CHECK_SERVER_REDIRECT])
|
|
#define fudge_nickname (*(void (*)(int))global[FUDGE_NICKNAME])
|
|
#define reset_nickname (*(void (*)(int ))global[RESET_NICKNAME])
|
|
|
|
#define set_server_cookie (*(void (*)(int , char *))global[SET_SERVER_COOKIE])
|
|
#define update_server_umode (*(void (*)(int , char , int ))global[UPDATE_SERVER_UMODE])
|
|
#define set_server_motd (*(void (*)(int , int ))global[SET_SERVER_MOTD])
|
|
#define set_server_operator (*(void (*)(int , int ))global[SET_SERVER_OPERATOR])
|
|
#define set_server_itsname (*(void (*)(int , char *))global[SET_SERVER_ITSNAME])
|
|
#define set_server_version (*(void (*)(int , int ))global[SET_SERVER_VERSION])
|
|
#define set_server_lag (*(void (*)(int , int ))global[SET_SERVER_LAG])
|
|
#define set_server_password (*(char *(*)(int , char *))global[SET_SERVER_PASSWORD])
|
|
#define set_server_nickname (*(void (*)(int , char *))global[SET_SERVER_NICKNAME])
|
|
#define set_server2_8 (*(void (*)(int , int ))global[SET_SERVER2_8])
|
|
#define set_server_away (*(void (*)(int , char *, int ))global[SET_SERVER_AWAY])
|
|
|
|
#define get_server_cookie (*(char *(*)(int ))global[GET_SERVER_COOKIE])
|
|
#define get_server_nickname (*(char *(*)(int ))global[GET_SERVER_NICKNAME])
|
|
#define get_server_name (*(char *(*)(int ))global[GET_SERVER_NAME])
|
|
#define get_server_itsname (*(char *(*)(int ))global[GET_SERVER_ITSNAME])
|
|
#define get_server_motd (*(int (*)(int ))global[GET_SERVER_MOTD])
|
|
#define get_server_operator (*(int (*)(int ))global[GET_SERVER_OPERATOR])
|
|
#define get_server_version (*(int (*)(int ))global[GET_SERVER_VERSION])
|
|
#define get_server_umode (*(int (*)(int , char))global[GET_SERVER_UMODE])
|
|
#define get_server_port (*(int (*)(int ))global[GET_SERVER_PORT])
|
|
#define get_server_lag (*(int (*)(int ))global[GET_SERVER_LAG])
|
|
#define get_server2_8 (*(int (*)(int ))global[GET_SERVER2_8])
|
|
#define get_umode (*(char *(*)(int ))global[GET_UMODE])
|
|
#define get_server_away (*(char *(*)(int ))global[GET_SERVER_AWAY])
|
|
#define get_server_network (*(char *(*)(int ))global[GET_SERVER_NETWORK])
|
|
#define get_pending_nickname (*(char *(*)(int ))global[GET_PENDING_NICKNAME])
|
|
#define server_disconnect (*(void (*)(int , char *))global[SERVER_DISCONNECT])
|
|
|
|
#define get_server_list (*(Server *(*)(void))global[GET_SERVER_LIST])
|
|
#define get_server_channels (*(ChannelList *(*)(int))global[GET_SERVER_CHANNELS])
|
|
|
|
#define set_server_last_ctcp_time (*(void (*)(int , time_t))global[SET_SERVER_LAST_CTCP_TIME])
|
|
#define get_server_last_ctcp_time (*(time_t (*)(int))global[GET_SERVER_LAST_CTCP_TIME])
|
|
#define set_server_trace_flag (*(void (*)(int , int ))global[SET_SERVER_TRACE_FLAG])
|
|
#define get_server_trace_flag (*(int (*)(int ))global[GET_SERVER_TRACE_FLAG])
|
|
#define get_server_read (*(int (*)(int ))global[GET_SERVER_READ])
|
|
#define get_server_linklook (*(int (*)(int ))global[GET_SERVER_LINKLOOK])
|
|
#define set_server_linklook (*(void (*)(int , int ))global[SET_SERVER_LINKLOOK])
|
|
#define get_server_stat_flag (*(int (*)(int ))global[GET_SERVER_STAT_FLAG])
|
|
#define set_server_stat_flag (*(void (*)(int , int ))global[SET_SERVER_STAT_FLAG])
|
|
#define get_server_linklook_time (*(time_t (*)(int ))global[GET_SERVER_LINKLOOK_TIME])
|
|
#define set_server_linklook_time (*(void (*)(int , time_t))global[SET_SERVER_LINKLOOK_TIME])
|
|
#define get_server_trace_kill (*(int (*)(int ))global[GET_SERVER_TRACE_KILL])
|
|
#define set_server_trace_kill (*(void (*)(int , int ))global[SET_SERVER_TRACE_KILL])
|
|
#define add_server_channels (*(void (*)(int, ChannelList *))global[ADD_SERVER_CHANNELS])
|
|
#define set_server_channels (*(void (*)(int, ChannelList *))global[SET_SERVER_CHANNELS])
|
|
#define send_msg_to_channels (*(void (*)(int, const char *))global[SEND_MSG_TO_CHANNELS])
|
|
#define send_msg_to_nicks (*(void (*)(ChannelList *, int, char *))global[SEND_MSG_TO_NICKS])
|
|
#define is_server_queue (*(int (*)(void ))global[IS_SERVER_QUEUE])
|
|
|
|
|
|
/* sockets */
|
|
#define add_socketread (*(int (*)(int, int, unsigned long, char *, void (*)(int), void (*)(int)))global[ADD_SOCKETREAD])
|
|
#define add_sockettimeout (*(void (*)(int , time_t, void *))global[ADD_SOCKETTIMEOUT])
|
|
#define close_socketread (*(void (*)(int ))global[CLOSE_SOCKETREAD])
|
|
#define get_socket (*(SocketList *(*)(int ))global[GET_SOCKET])
|
|
#define set_socketflags (*(unsigned long (*)(int , unsigned long ))global[SET_SOCKETFLAGS])
|
|
#define get_socketflags (*(unsigned long (*)(int ))global[GET_SOCKETFLAGS])
|
|
#define check_socket (*(int (*)(int ))global[CHECK_SOCKET])
|
|
#define read_sockets (*(int (*)(int , char *, int ))global[READ_SOCKETS])
|
|
#define write_sockets (*(int (*)(int , char *, int , int ))global[WRITE_SOCKETS])
|
|
#define get_max_fd (*(int (*)(void ))global[GET_MAX_FD])
|
|
#define new_close (*(int (*)(int ))global[NEW_CLOSE])
|
|
#define new_open (*(int (*)(int ))global[NEW_OPEN])
|
|
#define dgets (*(int (*)(char *, int , int , int , void *))global[DGETS])
|
|
#define get_socketinfo (*(void *(*)(int ))global[GET_SOCKETINFO])
|
|
#define set_socketinfo (*(void (*)(int , void *))global[SET_SOCKETINFO])
|
|
#define set_socket_write (*(int (*)(int ))global[SET_SOCKETWRITE])
|
|
|
|
|
|
/* flood.c */
|
|
#define is_other_flood (*(int (*)(ChannelList *, NickList *, enum flood_type, int *))global[IS_OTHER_FLOOD])
|
|
#define check_flooding (*(int (*)(char *, enum flood_type, char *, char *))global[CHECK_FLOODING])
|
|
#define flood_prot (*(int (*)(char *, char *, enum flood_type, int, char *))global[FLOOD_PROT])
|
|
|
|
/* expr.c */
|
|
#define next_unit (*(char *(*)(char *, const char *, int *, int ))global[NEXT_UNIT])
|
|
#define parse_inline (*(char *(*)(char *, const char *, int *))global[PARSE_INLINE])
|
|
#define expand_alias (*(char *(*)(const char *, const char *, int *, char **))global[EXPAND_ALIAS])
|
|
#define alias_special_char (*(char *(*)(char **, char *, const char *, char *, int *))global[ALIAS_SPECIAL_CHAR])
|
|
#define parse_line (*(void (*)(const char *, char *, const char *, int , int , int ))global[PARSE_LINE])
|
|
#define parse_command (*(int (*)(char *, int , char *))global[PARSE_COMMAND_FUNC])
|
|
#define make_local_stack (*(void (*)(char *))global[MAKE_LOCAL_STACK])
|
|
#define destroy_local_stack (*(void (*)(void ))global[DESTROY_LOCAL_STACK])
|
|
|
|
|
|
/* dcc.c */
|
|
#define dcc_create (*(DCC_int *(*)(char *, char *, char *, unsigned long, int, int, unsigned long, void (*)(int)))global[DCC_CREATE_FUNC])
|
|
#define find_dcc (*(SocketList *(*)(const char *, const char *, const char *, int, int, int, int))global[FIND_DCC_FUNC])
|
|
#define erase_dcc_info (*(void (*)(int, int, char *, ...))global[ERASE_DCC_INFO])
|
|
#define add_dcc_bind (*(int (*)(char *, char *, const struct dcc_ops *))global[ADD_DCC_BIND])
|
|
#define remove_dcc_bind (*(int (*)(char *, int ))global[REMOVE_DCC_BIND])
|
|
#define remove_all_dcc_binds (*(int (*)(const char *))global[REMOVE_ALL_DCC_BINDS])
|
|
#define get_active_count (*(int (*)(void ))global[GET_ACTIVE_COUNT])
|
|
#define get_num_queue (*(int (*)(void ))global[GET_NUM_QUEUE])
|
|
#define add_to_queue (*(int (*)(char *, char *, pack *))global[ADD_TO_QUEUE])
|
|
#define dcc_filesend (*(void (*)(char *, char *))global[DCC_FILESEND])
|
|
#define dcc_resend (*(void (*)(char *, char *))global[DCC_RESEND])
|
|
#define dcc_chat_socketread (*(void (*)(int))global[DCC_CHAT_SOCKETREAD])
|
|
#define dcc_send_socketread (*(void (*)(int))global[DCC_SEND_SOCKETREAD])
|
|
|
|
/* irc.c */
|
|
#define irc_exit (*(void (*)(int, char *, char *, ...))global[IRC_EXIT_FUNC])
|
|
#define io (*(void (*)(const char *))global[IRC_IO_FUNC])
|
|
|
|
/* commands.c */
|
|
#define find_command (*(const IrcCommand *(*)(const char *, int *))global[FIND_COMMAND_FUNC])
|
|
|
|
#define lock_stack_frame (*(void (*)(void ))global[LOCK_STACK_FRAME])
|
|
#define unlock_stack_frame (*(void (*)(void ))global[UNLOCK_STACK_FRAME])
|
|
|
|
/* who.c */
|
|
#define userhostbase (*(void (*)(char *, void (*)(UserhostItem *, char *, char *), int, char *, ...))global[USERHOSTBASE])
|
|
#define isonbase (*(void (*)(char *, void (*)(char *, char *)))global[ISONBASE])
|
|
#define whobase (*(void (*)(char *, void (*)(WhoEntry *, char *, char **), void (*)(WhoEntry *, char *, char **), char *, ...))global[WHOBASE])
|
|
|
|
#define add_to_window_list (*(Window *(*)(struct ScreenStru *, Window *))global[ADD_TO_WINDOW_LIST])
|
|
|
|
/*
|
|
* Rest of these are all variables of various sorts.
|
|
*/
|
|
|
|
#ifndef MAIN_SOURCE
|
|
|
|
#define nickname ((char *) *global[NICKNAME])
|
|
#define irc_version ((char *) *global[IRC_VERSION])
|
|
|
|
#define from_server (*(int *)global[FROM_SERVER])
|
|
#define connected_to_server ((int) *((int *)global[CONNECTED_TO_SERVER]))
|
|
#define primary_server ((int) *((int *)global[PRIMARY_SERVER]))
|
|
#define parsing_server_index ((int) *((int *)global[PARSING_SERVER_INDEX]))
|
|
#define now ((time_t) *((time_t *)global[NOW]))
|
|
#define start_time ((time_t) *((time_t *)global[START_TIME]))
|
|
#define idle_time() ((time_t) *((time_t *)global[IDLE_TIME]()))
|
|
|
|
#define loading_global (*((int *)global[LOADING_GLOBAL]))
|
|
#define target_window (*((Window **)global[TARGET_WINDOW]))
|
|
#define current_window (*((Window **)global[CURRENT_WINDOW]))
|
|
#define invisible_list (*((Window **)global[INVISIBLE_LIST]))
|
|
#define main_screen (*((Screen **)global[MAIN_SCREEN]))
|
|
#define last_input_screen (*((Screen **)global[LAST_INPUT_SCREEN]))
|
|
#define output_screen (*((Screen **)global[OUTPUT_SCREEN]))
|
|
#define screen_list (*((Screen **)global[SCREEN_LIST]))
|
|
#define irclog_fp (*((FILE **)global[IRCLOG_FP]))
|
|
#define window_display ((int) *((int *)global[WINDOW_DISPLAY]))
|
|
#define status_update_flag ((int) *((int *)global[STATUS_UPDATE_FLAG]))
|
|
#define tabkey_array (*((NickTab **)global[TABKEY_ARRAY]))
|
|
#define autoreply_array (*((NickTab *)global[AUTOREPLY_ARRAY]))
|
|
#define identd (*((int *)global[IDENTD_SOCKET]))
|
|
#define doing_notice ((int) *((int *)global[DOING_NOTICE]))
|
|
|
|
#define default_output_function (*(void (**)(char *))global[DEFAULT_OUTPUT_FUNCTION])
|
|
|
|
#define serv_open_func (*(int (**)(int, unsigned long, int))global[SERV_OPEN_FUNC])
|
|
#define serv_input_func (*(int (**)(int, char *, int, int, int))global[SERV_INPUT_FUNC])
|
|
#define serv_output_func (*(int (**)(int, int, char *, int))global[SERV_OUTPUT_FUNC])
|
|
#define serv_close_func (*(int (**)(int, unsigned long, int))global[SERV_CLOSE_FUNC])
|
|
#if 0
|
|
#define check_ext_mail_status (*(int (**)()) global[CHECK_EXT_MAIL_STATUS])
|
|
#define check_ext_mail (*(char *(**)())global[CHECK_EXT_MAIL])
|
|
#endif
|
|
|
|
#ifdef WANT_TCL
|
|
#define tcl_interp ((Tcl_Interp *)((Tcl_Interp **)(global[VAR_TCL_INTERP])))
|
|
#else
|
|
#define tcl_interp NULL
|
|
#endif
|
|
#else
|
|
#undef get_time
|
|
#define get_time(a) BX_get_time(a)
|
|
#endif /* MAIN_SOURCE */
|
|
|
|
#ifdef GUI
|
|
#ifndef MAIN_SOURCE
|
|
#define lastclicklinedata ((char *) *global[LASTCLICKLINEDATA])
|
|
#define contextx ((int) *((int *)global[CONTEXTX]))
|
|
#define contexty ((int) *((int *)global[CONTEXTY]))
|
|
#define guiipc ((int) *((int *)global[GUIIPC]))
|
|
#endif
|
|
#define gui_mutex_lock() ((void (*)(void)) global[GUI_MUTEX_LOCK])()
|
|
#define gui_mutex_unlock() ((void (*)(void))global[GUI_MUTEX_UNLOCK])()
|
|
#endif
|
|
|
|
#endif /* WTERM_C || STERM_C */
|
|
#endif
|