2011-04-24 23:40:52 +00:00
|
|
|
/* ipxwrapper - Configuration header
|
2013-12-11 00:53:30 +00:00
|
|
|
* Copyright (C) 2011-2013 Daniel Collins <solemnwarning@solemnwarning.net>
|
2011-04-24 23:40:52 +00:00
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
|
|
* under the terms of the GNU General Public License version 2 as published by
|
|
|
|
* the Free Software Foundation.
|
|
|
|
*
|
|
|
|
* 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., 51
|
|
|
|
* Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef IPX_CONFIG_H
|
|
|
|
#define IPX_CONFIG_H
|
|
|
|
|
|
|
|
#define DEFAULT_PORT 54792
|
|
|
|
|
2012-10-21 10:26:52 +00:00
|
|
|
#include "common.h"
|
|
|
|
|
2012-10-28 15:53:54 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2017-03-27 23:32:43 +01:00
|
|
|
enum main_config_frame_type
|
|
|
|
{
|
|
|
|
FRAME_TYPE_ETH_II = 1,
|
|
|
|
FRAME_TYPE_NOVELL = 2
|
|
|
|
};
|
|
|
|
|
2012-10-21 10:26:52 +00:00
|
|
|
typedef struct main_config {
|
|
|
|
uint16_t udp_port;
|
|
|
|
|
|
|
|
bool w95_bug;
|
2013-12-11 00:53:30 +00:00
|
|
|
bool fw_except;
|
2014-04-01 23:00:18 +01:00
|
|
|
bool use_pcap;
|
2017-03-27 23:32:43 +01:00
|
|
|
enum main_config_frame_type frame_type;
|
2012-10-21 10:33:20 +00:00
|
|
|
|
2012-10-28 15:53:54 +00:00
|
|
|
enum ipx_log_level log_level;
|
2012-10-21 10:26:52 +00:00
|
|
|
} main_config_t;
|
2011-04-24 23:40:52 +00:00
|
|
|
|
2012-10-21 10:26:52 +00:00
|
|
|
struct v1_global_config {
|
2011-04-24 23:40:52 +00:00
|
|
|
uint16_t udp_port;
|
|
|
|
unsigned char w95_bug;
|
|
|
|
unsigned char bcast_all;
|
|
|
|
unsigned char filter;
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
2012-10-21 10:26:52 +00:00
|
|
|
typedef struct iface_config {
|
|
|
|
addr32_t netnum;
|
|
|
|
addr48_t nodenum;
|
|
|
|
|
|
|
|
bool enabled;
|
|
|
|
} iface_config_t;
|
|
|
|
|
|
|
|
struct v1_iface_config {
|
|
|
|
unsigned char ipx_net[4];
|
|
|
|
unsigned char ipx_node[6];
|
|
|
|
unsigned char enabled;
|
|
|
|
unsigned char primary;
|
|
|
|
} __attribute__((__packed__));
|
|
|
|
|
|
|
|
main_config_t get_main_config(void);
|
2012-10-28 15:53:54 +00:00
|
|
|
bool set_main_config(const main_config_t *config);
|
2012-10-21 10:26:52 +00:00
|
|
|
|
|
|
|
iface_config_t get_iface_config(addr48_t hwaddr);
|
2012-10-28 15:53:54 +00:00
|
|
|
bool set_iface_config(addr48_t hwaddr, const iface_config_t *config);
|
|
|
|
|
2012-10-21 10:26:52 +00:00
|
|
|
addr48_t get_primary_iface();
|
2012-11-12 20:58:48 +00:00
|
|
|
bool set_primary_iface(addr48_t primary);
|
2012-10-21 10:26:52 +00:00
|
|
|
|
2012-10-28 15:53:54 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2011-04-24 23:40:52 +00:00
|
|
|
#endif /* !IPX_CONFIG_H */
|