summaryrefslogtreecommitdiff
path: root/pfinet/linux-src/include
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2000-02-05 12:13:22 +0000
committerRoland McGrath <roland@gnu.org>2000-02-05 12:13:22 +0000
commitb39cd08347c72483a4521a55301a0fa147a2a2b1 (patch)
treeb2e07976bbfca079fa686ce436b8028cf180b4ae /pfinet/linux-src/include
parent9fd51e9b0ad33a89a83fdbbb66bd20d85f7893fb (diff)
Import of Linux 2.2.13 subset (ipv4 stack and related)
Diffstat (limited to 'pfinet/linux-src/include')
-rw-r--r--pfinet/linux-src/include/linux/apm_bios.h1
-rw-r--r--pfinet/linux-src/include/linux/capability.h4
-rw-r--r--pfinet/linux-src/include/linux/concap.h14
-rw-r--r--pfinet/linux-src/include/linux/cyclades.h65
-rw-r--r--pfinet/linux-src/include/linux/fs.h48
-rw-r--r--pfinet/linux-src/include/linux/i2c.h1
-rw-r--r--pfinet/linux-src/include/linux/isdn.h74
-rw-r--r--pfinet/linux-src/include/linux/isdn_ppp.h6
-rw-r--r--pfinet/linux-src/include/linux/isdnif.h12
-rw-r--r--pfinet/linux-src/include/linux/kernelcapi.h28
-rw-r--r--pfinet/linux-src/include/linux/pagemap.h1
-rw-r--r--pfinet/linux-src/include/linux/pci.h4
-rw-r--r--pfinet/linux-src/include/linux/poll.h12
-rw-r--r--pfinet/linux-src/include/linux/posix_types.h10
-rw-r--r--pfinet/linux-src/include/linux/proc_fs.h1
-rw-r--r--pfinet/linux-src/include/linux/quotaops.h3
-rw-r--r--pfinet/linux-src/include/linux/sched.h9
-rw-r--r--pfinet/linux-src/include/linux/sem.h2
-rw-r--r--pfinet/linux-src/include/linux/stddef.h4
-rw-r--r--pfinet/linux-src/include/linux/string.h5
-rw-r--r--pfinet/linux-src/include/linux/synclink.h16
-rw-r--r--pfinet/linux-src/include/linux/sysctl.h6
-rw-r--r--pfinet/linux-src/include/linux/tty.h2
-rw-r--r--pfinet/linux-src/include/linux/videodev.h1
-rw-r--r--pfinet/linux-src/include/net/ip.h16
25 files changed, 175 insertions, 170 deletions
diff --git a/pfinet/linux-src/include/linux/apm_bios.h b/pfinet/linux-src/include/linux/apm_bios.h
index a478c0c6..7dc036b2 100644
--- a/pfinet/linux-src/include/linux/apm_bios.h
+++ b/pfinet/linux-src/include/linux/apm_bios.h
@@ -130,6 +130,7 @@ extern int apm_display_unblank(void);
#define APM_NOT_ENGAGED 0x0b
#define APM_BAD_FUNCTION 0x0c
#define APM_RESUME_DISABLED 0x0d
+#define APM_NO_ERROR 0x53
#define APM_BAD_STATE 0x60
#define APM_NO_EVENTS 0x80
#define APM_NOT_PRESENT 0x86
diff --git a/pfinet/linux-src/include/linux/capability.h b/pfinet/linux-src/include/linux/capability.h
index 07d554ca..03c93dad 100644
--- a/pfinet/linux-src/include/linux/capability.h
+++ b/pfinet/linux-src/include/linux/capability.h
@@ -89,9 +89,9 @@ typedef __u32 kernel_cap_t;
/* Overrides the following restrictions that the effective user ID
shall match the file owner ID when setting the S_ISUID and S_ISGID
bits on that file; that the effective group ID (or one of the
- supplementary group IDs shall match the file owner ID when setting
+ supplementary group IDs) shall match the file owner ID when setting
the S_ISGID bit on that file; that the S_ISUID and S_ISGID bits are
- cleared on successful return from chown(2). */
+ cleared on successful return from chown(2) (not implemented). */
#define CAP_FSETID 4
diff --git a/pfinet/linux-src/include/linux/concap.h b/pfinet/linux-src/include/linux/concap.h
index 05f74d82..b8e72dc6 100644
--- a/pfinet/linux-src/include/linux/concap.h
+++ b/pfinet/linux-src/include/linux/concap.h
@@ -1,4 +1,4 @@
-/* $Id: concap.h,v 1.1 1998/02/01 00:15:11 keil Exp $
+/* $Id: concap.h,v 1.2 1999/08/23 15:54:21 keil Exp $
*/
#ifndef _LINUX_CONCAP_H
#define _LINUX_CONCAP_H
@@ -25,11 +25,11 @@ struct concap_device_ops;
/* this manages all data needed by the encapsulation protocol
*/
struct concap_proto{
- struct device *net_dev; /* net device using our service */
- struct concap_device_ops *dops; /* callbacks provided by device */
- struct concap_proto_ops *pops; /* callbacks provided by us */
+ struct device *net_dev; /* net device using our service */
+ struct concap_device_ops *dops; /* callbacks provided by device */
+ struct concap_proto_ops *pops; /* callbacks provided by us */
int flags;
- void *proto_data; /* protocol specific private data, to
+ void *proto_data; /* protocol specific private data, to
be accessed via *pops methods only*/
/*
:
@@ -107,7 +107,3 @@ extern int concap_nop(struct concap_proto *cprot);
extern int concap_drop_skb(struct concap_proto *cprot, struct sk_buff *skb);
#endif
#endif
-
-
-
-
diff --git a/pfinet/linux-src/include/linux/cyclades.h b/pfinet/linux-src/include/linux/cyclades.h
index f1043fdf..008254e6 100644
--- a/pfinet/linux-src/include/linux/cyclades.h
+++ b/pfinet/linux-src/include/linux/cyclades.h
@@ -1,9 +1,9 @@
/* $Revision: 2.6 $$Date: 1998/08/10 16:57:01 $
* linux/include/linux/cyclades.h
*
- * This file is maintained by Ivan Passos <ivan@cyclades.com>,
- * Marcio Saito <marcio@cyclades.com> and
- * Randolph Bentson <bentson@grieg.seaslug.org>.
+ * This file was initially written by
+ * Randolph Bentson <bentson@grieg.seaslug.org> and is maintained by
+ * Ivan Passos <ivan@cyclades.com>.
*
* This file contains the general definitions for the cyclades.c driver
*$Log: cyclades.h,v $
@@ -317,6 +317,7 @@ struct FIRM_ID {
#define C_IN_RXOFL 0x00010000 /* RX buffer overflow */
#define C_IN_IOCTLW 0x00020000 /* I/O control w/ wait */
#define C_IN_MRTS 0x00040000 /* modem RTS drop */
+#define C_IN_ICHAR 0x00080000
/* flow control */
@@ -373,6 +374,8 @@ struct FIRM_ID {
#define C_CM_TXLOWWM 0x61 /* Tx buffer low water mark */
#define C_CM_RXHIWM 0x62 /* Rx buffer high water mark */
#define C_CM_RXNNDT 0x63 /* rx no new data timeout */
+#define C_CM_TXFEMPTY 0x64
+#define C_CM_ICHAR 0x65
#define C_CM_MDCD 0x70 /* modem DCD change */
#define C_CM_MDSR 0x71 /* modem DSR change */
#define C_CM_MRI 0x72 /* modem RI change */
@@ -410,6 +413,8 @@ struct CH_CTRL {
uclong hw_overflow; /* hw overflow counter */
uclong sw_overflow; /* sw overflow counter */
uclong comm_error; /* frame/parity error counter */
+ uclong ichar;
+ uclong filler[7];
};
@@ -490,7 +495,25 @@ struct ZFW_CTRL {
/****************** ****************** *******************/
#endif
+/* Per card data structure */
+struct cyclades_card {
+ long base_addr;
+ long ctl_addr;
+ int irq;
+ int num_chips; /* 0 if card absent, -1 if Z/PCI, else Y */
+ int first_line; /* minor number of first channel on card */
+ int bus_index; /* address shift - 0 for ISA, 1 for PCI */
+ int intr_enabled; /* FW Interrupt flag - 0 disabled, 1 enabled */
+#ifdef __KERNEL__
+ spinlock_t card_lock;
+#else
+ uclong filler;
+#endif
+};
+struct cyclades_chip {
+ int filler;
+};
#ifdef __KERNEL__
@@ -508,20 +531,13 @@ struct ZFW_CTRL {
#define cy_readw(port) readw(port)
#define cy_readl(port) readl(port)
-/* Per card data structure */
-
-struct cyclades_card {
- long base_addr;
- long ctl_addr;
- int irq;
- int num_chips; /* 0 if card absent, -1 if Z/PCI, else Y */
- int first_line; /* minor number of first channel on card */
- int bus_index; /* address shift - 0 for ISA, 1 for PCI */
- int intr_enabled; /* FW Interrupt flag - 0 disabled, 1 enabled */
-};
-
-struct cyclades_chip {
- int filler;
+/*
+ * Statistics counters
+ */
+struct cyclades_icount {
+ __u32 cts, dsr, rng, dcd, tx, rx;
+ __u32 frame, parity, overrun, brk;
+ __u32 buf_overrun;
};
/*
@@ -568,16 +584,18 @@ struct cyclades_port {
int xmit_cnt;
int default_threshold;
int default_timeout;
- struct tq_struct tqueue;
+ unsigned long jiffies[3];
+ unsigned long rflush_count;
struct termios normal_termios;
struct termios callout_termios;
+ struct cyclades_monitor mon;
+ struct cyclades_idle_stats idle_stats;
+ struct cyclades_icount icount;
+ struct tq_struct tqueue;
struct wait_queue *open_wait;
struct wait_queue *close_wait;
struct wait_queue *shutdown_wait;
- struct cyclades_monitor mon;
- unsigned long jiffies[3];
- unsigned long rflush_count;
- struct cyclades_idle_stats idle_stats;
+ struct wait_queue *delta_msr_wait;
};
/*
@@ -590,6 +608,8 @@ struct cyclades_port {
#define Cy_EVENT_BREAK 3
#define Cy_EVENT_OPEN_WAKEUP 4
#define Cy_EVENT_SHUTDOWN_WAKEUP 5
+#define Cy_EVENT_DELTA_WAKEUP 6
+#define Cy_EVENT_Z_RX_FULL 7
#define CLOSING_WAIT_DELAY 30*HZ
#define CY_CLOSING_WAIT_NONE 65535
@@ -768,6 +788,7 @@ struct cyclades_port {
#define CyRTPR (0x21*2)
#define CyMSVR1 (0x6C*2)
#define CyMSVR2 (0x6D*2)
+#define CyANY_DELTA (0xF0)
#define CyDSR (0x80)
#define CyCTS (0x40)
#define CyRI (0x20)
diff --git a/pfinet/linux-src/include/linux/fs.h b/pfinet/linux-src/include/linux/fs.h
index 2fd11f7b..93a39537 100644
--- a/pfinet/linux-src/include/linux/fs.h
+++ b/pfinet/linux-src/include/linux/fs.h
@@ -22,6 +22,7 @@
#include <asm/atomic.h>
#include <linux/bitops.h>
#include <asm/cache.h>
+#include <linux/stddef.h> /* just in case the #define NULL previously in here was needed */
struct poll_table_struct;
@@ -65,10 +66,6 @@ extern int max_super_blocks, nr_super_blocks;
#define READA 2 /* read-ahead - don't block if no resources */
#define WRITEA 3 /* write-ahead - don't block if no resources */
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
#define NIL_FILP ((struct file *)0)
#define SEL_IN 1
#define SEL_OUT 2
@@ -184,7 +181,6 @@ typedef char buffer_block[BLOCK_SIZE];
#define BH_Lock 2 /* 1 if the buffer is locked */
#define BH_Req 3 /* 0 if the buffer has been invalidated */
#define BH_Protected 6 /* 1 if the buffer is protected */
-#define BH_LowPrio 7 /* 1 if the buffer is lowprio */
/*
* Try to keep the most commonly used fields in single cache lines (16
@@ -755,7 +751,6 @@ extern struct file *inuse_filps;
extern void refile_buffer(struct buffer_head * buf);
extern void set_writetime(struct buffer_head * buf, int flag);
extern int try_to_free_buffers(struct page *);
-extern void cache_drop_behind(struct buffer_head *bh);
extern int nr_buffers;
extern int buffermem;
@@ -776,25 +771,6 @@ extern inline void mark_buffer_clean(struct buffer_head * bh)
}
}
-extern inline void mark_buffer_highprio(struct buffer_head * bh)
-{
- clear_bit(BH_LowPrio, &bh->b_state);
-}
-
-extern inline void mark_buffer_lowprio(struct buffer_head * bh)
-{
- /*
- * dirty buffers cannot be marked lowprio.
- */
- if (!buffer_dirty(bh))
- set_bit(BH_LowPrio, &bh->b_state);
-}
-
-static inline int buffer_lowprio(struct buffer_head * bh)
-{
- return test_bit(BH_LowPrio, &bh->b_state);
-}
-
extern inline void mark_buffer_dirty(struct buffer_head * bh, int flag)
{
if (!test_and_set_bit(BH_Dirty, &bh->b_state)) {
@@ -802,23 +778,6 @@ extern inline void mark_buffer_dirty(struct buffer_head * bh, int flag)
if (bh->b_list != BUF_DIRTY)
refile_buffer(bh);
}
- /*
- * if a buffer gets marked dirty then it has to lose
- * it's lowprio state.
- */
- mark_buffer_highprio(bh);
-}
-
-extern inline void mark_buffer_dirty_lowprio(struct buffer_head * bh)
-{
- if (!test_and_set_bit(BH_Dirty, &bh->b_state)) {
- if (bh->b_list != BUF_DIRTY)
- refile_buffer(bh);
- /*
- * Mark it lowprio only if it was not dirty before!
- */
- set_bit(BH_LowPrio, &bh->b_state);
- }
}
extern int check_disk_change(kdev_t dev);
@@ -889,7 +848,6 @@ extern struct buffer_head * getblk(kdev_t, int, int);
extern struct buffer_head * find_buffer(kdev_t dev, int block, int size);
extern void ll_rw_block(int, int, struct buffer_head * bh[]);
extern int is_read_only(kdev_t);
-extern int is_device_idle(kdev_t);
extern void __brelse(struct buffer_head *);
extern inline void brelse(struct buffer_head *buf)
{
@@ -905,12 +863,8 @@ extern inline void bforget(struct buffer_head *buf)
extern void set_blocksize(kdev_t dev, int size);
extern unsigned int get_hardblocksize(kdev_t dev);
extern struct buffer_head * bread(kdev_t dev, int block, int size);
-extern struct buffer_head * buffer_ready (kdev_t dev, int block, int size);
-extern void bread_ahead (kdev_t dev, int block, int size);
extern struct buffer_head * breada(kdev_t dev,int block, int size,
unsigned int pos, unsigned int filesize);
-extern struct buffer_head * breada_blocks(kdev_t dev,int block,
- int size, int blocks);
extern int brw_page(int, struct page *, kdev_t, int [], int, int);
diff --git a/pfinet/linux-src/include/linux/i2c.h b/pfinet/linux-src/include/linux/i2c.h
index 273b2a71..6082de3d 100644
--- a/pfinet/linux-src/include/linux/i2c.h
+++ b/pfinet/linux-src/include/linux/i2c.h
@@ -39,6 +39,7 @@ struct i2c_device;
#define I2C_BUSID_BT848 1 /* I2C bus on a BT848 */
/* 2 is used in 2.3.x */
#define I2C_BUSID_BUZ 3 /* I2C bus on a BUZ */
+#define I2C_BUSID_ZORAN 4 /* I2C bus on a Zoran */
/*
* struct for a driver for a i2c chip (tuner, soundprocessor,
diff --git a/pfinet/linux-src/include/linux/isdn.h b/pfinet/linux-src/include/linux/isdn.h
index 853f236f..acb653d6 100644
--- a/pfinet/linux-src/include/linux/isdn.h
+++ b/pfinet/linux-src/include/linux/isdn.h
@@ -1,8 +1,8 @@
-/* $Id: isdn.h,v 1.70 1999/07/31 12:59:58 armin Exp $
+/* $Id: isdn.h,v 1.76 1999/09/14 10:16:21 keil Exp $
*
* Main header for the Linux ISDN subsystem (linklevel).
*
- * Copyright 1994,95,96 by Fritz Elfert (fritz@wuemaus.franken.de)
+ * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
* Copyright 1995,96 by Thinking Objects Software GmbH Wuerzburg
* Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
*
@@ -21,6 +21,29 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: isdn.h,v $
+ * Revision 1.76 1999/09/14 10:16:21 keil
+ * change ABC include
+ *
+ * Revision 1.75 1999/09/13 23:25:17 he
+ * serialized xmitting frames from isdn_ppp and BSENT statcallb
+ *
+ * Revision 1.74 1999/09/12 16:19:39 detabc
+ * added abc features
+ * low cost routing for net-interfaces (only the HL side).
+ * need more implementation in the isdnlog-utility
+ * udp info support (first part).
+ * different EAZ on outgoing call's.
+ * more checks on D-Channel callbacks (double use of channels).
+ * tested and running with kernel 2.3.17
+ *
+ * Revision 1.73 1999/09/06 07:29:36 fritz
+ * Changed my mail-address.
+ *
+ * Revision 1.72 1999/09/04 22:20:19 detabc
+ *
+ * Revision 1.71 1999/08/23 15:54:22 keil
+ * more backported changes from kernel 2.3.14
+ *
* Revision 1.70 1999/07/31 12:59:58 armin
* Added tty fax capabilities.
*
@@ -247,7 +270,6 @@
#ifndef isdn_h
#define isdn_h
-#include <linux/isdn_compat.h>
#include <linux/config.h>
#include <linux/ioctl.h>
@@ -276,6 +298,14 @@
#define ISDN_MINOR_PPPMAX (128 + (ISDN_MAX_CHANNELS-1))
#define ISDN_MINOR_STATUS 255
+#undef CONFIG_ISDN_WITH_ABC_CALLB
+#undef CONFIG_ISDN_WITH_ABC_UDP_CHECK
+#undef CONFIG_ISDN_WITH_ABC_UDP_CHECK_HANGUP
+#undef CONFIG_ISDN_WITH_ABC_OUTGOING_EAZ
+#undef CONFIG_ISDN_WITH_ABC_CALL_CHECK_SYNCRO
+#undef CONFIG_ISDN_WITH_ABC_LCR_SUPPORT
+
+
/* New ioctl-codes */
#define IIOCNETAIF _IO('I',1)
#define IIOCNETDIF _IO('I',2)
@@ -299,6 +329,7 @@
#define IIOCNETDIL _IO('I',20)
#define IIOCGETCPS _IO('I',21)
#define IIOCGETDVR _IO('I',22)
+#define IIOCNETLCR _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
#define IIOCNETALN _IO('I',32)
#define IIOCNETDLN _IO('I',33)
@@ -393,9 +424,6 @@ typedef struct {
#ifdef __KERNEL__
-#ifndef STANDALONE
-#include <linux/config.h>
-#endif
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/major.h>
@@ -438,7 +466,6 @@ typedef struct {
#include <linux/isdnif.h>
-
#define ISDN_DRVIOCTL_MASK 0x7f /* Mask for Device-ioctl */
/* Until now unused */
@@ -504,12 +531,6 @@ typedef struct {
#define ISDN_NET_CALLBACK 0x04 /* activate callback */
#define ISDN_NET_CBHUP 0x08 /* hangup before callback */
#define ISDN_NET_CBOUT 0x10 /* remote machine does callback */
-#if 0
-/* Unused??? */
-#define ISDN_NET_CLONE 0x08 /* clone a tmp interface when called */
-#define ISDN_NET_TMP 0x10 /* tmp interface until getting an IP */
-#define ISDN_NET_DYNAMIC 0x20 /* this link is dynamically allocated */
-#endif
#define ISDN_NET_MAGIC 0x49344C02 /* for paranoia-checking */
@@ -580,18 +601,18 @@ typedef struct isdn_net_local_s {
ulong sqfull_stamp; /* Start-Time of overload */
ulong slavedelay; /* Dynamic bundling delaytime */
int triggercps; /* BogoCPS needed for trigger slave */
- struct device *srobin; /* Ptr to Master device for slaves */
+ struct device *srobin; /* Ptr to Master device for slaves */
isdn_net_phone *phone[2]; /* List of remote-phonenumbers */
/* phone[0] = Incoming Numbers */
/* phone[1] = Outgoing Numbers */
isdn_net_phone *dial; /* Pointer to dialed number */
- struct device *master; /* Ptr to Master device for slaves */
- struct device *slave; /* Ptr to Slave device for masters */
+ struct device *master; /* Ptr to Master device for slaves */
+ struct device *slave; /* Ptr to Slave device for masters */
struct isdn_net_local_s *next; /* Ptr to next link in bundle */
struct isdn_net_local_s *last; /* Ptr to last link in bundle */
struct isdn_net_dev_s *netdev; /* Ptr to netdev */
struct sk_buff *first_skb; /* Ptr to skb that triggers dialing */
- struct sk_buff *sav_skb; /* Ptr to skb, rejected by LL-driver*/
+ struct sk_buff *volatile sav_skb; /* Ptr to skb, rejected by LL-driver*/
/* Ptr to orig. hard_header_cache */
int (*org_hhc)(
struct neighbour *neigh,
@@ -619,7 +640,7 @@ typedef struct isdn_net_dev_s {
isdn_net_local *local;
isdn_net_local *queue;
void *next; /* Pointer to next isdn-interface */
- struct device dev; /* interface to upper levels */
+ struct device dev; /* interface to upper levels */
#ifdef CONFIG_ISDN_PPP
struct mpqueue *mp_last;
struct ippp_bundle ib;
@@ -743,12 +764,8 @@ typedef struct modem_info {
atemu emu; /* AT-emulator data */
struct termios normal_termios; /* For saving termios structs */
struct termios callout_termios;
-#ifdef COMPAT_HAS_NEW_WAITQ
- wait_queue_head_t open_wait, close_wait;
-#else
struct wait_queue *open_wait;
struct wait_queue *close_wait;
-#endif
struct semaphore write_sem;
} modem_info;
@@ -826,11 +843,7 @@ typedef struct {
ulong flags; /* Misc driver Flags */
int locks; /* Number of locks for this driver */
int channels; /* Number of channels */
-#ifdef COMPAT_HAS_NEW_WAITQ
- wait_queue_head_t st_waitq; /* Wait-Queue for status-read's */
-#else
struct wait_queue *st_waitq; /* Wait-Queue for status-read's */
-#endif
int maxbufsize; /* Maximum Buffersize supported */
unsigned long pktcount; /* Until now: unused */
int stavail; /* Chars avail on Status-device */
@@ -841,13 +854,8 @@ typedef struct {
unsigned long DLEflag; /* Flags: Insert DLE at next read */
#endif
struct sk_buff_head *rpqueue; /* Pointers to start of Rcv-Queue */
-#ifdef COMPAT_HAS_NEW_WAITQ
- wait_queue_head_t *rcv_waitq; /* Wait-Queues for B-Channel-Reads */
- wait_queue_head_t *snd_waitq; /* Wait-Queue for B-Channel-Send's */
-#else
struct wait_queue **rcv_waitq; /* Wait-Queues for B-Channel-Reads */
struct wait_queue **snd_waitq; /* Wait-Queue for B-Channel-Send's */
-#endif
char msn2eaz[10][ISDN_MSNLEN]; /* Mapping-Table MSN->EAZ */
} driver;
@@ -863,11 +871,7 @@ typedef struct isdn_devt {
/* see ISDN_TIMER_..defines */
int global_flags;
infostruct *infochain; /* List of open info-devs. */
-#ifdef COMPAT_HAS_NEW_WAITQ
- wait_queue_head_t info_waitq; /* Wait-Queue for isdninfo */
-#else
struct wait_queue *info_waitq; /* Wait-Queue for isdninfo */
-#endif
struct timer_list timer; /* Misc.-function Timer */
int chanmap[ISDN_MAX_CHANNELS];/* Map minor->device-channel */
int drvmap[ISDN_MAX_CHANNELS]; /* Map minor->driver-index */
diff --git a/pfinet/linux-src/include/linux/isdn_ppp.h b/pfinet/linux-src/include/linux/isdn_ppp.h
index a62101d0..06d71797 100644
--- a/pfinet/linux-src/include/linux/isdn_ppp.h
+++ b/pfinet/linux-src/include/linux/isdn_ppp.h
@@ -3,7 +3,7 @@
#ifndef _LINUX_ISDN_PPP_H
#define _LINUX_ISDN_PPP_H
-#include <linux/isdn_compat.h>
+#include <linux/config.h>
#define CALLTYPE_INCOMING 0x1
#define CALLTYPE_OUTGOING 0x2
@@ -206,11 +206,7 @@ struct ippp_struct {
struct ippp_buf_queue rq[NUM_RCV_BUFFS]; /* packet queue for isdn_ppp_read() */
struct ippp_buf_queue *first; /* pointer to (current) first packet */
struct ippp_buf_queue *last; /* pointer to (current) last used packet in queue */
-#ifdef COMPAT_HAS_NEW_WAITQ
- wait_queue_head_t wq;
-#else
struct wait_queue *wq;
-#endif
struct task_struct *tk;
unsigned int mpppcfg;
unsigned int pppcfg;
diff --git a/pfinet/linux-src/include/linux/isdnif.h b/pfinet/linux-src/include/linux/isdnif.h
index aeb177ab..6d639860 100644
--- a/pfinet/linux-src/include/linux/isdnif.h
+++ b/pfinet/linux-src/include/linux/isdnif.h
@@ -1,10 +1,10 @@
-/* $Id: isdnif.h,v 1.29 1999/07/31 13:00:02 armin Exp $
+/* $Id: isdnif.h,v 1.31 1999/09/06 07:29:36 fritz Exp $
*
* Linux ISDN subsystem
*
* Definition of the interface between the subsystem and its low-level drivers.
*
- * Copyright 1994,95,96 by Fritz Elfert (fritz@wuemaus.franken.de)
+ * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
* Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
*
* This program is free software; you can redistribute it and/or modify
@@ -22,6 +22,12 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log: isdnif.h,v $
+ * Revision 1.31 1999/09/06 07:29:36 fritz
+ * Changed my mail-address.
+ *
+ * Revision 1.30 1999/08/23 15:54:29 keil
+ * more backported changes from kernel 2.3.14
+ *
* Revision 1.29 1999/07/31 13:00:02 armin
* Added tty fax capabilities.
*
@@ -134,7 +140,7 @@
#ifndef isdnif_h
#define isdnif_h
-#include <linux/isdn_compat.h>
+#include <linux/config.h>
/*
* Values for general protocol-selection
diff --git a/pfinet/linux-src/include/linux/kernelcapi.h b/pfinet/linux-src/include/linux/kernelcapi.h
index 7b212be0..5778d2eb 100644
--- a/pfinet/linux-src/include/linux/kernelcapi.h
+++ b/pfinet/linux-src/include/linux/kernelcapi.h
@@ -1,11 +1,15 @@
/*
- * $Id: kernelcapi.h,v 1.3 1999/07/01 15:26:56 calle Exp $
+ * $Id: kernelcapi.h,v 1.4 1999/09/10 17:24:19 calle Exp $
*
* Kernel CAPI 2.0 Interface for Linux
*
* (c) Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
*
* $Log: kernelcapi.h,v $
+ * Revision 1.4 1999/09/10 17:24:19 calle
+ * Changes for proposed standard for CAPI2.0:
+ * - AK148 "Linux Exention"
+ *
* Revision 1.3 1999/07/01 15:26:56 calle
* complete new version (I love it):
* + new hardware independed "capi_driver" interface that will make it easy to:
@@ -70,19 +74,19 @@ typedef struct kcapi_flagdef {
#ifdef __KERNEL__
struct capi_interface {
- int (*capi_installed) (void);
+ __u16 (*capi_isinstalled) (void);
- __u16(*capi_register) (capi_register_params * rparam, __u16 * applidp);
- __u16(*capi_release) (__u16 applid);
- __u16(*capi_put_message) (__u16 applid, struct sk_buff * msg);
- __u16(*capi_get_message) (__u16 applid, struct sk_buff ** msgp);
- __u16(*capi_set_signal) (__u16 applid,
+ __u16 (*capi_register) (capi_register_params * rparam, __u16 * applidp);
+ __u16 (*capi_release) (__u16 applid);
+ __u16 (*capi_put_message) (__u16 applid, struct sk_buff * msg);
+ __u16 (*capi_get_message) (__u16 applid, struct sk_buff ** msgp);
+ __u16 (*capi_set_signal) (__u16 applid,
void (*signal) (__u16 applid, __u32 param),
__u32 param);
- __u16(*capi_get_manufacturer) (__u16 contr, __u8 buf[CAPI_MANUFACTURER_LEN]);
- __u16(*capi_get_version) (__u16 contr, struct capi_version * verp);
- __u16(*capi_get_serial) (__u16 contr, __u8 serial[CAPI_SERIAL_LEN]);
- __u16(*capi_get_profile) (__u16 contr, struct capi_profile * profp);
+ __u16 (*capi_get_manufacturer) (__u32 contr, __u8 buf[CAPI_MANUFACTURER_LEN]);
+ __u16 (*capi_get_version) (__u32 contr, struct capi_version * verp);
+ __u16(*capi_get_serial) (__u32 contr, __u8 serial[CAPI_SERIAL_LEN]);
+ __u16(*capi_get_profile) (__u32 contr, struct capi_profile * profp);
/*
* to init controllers, data is always in user memory
@@ -96,7 +100,7 @@ struct capi_interface {
struct capi_interface_user {
char name[20];
- void (*callback) (unsigned int cmd, __u16 contr, void *data);
+ void (*callback) (unsigned int cmd, __u32 contr, void *data);
/* internal */
struct capi_interface_user *next;
};
diff --git a/pfinet/linux-src/include/linux/pagemap.h b/pfinet/linux-src/include/linux/pagemap.h
index 3e1e89b4..1f5a62dd 100644
--- a/pfinet/linux-src/include/linux/pagemap.h
+++ b/pfinet/linux-src/include/linux/pagemap.h
@@ -148,6 +148,7 @@ static inline void wait_on_page(struct page * page)
__wait_on_page(page);
}
+extern void update_vm_cache_conditional(struct inode *, unsigned long, const char *, int, unsigned long);
extern void update_vm_cache(struct inode *, unsigned long, const char *, int);
#endif
diff --git a/pfinet/linux-src/include/linux/pci.h b/pfinet/linux-src/include/linux/pci.h
index 505bb16f..8f5eda0c 100644
--- a/pfinet/linux-src/include/linux/pci.h
+++ b/pfinet/linux-src/include/linux/pci.h
@@ -283,6 +283,7 @@
* <linux-pcisupport@cck.uni-kl.de>.
*/
#define PCI_VENDOR_ID_COMPAQ 0x0e11
+#define PCI_DEVICE_ID_COMPAQ_TOKENRING 0x0508
#define PCI_DEVICE_ID_COMPAQ_1280 0x3033
#define PCI_DEVICE_ID_COMPAQ_TRIFLEX 0x4000
#define PCI_DEVICE_ID_COMPAQ_SMART2P 0xae10
@@ -301,6 +302,7 @@
#define PCI_DEVICE_ID_NCR_53C825 0x0003
#define PCI_DEVICE_ID_NCR_53C815 0x0004
#define PCI_DEVICE_ID_NCR_53C860 0x0006
+#define PCI_DEVICE_ID_NCR_53C1510D 0x000a
#define PCI_DEVICE_ID_NCR_53C896 0x000b
#define PCI_DEVICE_ID_NCR_53C895 0x000c
#define PCI_DEVICE_ID_NCR_53C885 0x000d
@@ -755,6 +757,7 @@
#define PCI_DEVICE_ID_VIA_82C585 0x0585
#define PCI_DEVICE_ID_VIA_82C586_0 0x0586
#define PCI_DEVICE_ID_VIA_82C595 0x0595
+#define PCI_DEVICE_ID_VIA_82C596_0 0x0596
#define PCI_DEVICE_ID_VIA_82C597_0 0x0597
#define PCI_DEVICE_ID_VIA_82C598_0 0x0598
#define PCI_DEVICE_ID_VIA_82C926 0x0926
@@ -762,6 +765,7 @@
#define PCI_DEVICE_ID_VIA_82C595_97 0x1595
#define PCI_DEVICE_ID_VIA_82C586_2 0x3038
#define PCI_DEVICE_ID_VIA_82C586_3 0x3040
+#define PCI_DEVICE_ID_VIA_82C686_5 0x3058
#define PCI_DEVICE_ID_VIA_86C100A 0x6100
#define PCI_DEVICE_ID_VIA_82C597_1 0x8597
#define PCI_DEVICE_ID_VIA_82C598_1 0x8598
diff --git a/pfinet/linux-src/include/linux/poll.h b/pfinet/linux-src/include/linux/poll.h
index 972c0cb0..7eb57334 100644
--- a/pfinet/linux-src/include/linux/poll.h
+++ b/pfinet/linux-src/include/linux/poll.h
@@ -59,6 +59,9 @@ typedef struct {
unsigned long *res_in, *res_out, *res_ex;
} fd_set_bits;
+/*
+ * How many longwords for "nr" bits?
+ */
#define FDS_BITPERLONG (8*sizeof(long))
#define FDS_LONGS(nr) (((nr)+FDS_BITPERLONG-1)/FDS_BITPERLONG)
#define FDS_BYTES(nr) (FDS_LONGS(nr)*sizeof(long))
@@ -87,17 +90,14 @@ int get_fd_set(unsigned long nr, void *ufdset, unsigned long *fdset)
static inline
void set_fd_set(unsigned long nr, void *ufdset, unsigned long *fdset)
{
- if (ufdset) {
- nr = FDS_BYTES(nr);
- __copy_to_user(ufdset, fdset, nr);
- }
+ if (ufdset)
+ __copy_to_user(ufdset, fdset, FDS_BYTES(nr));
}
static inline
void zero_fd_set(unsigned long nr, unsigned long *fdset)
{
- nr = FDS_BYTES(nr);
- memset(fdset, 0, nr);
+ memset(fdset, 0, FDS_BYTES(nr));
}
extern int do_select(int n, fd_set_bits *fds, long *timeout);
diff --git a/pfinet/linux-src/include/linux/posix_types.h b/pfinet/linux-src/include/linux/posix_types.h
index 338160e4..3ee2ed9d 100644
--- a/pfinet/linux-src/include/linux/posix_types.h
+++ b/pfinet/linux-src/include/linux/posix_types.h
@@ -1,15 +1,7 @@
#ifndef _LINUX_POSIX_TYPES_H
#define _LINUX_POSIX_TYPES_H
-/*
- * This file is generally used by user-level software, so you need to
- * be a little careful about namespace pollution etc. Also, we cannot
- * assume GCC is being used.
- */
-
-#ifndef NULL
-# define NULL ((void *) 0)
-#endif
+#include <linux/stddef.h>
/*
* This allows for 1024 file descriptors: if NR_OPEN is ever grown
diff --git a/pfinet/linux-src/include/linux/proc_fs.h b/pfinet/linux-src/include/linux/proc_fs.h
index 9d0d94e2..e1b0a893 100644
--- a/pfinet/linux-src/include/linux/proc_fs.h
+++ b/pfinet/linux-src/include/linux/proc_fs.h
@@ -194,6 +194,7 @@ enum scsi_directory_inos {
PROC_SCSI_AMIGA7XX,
PROC_SCSI_MVME16x,
PROC_SCSI_BVME6000,
+ PROC_SCSI_SIM710,
PROC_SCSI_A3000,
PROC_SCSI_A2091,
PROC_SCSI_GVP11,
diff --git a/pfinet/linux-src/include/linux/quotaops.h b/pfinet/linux-src/include/linux/quotaops.h
index 8de13430..bb76e715 100644
--- a/pfinet/linux-src/include/linux/quotaops.h
+++ b/pfinet/linux-src/include/linux/quotaops.h
@@ -99,8 +99,7 @@ extern __inline__ int DQUOT_TRANSFER(struct dentry *dentry, struct iattr *iattr)
int error = -EDQUOT;
if (dentry->d_inode->i_sb->dq_op) {
- if (IS_QUOTAINIT(dentry->d_inode) == 0)
- dentry->d_inode->i_sb->dq_op->initialize(dentry->d_inode, -1);
+ dentry->d_inode->i_sb->dq_op->initialize(dentry->d_inode, -1);
error = dentry->d_inode->i_sb->dq_op->transfer(dentry, iattr, current->fsuid);
} else {
error = notify_change(dentry, iattr);
diff --git a/pfinet/linux-src/include/linux/sched.h b/pfinet/linux-src/include/linux/sched.h
index 5ef85c63..4a5ffd58 100644
--- a/pfinet/linux-src/include/linux/sched.h
+++ b/pfinet/linux-src/include/linux/sched.h
@@ -97,10 +97,6 @@ struct sched_param {
int sched_priority;
};
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
-
#ifdef __KERNEL__
#include <asm/spinlock.h>
@@ -328,6 +324,10 @@ struct task_struct {
struct signal_queue *sigqueue, **sigqueue_tail;
unsigned long sas_ss_sp;
size_t sas_ss_size;
+
+/* Thread group tracking */
+ u32 parent_exec_id;
+ u32 self_exec_id;
};
/*
@@ -394,6 +394,7 @@ struct task_struct {
/* files */ &init_files, \
/* mm */ &init_mm, \
/* signals */ SPIN_LOCK_UNLOCKED, &init_signals, {{0}}, {{0}}, NULL, &init_task.sigqueue, 0, 0, \
+/* exec cts */ 0,0, \
}
union task_union {
diff --git a/pfinet/linux-src/include/linux/sem.h b/pfinet/linux-src/include/linux/sem.h
index 3fb2a48f..13c9a8ac 100644
--- a/pfinet/linux-src/include/linux/sem.h
+++ b/pfinet/linux-src/include/linux/sem.h
@@ -61,7 +61,7 @@ struct seminfo {
};
#define SEMMNI 128 /* ? max # of semaphore identifiers */
-#define SEMMSL 32 /* <= 512 max num of semaphores per id */
+#define SEMMSL 250 /* <= 512 max num of semaphores per id */
#define SEMMNS (SEMMNI*SEMMSL) /* ? max # of semaphores in system */
#define SEMOPM 32 /* ~ 100 max num of ops per semop call */
#define SEMVMX 32767 /* semaphore maximum value */
diff --git a/pfinet/linux-src/include/linux/stddef.h b/pfinet/linux-src/include/linux/stddef.h
index 39da8088..dfa23221 100644
--- a/pfinet/linux-src/include/linux/stddef.h
+++ b/pfinet/linux-src/include/linux/stddef.h
@@ -2,7 +2,11 @@
#define _LINUX_STDDEF_H
#undef NULL
+#if defined(__cplusplus)
+#define NULL 0
+#else
#define NULL ((void *)0)
+#endif
#undef offsetof
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
diff --git a/pfinet/linux-src/include/linux/string.h b/pfinet/linux-src/include/linux/string.h
index 1b3fa4e5..9ea63cd0 100644
--- a/pfinet/linux-src/include/linux/string.h
+++ b/pfinet/linux-src/include/linux/string.h
@@ -2,10 +2,7 @@
#define _LINUX_STRING_H_
#include <linux/types.h> /* for size_t */
-
-#ifndef NULL
-#define NULL ((void *) 0)
-#endif
+#include <linux/stddef.h> /* for NULL */
#ifdef __cplusplus
extern "C" {
diff --git a/pfinet/linux-src/include/linux/synclink.h b/pfinet/linux-src/include/linux/synclink.h
index 70ce90e1..450341b7 100644
--- a/pfinet/linux-src/include/linux/synclink.h
+++ b/pfinet/linux-src/include/linux/synclink.h
@@ -1,7 +1,7 @@
/*
* SyncLink Multiprotocol Serial Adapter Driver
*
- * ==FILEDATE 19990523==
+ * ==FILEDATE 19990810==
*
* Copyright (C) 1998 by Microgate Corporation
*
@@ -50,8 +50,9 @@
#define BIT31 0x80000000
-#define HDLC_MAX_FRAME_SIZE 4096
+#define HDLC_MAX_FRAME_SIZE 65535
#define MAX_ASYNC_TRANSMIT 4096
+#define MAX_ASYNC_BUFFER_SIZE 4096
#define ASYNC_PARITY_NONE 0
#define ASYNC_PARITY_EVEN 1
@@ -68,12 +69,12 @@
#define HDLC_FLAG_AUTO_RTS 0x0080
#define HDLC_FLAG_RXC_DPLL 0x0100
#define HDLC_FLAG_RXC_BRG 0x0200
-#define HDLC_FLAG_RXC_TXCPIN 0x8000
-#define HDLC_FLAG_RXC_RXCPIN 0x0000
+#define HDLC_FLAG_RXC_TXCPIN 0x8000
+#define HDLC_FLAG_RXC_RXCPIN 0x0000
#define HDLC_FLAG_TXC_DPLL 0x0400
#define HDLC_FLAG_TXC_BRG 0x0800
-#define HDLC_FLAG_TXC_TXCPIN 0x0000
-#define HDLC_FLAG_TXC_RXCPIN 0x0008
+#define HDLC_FLAG_TXC_TXCPIN 0x0000
+#define HDLC_FLAG_TXC_RXCPIN 0x0008
#define HDLC_FLAG_DPLL_DIV8 0x1000
#define HDLC_FLAG_DPLL_DIV16 0x2000
#define HDLC_FLAG_DPLL_DIV32 0x0000
@@ -81,6 +82,7 @@
#define HDLC_CRC_NONE 0
#define HDLC_CRC_16_CCITT 1
+#define HDLC_CRC_32_CCITT 2
#define HDLC_TXIDLE_FLAGS 0
#define HDLC_TXIDLE_ALT_ZEROS_ONES 1
@@ -132,7 +134,7 @@ typedef struct _MGSL_PARAMS
unsigned char encoding; /* NRZ, NRZI, etc. */
unsigned long clock_speed; /* external clock speed in bits per second */
unsigned char addr_filter; /* receive HDLC address filter, 0xFF = disable */
- unsigned short crc_type; /* None, CRC16 or CRC16-CCITT */
+ unsigned short crc_type; /* None, CRC16-CCITT, or CRC32-CCITT */
unsigned char preamble_length;
unsigned char preamble;
diff --git a/pfinet/linux-src/include/linux/sysctl.h b/pfinet/linux-src/include/linux/sysctl.h
index aba1498a..753df742 100644
--- a/pfinet/linux-src/include/linux/sysctl.h
+++ b/pfinet/linux-src/include/linux/sysctl.h
@@ -103,7 +103,8 @@ enum
KERN_MSGMAX=35, /* int: Maximum size of a messege */
KERN_MSGMNB=36, /* int: Maximum message queue size */
KERN_MSGPOOL=37, /* int: Maximum system message pool size */
- KERN_SYSRQ=38 /* int: Sysreq enable */
+ KERN_SYSRQ=38, /* int: Sysreq enable */
+ KERN_SHMALL=41 /* int: maximum size of shared memory */
};
@@ -224,7 +225,8 @@ enum
NET_IPV4_ICMP_PARAMPROB_RATE=62,
NET_IPV4_ICMP_ECHOREPLY_RATE=63,
NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
- NET_IPV4_IGMP_MAX_MEMBERSHIPS=65
+ NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
+ NET_IPV4_ALWAYS_DEFRAG=67
};
enum {
diff --git a/pfinet/linux-src/include/linux/tty.h b/pfinet/linux-src/include/linux/tty.h
index 55aabe43..d215a270 100644
--- a/pfinet/linux-src/include/linux/tty.h
+++ b/pfinet/linux-src/include/linux/tty.h
@@ -303,6 +303,7 @@ struct tty_struct {
unsigned long canon_head;
unsigned int canon_column;
struct semaphore atomic_read;
+ struct semaphore atomic_write;
};
/* tty magic number */
@@ -328,6 +329,7 @@ struct tty_struct {
#define TTY_HW_COOK_OUT 14
#define TTY_HW_COOK_IN 15
#define TTY_PTY_LOCK 16
+#define TTY_NO_WRITE_SPLIT 17
#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty))
diff --git a/pfinet/linux-src/include/linux/videodev.h b/pfinet/linux-src/include/linux/videodev.h
index 119b60ee..b3427409 100644
--- a/pfinet/linux-src/include/linux/videodev.h
+++ b/pfinet/linux-src/include/linux/videodev.h
@@ -278,6 +278,7 @@ struct video_unit
#define VID_HARDWARE_TYPHOON 19
#define VID_HARDWARE_VINO 20 /* Reserved for SGI Indy Vino */
#define VID_HARDWARE_CADET 21 /* Cadet radio */
+#define VID_HARDWARE_TRUST 22 /* Trust FM Radio */
/*
* Initialiser list
diff --git a/pfinet/linux-src/include/net/ip.h b/pfinet/linux-src/include/net/ip.h
index 5e80fb43..1a6cb610 100644
--- a/pfinet/linux-src/include/net/ip.h
+++ b/pfinet/linux-src/include/net/ip.h
@@ -203,6 +203,22 @@ extern __inline__ void ip_eth_mc_map(u32 addr, char *buf)
buf[3]=addr&0x7F;
}
+/*
+ * Map a multicast IP onto multicast MAC for type Token Ring.
+ * This conforms to RFC1469 Option 2 Multicasting i.e.
+ * using a functional address to transmit / receive
+ * multicast packets.
+ */
+
+extern __inline__ void ip_tr_mc_map(u32 addr, char *buf)
+{
+ buf[0]=0xC0;
+ buf[1]=0x00;
+ buf[2]=0x00;
+ buf[3]=0x04;
+ buf[4]=0x00;
+ buf[5]=0x00;
+}
extern int ip_call_ra_chain(struct sk_buff *skb);