stasis-aries-wal/libdfa/networksetup.h
2005-01-19 00:47:55 +00:00

40 lines
1.4 KiB
C

#ifndef __NETWORKSETUP_H
#define __NETWORKSETUP_H
/**
This struct contains the state for the messages (networking) layer.
Currently, everything here can be derived at startup, so this won't
need to be in transactional storage, with some luck. */
typedef struct networkSetup {
char * coordinator;
unsigned short localport;
char * localhost;
int socket;
/**
Same format as argv for main(). If a message is addressed to
"broadcast", then the message will be sent to each
"address:port" pair in this string. If you want to use proper
IP broadcast, then this list can simply contain one entry that
contains a subnet broadcast address like "1.2.3.0:1234".
It would be best to set this value to NULL and
broadcast_list_count to zero if you don't plan to use broadcast.
*/
char *** broadcast_lists;
int broadcast_lists_count;
int *broadcast_list_host_count;
} NetworkSetup;
/** This site is the coordinator. */
#define COORDINATOR -1
/** Obtain the hostnumber from the config file. */
#define DEFAULT_HOST -2
/** Parses the network configuration file.
@param The name of the config file.
@param hostnumber COORDINATOR, or which subordinate this host is (zero indexed)
@return an initialized NetworkSetup struct.
*/
NetworkSetup * readNetworkConfig(char * name, int hostnumber);
int consolidate_bc_groups(char *** list, NetworkSetup * ns) ;
#endif // __NETWORKSETUP_H