/kern_oII/include/linux/if_eql.h
http://omnia2droid.googlecode.com/ · C++ Header · 83 lines · 50 code · 16 blank · 17 comment · 0 complexity · fe1d85bc2a441ad685a4eee4335dfd0c MD5 · raw file
- /*
- * Equalizer Load-balancer for serial network interfaces.
- *
- * (c) Copyright 1995 Simon "Guru Aleph-Null" Janes
- * NCM: Network and Communications Management, Inc.
- *
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- * The author may be reached as simon@ncm.com, or C/O
- * NCM
- * Attn: Simon Janes
- * 6803 Whittier Ave
- * McLean VA 22101
- * Phone: 1-703-847-0040 ext 103
- */
- #ifndef _LINUX_IF_EQL_H
- #define _LINUX_IF_EQL_H
- #define EQL_DEFAULT_SLAVE_PRIORITY 28800
- #define EQL_DEFAULT_MAX_SLAVES 4
- #define EQL_DEFAULT_MTU 576
- #define EQL_DEFAULT_RESCHED_IVAL 100
- #define EQL_ENSLAVE (SIOCDEVPRIVATE)
- #define EQL_EMANCIPATE (SIOCDEVPRIVATE + 1)
- #define EQL_GETSLAVECFG (SIOCDEVPRIVATE + 2)
- #define EQL_SETSLAVECFG (SIOCDEVPRIVATE + 3)
- #define EQL_GETMASTRCFG (SIOCDEVPRIVATE + 4)
- #define EQL_SETMASTRCFG (SIOCDEVPRIVATE + 5)
- #ifdef __KERNEL__
- #include <linux/timer.h>
- #include <linux/spinlock.h>
- typedef struct slave {
- struct list_head list;
- struct net_device *dev;
- long priority;
- long priority_bps;
- long priority_Bps;
- long bytes_queued;
- } slave_t;
- typedef struct slave_queue {
- spinlock_t lock;
- struct list_head all_slaves;
- int num_slaves;
- struct net_device *master_dev;
- } slave_queue_t;
- typedef struct equalizer {
- slave_queue_t queue;
- int min_slaves;
- int max_slaves;
- struct timer_list timer;
- } equalizer_t;
- #endif /* __KERNEL__ */
- typedef struct master_config {
- char master_name[16];
- int max_slaves;
- int min_slaves;
- } master_config_t;
- typedef struct slave_config {
- char slave_name[16];
- long priority;
- } slave_config_t;
- typedef struct slaving_request {
- char slave_name[16];
- long priority;
- } slaving_request_t;
- #endif /* _LINUX_EQL_H */