130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/*
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Equalizer Load-balancer for serial network interfaces.
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * (c) Copyright 1995 Simon "Guru Aleph-Null" Janes
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * NCM: Network and Communications Management, Inc.
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *	This software may be used and distributed according to the terms
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *	of the GNU General Public License, incorporated herein by reference.
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * The author may be reached as simon@ncm.com, or C/O
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *    NCM
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *    Attn: Simon Janes
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *    6803 Whittier Ave
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *    McLean VA 22101
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *    Phone: 1-703-847-0040 ext 103
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI_LINUX_IF_EQL_H
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI_LINUX_IF_EQL_H
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_DEFAULT_SLAVE_PRIORITY 28800
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_DEFAULT_MAX_SLAVES     4
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_DEFAULT_MTU            576
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_DEFAULT_RESCHED_IVAL   HZ
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_ENSLAVE     (SIOCDEVPRIVATE)
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_EMANCIPATE  (SIOCDEVPRIVATE + 1)
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_GETSLAVECFG (SIOCDEVPRIVATE + 2)
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_SETSLAVECFG (SIOCDEVPRIVATE + 3)
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_GETMASTRCFG (SIOCDEVPRIVATE + 4)
3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define EQL_SETMASTRCFG (SIOCDEVPRIVATE + 5)
3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3730692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct master_config {
3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	char	master_name[16];
3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	int	max_slaves;
4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	int	min_slaves;
4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} master_config_t;
4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4330692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct slave_config {
4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	char	slave_name[16];
4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	long	priority;
4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} slave_config_t;
4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4830692c65c4174412c90e79489e98ab85c1a7412fBen Chengtypedef struct slaving_request {
4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	char	slave_name[16];
5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng	long	priority;
5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng} slaving_request_t;
5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI_LINUX_IF_EQL_H */
55