#define DCCSEND_OK 0 #define DCCSEND_FULL 1 /* dcc table is full */ #define DCCSEND_NOSOCK 2 /* can't open a listening socket */ #define DCCSEND_BADFN 3 /* no such file */ #define MAX_FILENAME_LENGTH 40 /* max file lengh */ #ifndef MAKING_TRANSFER /* 4 - 7 */ #define DCC_FORK_SEND \ (*(struct dcc_table *)(transfer_funcs[4])) #define at_limit(a) \ (((int (*) (char *))transfer_funcs[5])(a)) #define copy_to_tmp \ (*(int *)(transfer_funcs[6])) #define fileq_cancel(a,b) \ (((void (*) (int,char *))transfer_funcs[7])(a,b)) /* 8 - 11 */ #define queue_file(a,b,c,d) \ (((void (*)(char *,char *,char *,char *))transfer_funcs[8])(a,b,c,d)) #define raw_dcc_send(a,b,c,d) \ (((int (*) (char *,char *,char *,char *))transfer_funcs[9])(a,b,c,d)) #define show_queued_files(a) \ (((void (*) (int))transfer_funcs[10])(a)) #define wild_match_file(a,b) \ (((int (*)(register unsigned char * m, register unsigned char * n))transfer_funcs[11])(a,b)) /* 12 - 15 */ #define wipe_tmp_filename(a,b) \ (((void (*) (char *,int))transfer_funcs[12])(a,b)) #define DCC_GET \ (*(struct dcc_table *)(transfer_funcs[13])) #define H_rcvd (*(p_tcl_bind_list*)(transfer_funcs[14])) #define H_sent (*(p_tcl_bind_list*)(transfer_funcs[15])) /* 16 - 19 */ #define USERENTRY_FSTAT (*(struct user_entry_type *)(transfer_funcs[16])) #else static int raw_dcc_send (char *, char *, char *, char *); #endif