110 lines
3.9 KiB
C
110 lines
3.9 KiB
C
/* nwserv.h 17-Jul-97 */
|
|
/* (C)opyright (C) 1993,1995 Martin Stover, Marburg, Germany
|
|
*
|
|
* 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., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
*/
|
|
#ifndef _M_NWSERV_H_
|
|
#define _M_NWSERV_H_
|
|
extern uint32 internal_net; /* NETWORKNUMMER INTERN (SERVER) */
|
|
extern int no_internal; /* no use of internal net */
|
|
extern int auto_detect_interfaces;
|
|
extern ipxAddr_t my_server_adr; /* Address of this server */
|
|
extern char my_nwname[50]; /* Name of this server */
|
|
extern int print_route_tac; /* every x broadcasts print it */
|
|
extern int print_route_mode; /* append */
|
|
extern char *pr_route_info_fn; /* filename */
|
|
extern int wdogs_till_tics;
|
|
extern time_t acttime_stamp;
|
|
|
|
typedef struct {
|
|
char *devname; /* "eth0" or "isdnX" or ?? */
|
|
int frame; /* frametyp */
|
|
int ticks; /* ether:ticks=1, isdn:ticks=7 */
|
|
uint32 net; /* NETWORK NUMBER */
|
|
int is_up; /* Is this device up ? */
|
|
int wildmask; /* wildmask, 1=name, 2=frame, 4=net */
|
|
time_t updated_time;
|
|
int needs_update;
|
|
} NW_NET_DEVICE;
|
|
|
|
/* <========== DEVICES ==========> */
|
|
extern int count_net_devices;
|
|
extern int max_net_devices;
|
|
extern NW_NET_DEVICE **net_devices;
|
|
|
|
/* <======== SOCKETS =========> */
|
|
#if !IN_NWROUTED
|
|
# define WDOG_SLOT 0 /* Watchdog send + recv */
|
|
|
|
# if SOCK_EXTERN
|
|
# define EXTERN_SLOT (WDOG_SLOT+1)
|
|
# ifdef _MAR_TESTS_1
|
|
# define PSERVER_SLOT (EXTERN_SLOT+1)
|
|
# define SAP_SLOT (PSERVER_SLOT+1)
|
|
# else
|
|
# define SAP_SLOT (EXTERN_SLOT+1)
|
|
# endif
|
|
# else
|
|
# ifdef _MAR_TESTS_1
|
|
# define PSERVER_SLOT (WDOG_SLOT+1)
|
|
# define SAP_SLOT (PSERVER_SLOT+1)
|
|
# else
|
|
# define SAP_SLOT (WDOG_SLOT+1)
|
|
# endif
|
|
# endif
|
|
#else
|
|
# define SAP_SLOT 0
|
|
#endif
|
|
|
|
#if INTERNAL_RIP_SAP
|
|
# define RIP_SLOT (SAP_SLOT +1)
|
|
# define ROUTE_SLOT (RIP_SLOT +1)
|
|
# define DIAG_SLOT (ROUTE_SLOT +1)
|
|
# if 0
|
|
# define ECHO_SLOT (DIAG_SLOT +1)
|
|
# define ERR_SLOT (ECHO_SLOT +1)
|
|
# endif
|
|
#endif
|
|
|
|
extern int sockfd[];
|
|
|
|
extern void ins_del_bind_net_addr(uint8 *name, int styp, ipxAddr_t *adr);
|
|
extern void send_server_response(int respond_typ,
|
|
int styp, ipxAddr_t *to_addr);
|
|
|
|
extern void print_routing_info(int force);
|
|
extern void send_sap_rip_broadcast(int mode);
|
|
extern void rip_for_net(uint32 net);
|
|
extern void get_servers(void);
|
|
|
|
extern void handle_rip(int fd, int ipx_pack_typ,
|
|
int data_len, IPX_DATA *ipxdata,
|
|
ipxAddr_t *from_addr);
|
|
|
|
extern int activate_slow_net(uint32 net);
|
|
|
|
extern void insert_delete_server(uint8 *name,
|
|
int styp,
|
|
ipxAddr_t *addr,
|
|
ipxAddr_t *from_addr,
|
|
int hops,
|
|
int do_delete, /* delete = 1 */
|
|
int flags);
|
|
|
|
extern int dont_send_wdog(ipxAddr_t *addr);
|
|
extern void realloc_net_devices(void);
|
|
extern int test_ins_device_net(uint32 rnet);
|
|
#endif
|