diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-08-28 22:00:09 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-08-28 22:00:09 +0000 |
commit | 1a1d77dd589de5a567fa95e36aa6999c704ceca4 (patch) | |
tree | 141e31f89f18b9fe0831f31852e0435ceaccafc5 /include/linux | |
parent | fb9c690a18b3d66925a65b17441c37fa14d4370b (diff) |
Merge with 2.4.0-test7.
Diffstat (limited to 'include/linux')
38 files changed, 418 insertions, 231 deletions
diff --git a/include/linux/agp_backend.h b/include/linux/agp_backend.h index a35094450..166fa085b 100644 --- a/include/linux/agp_backend.h +++ b/include/linux/agp_backend.h @@ -50,8 +50,9 @@ enum chipset_type { VIA_VP3, VIA_MVP3, VIA_MVP4, - VIA_APOLLO_SUPER, VIA_APOLLO_PRO, + VIA_APOLLO_KX133, + VIA_APOLLO_KT133, SIS_GENERIC, AMD_GENERIC, AMD_IRONGATE, diff --git a/include/linux/capi.h b/include/linux/capi.h index b5cd26c52..0c347e003 100644 --- a/include/linux/capi.h +++ b/include/linux/capi.h @@ -1,38 +1,10 @@ /* - * $Id: capi.h,v 1.3 2000/03/08 17:06:34 calle Exp $ + * $Id: capi.h,v 1.4 2000/06/12 09:20:20 kai Exp $ * * CAPI 2.0 Interface for Linux * * Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de) * - * $Log: capi.h,v $ - * Revision 1.3 2000/03/08 17:06:34 calle - * - changes for devfs and 2.3.49 - * - capifs now configurable (no need with devfs) - * - New Middleware ioctl CAPI_NCCI_GETUNIT - * - Middleware again tested with 2.2.14 and 2.3.49 (with and without devfs) - * - * Revision 1.2 2000/03/03 15:50:42 calle - * - kernel CAPI: - * - Changed parameter "param" in capi_signal from __u32 to void *. - * - rewrote notifier handling in kcapi.c - * - new notifier NCCI_UP and NCCI_DOWN - * - User CAPI: - * - /dev/capi20 is now a cloning device. - * - middleware extentions prepared. - * - capidrv.c - * - locking of list operations and module count updates. - * - * Revision 1.1 1997/03/04 21:27:33 calle - * First version in isdn4linux - * - * Revision 2.2 1997/02/12 09:31:39 calle - * new version - * - * Revision 1.1 1997/01/31 10:32:20 calle - * Initial revision - * - * */ #ifndef __LINUX_CAPI_H__ diff --git a/include/linux/dirent.h b/include/linux/dirent.h index a18f7e463..bef1120cb 100644 --- a/include/linux/dirent.h +++ b/include/linux/dirent.h @@ -8,4 +8,12 @@ struct dirent { char d_name[256]; /* We must not include limits.h! */ }; +struct dirent64 { + __u64 d_ino; + __s64 d_off; + unsigned short d_reclen; + unsigned char d_type; + char d_name[256]; +}; + #endif diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index f008ca74f..97c505282 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h @@ -40,15 +40,10 @@ extern int eth_header_parse(struct sk_buff *skb, unsigned char *haddr); extern struct net_device * init_etherdev(struct net_device *, int); -#if 1 /*def CONFIG_IP_ROUTER*/ static __inline__ void eth_copy_and_sum (struct sk_buff *dest, unsigned char *src, int len, int base) { - memcpy (dest->data, src, len); + memcpy (dest->data, src, len); } -#else -extern void eth_copy_and_sum(struct sk_buff *dest, - unsigned char *src, int length, int base); -#endif #endif diff --git a/include/linux/file.h b/include/linux/file.h index a206b616b..02edb29c3 100644 --- a/include/linux/file.h +++ b/include/linux/file.h @@ -7,6 +7,27 @@ extern void FASTCALL(fput(struct file *)); extern struct file * FASTCALL(fget(unsigned int fd)); + +static inline int get_close_on_exec(unsigned int fd) +{ + struct files_struct *files = current->files; + int res; + read_lock(&files->file_lock); + res = FD_ISSET(fd, files->close_on_exec); + read_unlock(&files->file_lock); + return res; +} + +static inline void set_close_on_exec(unsigned int fd, int flag) +{ + struct files_struct *files = current->files; + write_lock(&files->file_lock); + if (flag) + FD_SET(fd, files->close_on_exec); + else + FD_CLR(fd, files->close_on_exec); + write_unlock(&files->file_lock); +} static inline struct file * fcheck_files(struct files_struct *files, unsigned int fd) { @@ -30,15 +51,6 @@ static inline struct file * fcheck(unsigned int fd) return file; } -static inline struct file * frip(struct files_struct *files, unsigned int fd) -{ - struct file * file = NULL; - - if (fd < files->max_fds) - file = xchg(&files->fd[fd], NULL); - return file; -} - extern void put_filp(struct file *); extern int get_unused_fd(void); @@ -67,18 +79,20 @@ static inline void put_unused_fd(unsigned int fd) * array. At any such point, we are vulnerable to a dup2() race * installing a file in the array before us. We need to detect this and * fput() the struct file we are about to overwrite in this case. + * + * It should never happen - if we allow dup2() do it, _really_ bad things + * will follow. */ static inline void fd_install(unsigned int fd, struct file * file) { struct files_struct *files = current->files; - struct file * result; write_lock(&files->file_lock); - result = xchg(&files->fd[fd], file); + if (files->fd[fd]) + BUG(); + files->fd[fd] = file; write_unlock(&files->file_lock); - if (result) - fput(result); } void put_files_struct(struct files_struct *fs); diff --git a/include/linux/fs.h b/include/linux/fs.h index 570aecf20..3ce2c58bd 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -71,8 +71,6 @@ extern int max_super_blocks, nr_super_blocks; #define READA 2 /* read-ahead - don't block if no resources */ #define SPECIAL 4 /* For non-blockdevice requests in request queue */ -#define WRITERAW 5 /* raw write - don't play with buffer lists */ - #define SEL_IN 1 #define SEL_OUT 2 #define SEL_EX 4 @@ -535,6 +533,7 @@ struct file_lock { #ifndef OFFSET_MAX #define INT_LIMIT(x) (~((x)1 << (sizeof(x)*8 - 1))) #define OFFSET_MAX INT_LIMIT(loff_t) +#define OFFT_OFFSET_MAX INT_LIMIT(off_t) #endif extern struct list_head file_lock_list; @@ -544,6 +543,9 @@ extern struct list_head file_lock_list; extern int fcntl_getlk(unsigned int, struct flock *); extern int fcntl_setlk(unsigned int, unsigned int, struct flock *); +extern int fcntl_getlk64(unsigned int, struct flock64 *); +extern int fcntl_setlk64(unsigned int, unsigned int, struct flock64 *); + /* fs/locks.c */ extern void locks_remove_posix(struct file *, fl_owner_t); extern void locks_remove_flock(struct file *); @@ -694,12 +696,25 @@ extern int vfs_unlink(struct inode *, struct dentry *); extern int vfs_rename(struct inode *, struct dentry *, struct inode *, struct dentry *); /* + * File types + */ +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 + +/* * This is the "filldir" function type, used by readdir() to let * the kernel specify what kind of dirent layout it wants to have. * This allows the kernel to read directories into kernel space or * to have different dirent layouts depending on the binary type. */ -typedef int (*filldir_t)(void *, const char *, int, off_t, ino_t); +typedef int (*filldir_t)(void *, const char *, int, off_t, ino_t, unsigned); struct block_device_operations { int (*open) (struct inode *, struct file *); @@ -875,7 +890,6 @@ static inline int locks_verify_truncate(struct inode *inode, asmlinkage long sys_open(const char *, int, int); asmlinkage long sys_close(unsigned int); /* yes, it's really unsigned */ -extern int do_close(struct files_struct *, unsigned int, int); /* yes, it's really unsigned */ extern int do_truncate(struct dentry *, loff_t start); extern struct file *filp_open(const char *, int, int); diff --git a/include/linux/highmem.h b/include/linux/highmem.h index 3cd0250ee..a80434823 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -29,6 +29,9 @@ static __inline__ unsigned long kmap(struct page * page) { #define kunmap(page) do { } while (0) +#define kmap_atomic(page,idx) kmap(page) +#define kunmap_atomic(page,idx) kunmap(page) + #endif /* CONFIG_HIGHMEM */ /* when CONFIG_HIGHMEM is not set these will be plain clear/copy_page */ diff --git a/include/linux/if_packet.h b/include/linux/if_packet.h index 0fcf3bfb2..b01390e6f 100644 --- a/include/linux/if_packet.h +++ b/include/linux/if_packet.h @@ -38,6 +38,7 @@ struct sockaddr_ll /* Value 4 is still used by obsolete turbo-packet. */ #define PACKET_RX_RING 5 #define PACKET_STATISTICS 6 +#define PACKET_COPY_THRESH 7 struct tpacket_stats { diff --git a/include/linux/if_tun.h b/include/linux/if_tun.h new file mode 100644 index 000000000..5e0aa2420 --- /dev/null +++ b/include/linux/if_tun.h @@ -0,0 +1,92 @@ +/* + * Universal TUN/TAP device driver. + * Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * 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. + * + * $Id: if_tun.h,v 1.1 2000/08/23 05:59:28 davem Exp $ + */ + +#ifndef __IF_TUN_H +#define __IF_TUN_H + +/* Uncomment to enable debugging */ +/* #define TUN_DEBUG 1 */ + +#ifdef __KERNEL__ + +#ifdef TUN_DEBUG +#define DBG if(tun->debug)printk +#define DBG1 if(debug==2)printk +#else +#define DBG( a... ) +#define DBG1( a... ) +#endif + +struct tun_struct { + char name[8]; + unsigned long flags; + + struct fasync_struct *fasync; + wait_queue_head_t read_wait; + + struct net_device dev; + struct sk_buff_head txq; + struct net_device_stats stats; + +#ifdef TUN_DEBUG + int debug; +#endif +}; + +#ifndef MIN +#define MIN(a,b) ( (a)<(b) ? (a):(b) ) +#endif + +#endif /* __KERNEL__ */ + +/* Number of devices */ +#define TUN_MAX_DEV 255 + +/* TX queue size */ +#define TUN_TXQ_SIZE 10 + +/* Max frame size */ +#define TUN_MAX_FRAME 4096 + +/* TUN device flags */ +#define TUN_TUN_DEV 0x0001 +#define TUN_TAP_DEV 0x0002 +#define TUN_TYPE_MASK 0x000f + +#define TUN_FASYNC 0x0010 +#define TUN_NOCHECKSUM 0x0020 +#define TUN_NO_PI 0x0040 + +#define TUN_IFF_SET 0x1000 + +/* Ioctl defines */ +#define TUNSETNOCSUM (('T'<< 8) | 200) +#define TUNSETDEBUG (('T'<< 8) | 201) +#define TUNSETIFF (('T'<< 8) | 202) + +/* TUNSETIFF ifr flags */ +#define IFF_TUN 0x0001 +#define IFF_TAP 0x0002 +#define IFF_NO_PI 0x1000 + +struct tun_pi { + unsigned short flags; + unsigned short proto; +}; +#define TUN_PKT_STRIP 0x0001 + +#endif /* __IF_TUN_H */ diff --git a/include/linux/in6.h b/include/linux/in6.h index fdae6abd6..9f63f388a 100644 --- a/include/linux/in6.h +++ b/include/linux/in6.h @@ -34,21 +34,10 @@ struct in6_addr __u8 u6_addr8[16]; __u16 u6_addr16[8]; __u32 u6_addr32[4]; -#if (~0UL) > 0xffffffff -#ifndef __RELAX_IN6_ADDR_ALIGNMENT - /* Alas, protocols do not respect 64bit alignmnet. - rsvp/pim/... are broken. However, it is good - idea to force correct alignment always, when - it is possible. - */ - __u64 u6_addr64[2]; -#endif -#endif } in6_u; #define s6_addr in6_u.u6_addr8 #define s6_addr16 in6_u.u6_addr16 #define s6_addr32 in6_u.u6_addr32 -#define s6_addr64 in6_u.u6_addr64 }; struct sockaddr_in6 { diff --git a/include/linux/input.h b/include/linux/input.h index a44e6f8e1..277ee6c58 100644 --- a/include/linux/input.h +++ b/include/linux/input.h @@ -2,7 +2,7 @@ #define _INPUT_H /* - * $Id: input.h,v 1.14 2000/06/03 20:18:52 vojtech Exp $ + * $Id: input.h,v 1.18 2000/07/25 21:36:56 vojtech Exp $ * * Copyright (c) 1999-2000 Vojtech Pavlik * @@ -210,7 +210,7 @@ struct input_event { #define KEY_F22 121 #define KEY_F23 122 #define KEY_F24 123 -#define KEY_JPN 124 +#define KEY_KPCOMMA 124 #define KEY_LEFTMETA 125 #define KEY_RIGHTMETA 126 #define KEY_COMPOSE 127 @@ -266,8 +266,29 @@ struct input_event { #define KEY_EDIT 176 #define KEY_SCROLLUP 177 #define KEY_SCROLLDOWN 178 - -#define KEY_UNKNOWN 180 +#define KEY_KPLEFTPAREN 179 +#define KEY_KPRIGHTPAREN 180 + +#define KEY_INTL1 181 +#define KEY_INTL2 182 +#define KEY_INTL3 183 +#define KEY_INTL4 184 +#define KEY_INTL5 185 +#define KEY_INTL6 186 +#define KEY_INTL7 187 +#define KEY_INTL8 188 +#define KEY_INTL9 189 +#define KEY_LANG1 190 +#define KEY_LANG2 191 +#define KEY_LANG3 192 +#define KEY_LANG4 193 +#define KEY_LANG5 194 +#define KEY_LANG6 195 +#define KEY_LANG7 196 +#define KEY_LANG8 197 +#define KEY_LANG9 198 + +#define KEY_UNKNOWN 200 #define BTN_MISC 0x100 #define BTN_0 0x100 @@ -424,6 +445,8 @@ struct input_event { #define BUS_GAMEPORT 0x14 #define BUS_PARPORT 0x15 #define BUS_AMIGA 0x16 +#define BUS_ADB 0x17 +#define BUS_I2C 0x18 #ifdef __KERNEL__ diff --git a/include/linux/isdn.h b/include/linux/isdn.h index e9550db61..7cdd4ff43 100644 --- a/include/linux/isdn.h +++ b/include/linux/isdn.h @@ -1,4 +1,4 @@ -/* $Id: isdn.h,v 1.105 2000/05/18 23:14:19 keil Exp $ +/* $Id: isdn.h,v 1.106 2000/08/10 22:52:46 kai Exp $ * Main header for the Linux ISDN subsystem (linklevel). * diff --git a/include/linux/isdn_divertif.h b/include/linux/isdn_divertif.h index 2892d0218..ef532bad4 100644 --- a/include/linux/isdn_divertif.h +++ b/include/linux/isdn_divertif.h @@ -1,6 +1,5 @@ -/* - * $Id: isdn_divertif.h,v 1.3 1999/07/05 20:22:00 werner Exp $ - * +/* $Id: isdn_divertif.h,v 1.4 2000/05/11 22:29:22 kai Exp $ + * Header for the diversion supplementary interface for i4l. * * Copyright 1998 by Werner Cornelius (werner@isdn4linux.de) @@ -19,15 +18,6 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * - * $Log: isdn_divertif.h,v $ - * Revision 1.3 1999/07/05 20:22:00 werner - * changes to use diversion sources for all kernel versions. - * removed static device, only proc filesystem used - * - * Revision 1.2 1999/07/04 21:38:38 werner - * ported from kernel version 2.0 - * - * */ diff --git a/include/linux/kernelcapi.h b/include/linux/kernelcapi.h index b9efcb696..40530168e 100644 --- a/include/linux/kernelcapi.h +++ b/include/linux/kernelcapi.h @@ -1,65 +1,17 @@ /* - * $Id: kernelcapi.h,v 1.6 2000/03/03 15:50:42 calle Exp $ + * $Id: kernelcapi.h,v 1.7 2000/06/12 09:20:20 kai 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.6 2000/03/03 15:50:42 calle - * - kernel CAPI: - * - Changed parameter "param" in capi_signal from __u32 to void *. - * - rewrote notifier handling in kcapi.c - * - new notifier NCCI_UP and NCCI_DOWN - * - User CAPI: - * - /dev/capi20 is now a cloning device. - * - middleware extentions prepared. - * - capidrv.c - * - locking of list operations and module count updates. - * - * Revision 1.5 2000/01/28 16:45:40 calle - * new manufacturer command KCAPI_CMD_ADDCARD (generic addcard), - * will search named driver and call the add_card function if one exist. - * - * 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: - * - support other controllers with CAPI-2.0 (i.e. USB Controller) - * - write a CAPI-2.0 for the passive cards - * - support serial link CAPI-2.0 boxes. - * + wrote "capi_driver" for all supported cards. - * + "capi_driver" (supported cards) now have to be configured with - * make menuconfig, in the past all supported cards where included - * at once. - * + new and better informations in /proc/capi/ - * + new ioctl to switch trace of capi messages per controller - * using "avmcapictrl trace [contr] on|off|...." - * + complete testcircle with all supported cards and also the - * PCMCIA cards (now patch for pcmcia-cs-3.0.13 needed) done. - * - * Revision 1.2 1999/06/21 15:24:26 calle - * extend information in /proc. - * - * Revision 1.1 1997/03/04 21:27:33 calle - * First version in isdn4linux - * - * Revision 2.2 1997/02/12 09:31:39 calle - * new version - * - * Revision 1.1 1997/01/31 10:32:20 calle - * Initial revision - * - * */ + #ifndef __KERNELCAPI_H__ #define __KERNELCAPI_H__ -#define CAPI_MAXAPPL 128 /* maximum number of applications */ -#define CAPI_MAXCONTR 16 /* maximum number of controller */ +#define CAPI_MAXAPPL 20 /* maximum number of applications */ +#define CAPI_MAXCONTR 10 /* maximum number of controller */ #define CAPI_MAXDATAWINDOW 8 @@ -162,6 +114,46 @@ int detach_capi_interface(struct capi_interface_user *); #define CAPI_MSGCTRLERNOTSUPPORTEXTEQUIP 0x110a #define CAPI_MSGCTRLERONLYSUPPORTEXTEQUIP 0x110b +typedef enum { + CapiMessageNotSupportedInCurrentState = 0x2001, + CapiIllContrPlciNcci = 0x2002, + CapiNoPlciAvailable = 0x2003, + CapiNoNcciAvailable = 0x2004, + CapiNoListenResourcesAvailable = 0x2005, + CapiNoFaxResourcesAvailable = 0x2006, + CapiIllMessageParmCoding = 0x2007, +} RESOURCE_CODING_PROBLEM; + +typedef enum { + CapiB1ProtocolNotSupported = 0x3001, + CapiB2ProtocolNotSupported = 0x3002, + CapiB3ProtocolNotSupported = 0x3003, + CapiB1ProtocolParameterNotSupported = 0x3004, + CapiB2ProtocolParameterNotSupported = 0x3005, + CapiB3ProtocolParameterNotSupported = 0x3006, + CapiBProtocolCombinationNotSupported = 0x3007, + CapiNcpiNotSupported = 0x3008, + CapiCipValueUnknown = 0x3009, + CapiFlagsNotSupported = 0x300a, + CapiFacilityNotSupported = 0x300b, + CapiDataLengthNotSupportedByCurrentProtocol = 0x300c, + CapiResetProcedureNotSupportedByCurrentProtocol = 0x300d, + CapiTeiAssignmentFailed = 0x300e, +} REQUESTED_SERVICES_PROBLEM; + +typedef enum { + CapiSuccess = 0x0000, + CapiSupplementaryServiceNotSupported = 0x300e, + CapiRequestNotAllowedInThisState = 0x3010, +} SUPPLEMENTARY_SERVICE_INFO; + +typedef enum { + CapiProtocolErrorLayer1 = 0x3301, + CapiProtocolErrorLayer2 = 0x3302, + CapiProtocolErrorLayer3 = 0x3303, + CapiTimeOut = 0x3303, // SuppServiceReason + CapiCallGivenToOtherApplication = 0x3304, +} CAPI_REASON; #endif /* __KERNEL__ */ diff --git a/include/linux/major.h b/include/linux/major.h index 17a421ab8..7b43e59d0 100644 --- a/include/linux/major.h +++ b/include/linux/major.h @@ -134,6 +134,8 @@ #define USB_ACM_AUX_MAJOR 167 #define USB_CHAR_MAJOR 180 +#define TUN_MAJOR 195 + #define UNIX98_PTY_MASTER_MAJOR 128 #define UNIX98_PTY_MAJOR_COUNT 8 #define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT) diff --git a/include/linux/mca.h b/include/linux/mca.h index 1604c28bc..3e83a9134 100644 --- a/include/linux/mca.h +++ b/include/linux/mca.h @@ -1,46 +1,50 @@ /* - * Header for Microchannel Architecture Bus + * Header for Microchannel Architecture Bus * Written by Martin Kolinek, February 1996 -*/ + */ #ifndef _LINUX_MCA_H #define _LINUX_MCA_H /* The detection of MCA bus is done in the real mode (using BIOS). - * The information is exported to the protected code, where this + * The information is exported to the protected code, where this * variable is set to one in case MCA bus was detected. -*/ + */ #ifndef MCA_bus__is_a_macro extern int MCA_bus; #endif -/* maximal number of MCA slots - actually, some machines have less, but -they all have sufficient number of POS registers to cover 8. */ +/* Maximal number of MCA slots - actually, some machines have less, but + * they all have sufficient number of POS registers to cover 8. + */ #define MCA_MAX_SLOT_NR 8 /* MCA_NOTFOUND is an error condition. The other two indicate - motherboard POS registers contain the adapter. They might be - returned by the mca_find_adapter() function, and can be used as - arguments to mca_read_stored_pos(). I'm not going to allow direct - access to the motherboard registers until we run across an adapter - that requires it. We don't know enough about them to know if it's - safe. - - See Documentation/mca.txt or one of the existing drivers for - more information. -*/ + * motherboard POS registers contain the adapter. They might be + * returned by the mca_find_adapter() function, and can be used as + * arguments to mca_read_stored_pos(). I'm not going to allow direct + * access to the motherboard registers until we run across an adapter + * that requires it. We don't know enough about them to know if it's + * safe. + * + * See Documentation/mca.txt or one of the existing drivers for + * more information. + */ #define MCA_NOTFOUND (-1) #define MCA_INTEGSCSI (MCA_MAX_SLOT_NR) #define MCA_INTEGVIDEO (MCA_MAX_SLOT_NR+1) - -/* max number of adapters, including both slots and various integrated -things. */ -#define MCA_NUMADAPTERS (MCA_MAX_SLOT_NR+2) - -/* returns the slot of the first enabled adapter matching id. User can -specify a starting slot beyond zero, to deal with detecting multiple -devices. Returns MCA_NOTFOUND if id not found. Also checks the -integrated adapters. */ +#define MCA_MOTHERBOARD (MCA_MAX_SLOT_NR+2) + +/* Max number of adapters, including both slots and various integrated + * things. + */ +#define MCA_NUMADAPTERS (MCA_MAX_SLOT_NR+3) + +/* Returns the slot of the first enabled adapter matching id. User can + * specify a starting slot beyond zero, to deal with detecting multiple + * devices. Returns MCA_NOTFOUND if id not found. Also checks the + * integrated adapters. + */ extern int mca_find_adapter(int id, int start); extern int mca_find_unused_adapter(int id, int start); @@ -55,39 +59,37 @@ extern void mca_mark_as_unused(int slot); /* gets a byte out of POS register (stored in memory) */ extern unsigned char mca_read_stored_pos(int slot, int reg); -/* - This can be expanded later. Right now, it gives us a way of - getting meaningful information into the MCA_info structure, - so we can have a more interesting /proc/mca. -*/ +/* This can be expanded later. Right now, it gives us a way of + * getting meaningful information into the MCA_info structure, + * so we can have a more interesting /proc/mca. + */ extern void mca_set_adapter_name(int slot, char* name); extern char* mca_get_adapter_name(int slot); -/* - This sets up an information callback for /proc/mca/slot?. The - function is called with the buffer, slot, and device pointer (or - some equally informative context information, or nothing, if you - prefer), and is expected to put useful information into the - buffer. The adapter name, id, and POS registers get printed - before this is called though, so don't do it again. - - This should be called with a NULL procfn when a module - unregisters, thus preventing kernel crashes and other such - nastiness. -*/ +/* This sets up an information callback for /proc/mca/slot?. The + * function is called with the buffer, slot, and device pointer (or + * some equally informative context information, or nothing, if you + * prefer), and is expected to put useful information into the + * buffer. The adapter name, id, and POS registers get printed + * before this is called though, so don't do it again. + * + * This should be called with a NULL procfn when a module + * unregisters, thus preventing kernel crashes and other such + * nastiness. + */ typedef int (*MCA_ProcFn)(char* buf, int slot, void* dev); extern void mca_set_adapter_procfn(int slot, MCA_ProcFn, void* dev); /* These routines actually mess with the hardware POS registers. They -temporarily disable the device (and interrupts), so make sure you know -what you're doing if you use them. Furthermore, writing to a POS may -result in two devices trying to share a resource, which in turn can -result in multiple devices sharing memory spaces, IRQs, or even trashing -hardware. YOU HAVE BEEN WARNED. - -You can only access slots with this. Motherboard registers are off -limits. -*/ + * temporarily disable the device (and interrupts), so make sure you know + * what you're doing if you use them. Furthermore, writing to a POS may + * result in two devices trying to share a resource, which in turn can + * result in multiple devices sharing memory spaces, IRQs, or even trashing + * hardware. YOU HAVE BEEN WARNED. + * + * You can only access slots with this. Motherboard registers are off + * limits. + */ /* read a byte from the specified POS register. */ extern unsigned char mca_read_pos(int slot, int reg); @@ -96,7 +98,8 @@ extern unsigned char mca_read_pos(int slot, int reg); extern void mca_write_pos(int slot, int reg, unsigned char byte); /* Should only be called by the NMI interrupt handler, this will do some -fancy stuff to figure out what might have generated a NMI. */ + * fancy stuff to figure out what might have generated a NMI. + */ extern void mca_handle_nmi(void); #endif /* _LINUX_MCA_H */ diff --git a/include/linux/mm.h b/include/linux/mm.h index a248e939f..f606186cf 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -384,7 +384,6 @@ extern void si_meminfo(struct sysinfo * val); extern void swapin_readahead(swp_entry_t); /* mmap.c */ -extern void vma_init(void); extern void merge_segments(struct mm_struct *, unsigned long, unsigned long); extern void insert_vm_struct(struct mm_struct *, struct vm_area_struct *); extern void build_mmap_avl(struct mm_struct *); diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index f0f191483..ebe8428da 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -402,7 +402,6 @@ struct packet_type extern struct net_device loopback_dev; /* The loopback */ extern struct net_device *dev_base; /* All devices */ extern rwlock_t dev_base_lock; /* Device list lock */ -extern struct netdev_boot_setup dev_boot_setup[]; extern int netdev_boot_setup_add(char *name, struct ifmap *map); extern int netdev_boot_setup_check(struct net_device *dev); diff --git a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h index 44612efa0..938b43d77 100644 --- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h +++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h @@ -62,21 +62,13 @@ struct ip_conntrack_tuple } dst; }; -#define IP_PARTS_NATIVE(n) \ -(unsigned int)((n)>>24)&0xFF, \ -(unsigned int)((n)>>16)&0xFF, \ -(unsigned int)((n)>>8)&0xFF, \ -(unsigned int)((n)&0xFF) - -#define IP_PARTS(n) IP_PARTS_NATIVE(ntohl(n)) - #ifdef __KERNEL__ #define DUMP_TUPLE(tp) \ -DEBUGP("tuple %p: %u %u.%u.%u.%u:%u -> %u.%u.%u.%u:%u\n", \ +DEBUGP("tuple %p: %u %u.%u.%u.%u:%hu -> %u.%u.%u.%u:%hu\n", \ (tp), (tp)->dst.protonum, \ - IP_PARTS((tp)->src.ip), ntohs((tp)->src.u.all), \ - IP_PARTS((tp)->dst.ip), ntohs((tp)->dst.u.all)) + NIPQUAD((tp)->src.ip), ntohs((tp)->src.u.all), \ + NIPQUAD((tp)->dst.ip), ntohs((tp)->dst.u.all)) #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL) diff --git a/include/linux/netfilter_ipv4/ip_queue.h b/include/linux/netfilter_ipv4/ip_queue.h index a78776235..aa08d68c4 100644 --- a/include/linux/netfilter_ipv4/ip_queue.h +++ b/include/linux/netfilter_ipv4/ip_queue.h @@ -26,6 +26,10 @@ typedef struct ipq_packet_msg { unsigned int hook; /* Netfilter hook we rode in on */ char indev_name[IFNAMSIZ]; /* Name of incoming interface */ char outdev_name[IFNAMSIZ]; /* Name of outgoing interface */ + unsigned short hw_protocol; /* Hardware protocol (network order) */ + unsigned short hw_type; /* Hardware type */ + unsigned char hw_addrlen; /* Hardware address length */ + unsigned char hw_addr[8]; /* Hardware address */ size_t data_len; /* Length of packet data */ unsigned char payload[0]; /* Optional packet data */ } ipq_packet_msg_t; diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h index 26e8edd22..dacab2198 100644 --- a/include/linux/nfsd/nfsd.h +++ b/include/linux/nfsd/nfsd.h @@ -57,7 +57,7 @@ struct readdir_cd { char dotonly; }; typedef int (*encode_dent_fn)(struct readdir_cd *, const char *, - int, off_t, ino_t); + int, off_t, ino_t, unsigned int); typedef int (*nfsd_dirop_t)(struct inode *, struct dentry *, int, int); /* diff --git a/include/linux/nfsd/xdr.h b/include/linux/nfsd/xdr.h index 323c62b83..4bb4f668b 100644 --- a/include/linux/nfsd/xdr.h +++ b/include/linux/nfsd/xdr.h @@ -151,7 +151,7 @@ int nfssvc_encode_statfsres(struct svc_rqst *, u32 *, struct nfsd_statfsres *); int nfssvc_encode_readdirres(struct svc_rqst *, u32 *, struct nfsd_readdirres *); int nfssvc_encode_entry(struct readdir_cd *, const char *name, - int namlen, off_t offset, ino_t ino); + int namlen, off_t offset, ino_t ino, unsigned int); int nfssvc_release_fhandle(struct svc_rqst *, u32 *, struct nfsd_fhandle *); diff --git a/include/linux/nfsd/xdr3.h b/include/linux/nfsd/xdr3.h index f3e72151c..a5ca90410 100644 --- a/include/linux/nfsd/xdr3.h +++ b/include/linux/nfsd/xdr3.h @@ -292,9 +292,11 @@ int nfs3svc_release_fhandle(struct svc_rqst *, u32 *, int nfs3svc_release_fhandle2(struct svc_rqst *, u32 *, struct nfsd3_fhandle_pair *); int nfs3svc_encode_entry(struct readdir_cd *, const char *name, - int namlen, off_t offset, ino_t ino); + int namlen, off_t offset, ino_t ino, + unsigned int); int nfs3svc_encode_entry_plus(struct readdir_cd *, const char *name, - int namlen, off_t offset, ino_t ino); + int namlen, off_t offset, ino_t ino, + unsigned int); #endif /* _LINUX_NFSD_XDR3_H */ diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index f12c936d8..7f68d1951 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h @@ -549,6 +549,7 @@ #define PCI_VENDOR_ID_PLX 0x10b5 #define PCI_VENDOR_ID_PLX_ROMULUS 0x106a #define PCI_DEVICE_ID_PLX_SPCOM800 0x1076 +#define PCI_DEVICE_ID_PLX_1077 0x1077 #define PCI_DEVICE_ID_PLX_SPCOM200 0x1103 #define PCI_DEVICE_ID_PLX_9050 0x9050 #define PCI_DEVICE_ID_PLX_9060 0x9060 @@ -856,8 +857,8 @@ #define PCI_VENDOR_ID_V3 0x11b0 #define PCI_DEVICE_ID_V3_V960 0x0001 #define PCI_DEVICE_ID_V3_V350 0x0001 -#define PCI_DEVICE_ID_V3_V960V2 0x0002 -#define PCI_DEVICE_ID_V3_V350V2 0x0002 +#define PCI_DEVICE_ID_V3_V961 0x0002 +#define PCI_DEVICE_ID_V3_V351 0x0002 #define PCI_VENDOR_ID_NP 0x11bc #define PCI_DEVICE_ID_NP_PCI_FDDI 0x0001 @@ -978,6 +979,9 @@ #define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485 0x0006 #define PCI_SUBDEVICE_ID_CONNECT_TECH_BH4_485_2_2 0x0007 #define PCI_SUBDEVICE_ID_CONNECT_TECH_BH2_485 0x0008 +#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH8_485_2_6 0x0009 +#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH081101V1 0x000A +#define PCI_SUBDEVICE_ID_CONNECT_TECH_BH041101V1 0x000B #define PCI_VENDOR_ID_PICTUREL 0x12c5 #define PCI_DEVICE_ID_PICTUREL_PCIVST 0x0081 diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h index 08d2a1b78..ce998195c 100644 --- a/include/linux/raid/md_k.h +++ b/include/linux/raid/md_k.h @@ -89,7 +89,7 @@ extern inline mddev_t * kdev_to_mddev (kdev_t dev) /* * default readahead */ -#define MD_READAHEAD (256 * 512) +#define MD_READAHEAD MAX_READAHEAD extern inline int disk_faulty(mdp_disk_t * d) { diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index f27ad591f..40738af95 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h @@ -277,9 +277,11 @@ enum #define RTAX_CWND RTAX_CWND RTAX_ADVMSS, #define RTAX_ADVMSS RTAX_ADVMSS + RTAX_REORDERING, +#define RTAX_REORDERING RTAX_REORDERING }; -#define RTAX_MAX RTAX_ADVMSS +#define RTAX_MAX RTAX_REORDERING diff --git a/include/linux/sched.h b/include/linux/sched.h index d6daffe8d..db6ec43cd 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -367,6 +367,9 @@ struct task_struct { struct signal_queue *sigqueue, **sigqueue_tail; unsigned long sas_ss_sp; size_t sas_ss_size; + int (*notifier)(void *priv); + void *notifier_data; + sigset_t *notifier_mask; /* Thread group tracking */ u32 parent_exec_id; @@ -543,9 +546,13 @@ extern int in_egroup_p(gid_t); extern void release(struct task_struct * p); +extern void proc_caches_init(void); extern void flush_signals(struct task_struct *); extern void flush_signal_handlers(struct task_struct *); extern int dequeue_signal(sigset_t *, siginfo_t *); +extern void block_all_signals(int (*notifier)(void *priv), void *priv, + sigset_t *mask); +extern void unblock_all_signals(void); extern int send_sig_info(int, struct siginfo *, struct task_struct *); extern int force_sig_info(int, struct siginfo *, struct task_struct *); extern int kill_pg_info(int, struct siginfo *, pid_t); diff --git a/include/linux/serial.h b/include/linux/serial.h index ce404ca1a..7d4178a54 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h @@ -123,6 +123,8 @@ struct serial_uart_config { #define ASYNC_BUGGY_UART 0x4000 /* This is a buggy UART, skip some safety * checks. Note: can be dangerous! */ +#define ASYNC_AUTOPROBE 0x8000 /* Port was autoprobed by PCI or PNP code */ + #define ASYNC_FLAGS 0x7FFF /* Possible legal async flags */ #define ASYNC_USR_MASK 0x3430 /* Legal flags that non-privileged * users can set or reset */ @@ -137,7 +139,6 @@ struct serial_uart_config { #define ASYNC_CHECK_CD 0x02000000 /* i.e., CLOCAL */ #define ASYNC_SHARE_IRQ 0x01000000 /* for multifunction cards --- no longer used */ -#define ASYNC_AUTOPROBE 0x00800000 /* Port was autoprobed */ #define ASYNC_INTERNAL_FLAGS 0xFF000000 /* Internal flags */ diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 850837af2..c67f8c85a 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -931,6 +931,12 @@ skb_cow(struct sk_buff *skb, unsigned int headroom) return skb; } +#define skb_queue_walk(queue, skb) \ + for (skb = (queue)->next; \ + (skb != (struct sk_buff *)(queue)); \ + skb=skb->next) + + extern struct sk_buff * skb_recv_datagram(struct sock *sk,unsigned flags,int noblock, int *err); extern unsigned int datagram_poll(struct file *file, struct socket *sock, struct poll_table_struct *wait); extern int skb_copy_datagram(struct sk_buff *from, int offset, char *to,int size); diff --git a/include/linux/slab.h b/include/linux/slab.h index 76ccf2dbb..4f4818873 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -73,6 +73,8 @@ extern kmem_cache_t *files_cachep; extern kmem_cache_t *filp_cachep; extern kmem_cache_t *dquot_cachep; extern kmem_cache_t *bh_cachep; +extern kmem_cache_t *fs_cachep; +extern kmem_cache_t *sigact_cachep; #ifdef CONFIG_SMP extern unsigned long slab_cache_drain_mask; diff --git a/include/linux/smb.h b/include/linux/smb.h index 852d5b0dd..1382db0dc 100644 --- a/include/linux/smb.h +++ b/include/linux/smb.h @@ -62,6 +62,13 @@ struct smb_conn_opt { #ifdef __KERNEL__ +#define SMB_NLS_MAXNAMELEN 20 +struct smb_nls_codepage { + char local_name[SMB_NLS_MAXNAMELEN]; + char remote_name[SMB_NLS_MAXNAMELEN]; +}; + + #define SMB_MAXNAMELEN 255 #define SMB_MAXPATHLEN 1024 diff --git a/include/linux/smb_fs.h b/include/linux/smb_fs.h index 375ff3112..e475057fc 100644 --- a/include/linux/smb_fs.h +++ b/include/linux/smb_fs.h @@ -73,13 +73,6 @@ smb_vfree(void *obj) #define SMB_F_CACHEVALID 0x01 /* directory cache valid */ #define SMB_F_LOCALWRITE 0x02 /* file modified locally */ -/* - * Bug fix flags - */ -#define SMB_FIX_WIN95 0x0001 /* Win 95 server */ -#define SMB_FIX_OLDATTR 0x0002 /* Use core getattr (Win 95 speedup) */ -#define SMB_FIX_DIRATTR 0x0004 /* Use find_first for getattr */ - /* NT1 protocol capability bits */ #define SMB_CAP_RAW_MODE 0x0001 @@ -122,6 +115,7 @@ unsigned long smb_invent_inos(unsigned long); struct inode *smb_iget(struct super_block *, struct smb_fattr *); /* linux/fs/smbfs/proc.c */ +int smb_setcodepage(struct smb_sb_info *server, struct smb_nls_codepage *cp); __u32 smb_len(unsigned char *); __u8 *smb_encode_smb_length(__u8 *, __u32); __u8 *smb_setup_header(struct smb_sb_info *, __u8, __u16, __u16); diff --git a/include/linux/smb_fs_sb.h b/include/linux/smb_fs_sb.h index 31052af1f..4bad7e928 100644 --- a/include/linux/smb_fs_sb.h +++ b/include/linux/smb_fs_sb.h @@ -23,7 +23,7 @@ struct smb_sb_info { enum smb_conn_state state; struct file * sock_file; - struct smb_mount_data *mnt; + struct smb_mount_data_kernel *mnt; unsigned char *temp_buf; /* Connections are counted. Each time a new socket arrives, @@ -41,8 +41,20 @@ struct smb_sb_info { unsigned short rcls; /* The error codes we received */ unsigned short err; - /* We use our on data_ready callback, but need the original one */ + /* We use our own data_ready callback, but need the original one */ void *data_ready; + + /* nls pointers for codepage conversions */ + struct nls_table *remote_nls; + struct nls_table *local_nls; + + /* utf8 can make strings longer so we can't do in-place conversion. + This is a buffer for temporary stuff. We only need one so no need + to put it on the stack. This points to temp_buf space. */ + char *name_buf; + + int (*convert)(char *, int, const char *, int, + struct nls_table *, struct nls_table *); }; #endif /* __KERNEL__ */ diff --git a/include/linux/smb_mount.h b/include/linux/smb_mount.h index 886d945d5..ea240db51 100644 --- a/include/linux/smb_mount.h +++ b/include/linux/smb_mount.h @@ -11,7 +11,7 @@ #include <linux/types.h> -#define SMB_MOUNT_VERSION 6 +#define SMB_MOUNT_VERSION 6 struct smb_mount_data { int version; @@ -22,4 +22,37 @@ struct smb_mount_data { __kernel_mode_t dir_mode; }; + +#ifdef __KERNEL__ + +/* "vers" in big-endian */ +#define SMB_MOUNT_ASCII 0x76657273 + +#define SMB_MOUNT_OLDVERSION 6 +#undef SMB_MOUNT_VERSION +#define SMB_MOUNT_VERSION 7 + +/* flags */ +#define SMB_MOUNT_WIN95 0x0001 /* Win 95 server */ +#define SMB_MOUNT_OLDATTR 0x0002 /* Use core getattr (Win 95 speedup) */ +#define SMB_MOUNT_DIRATTR 0x0004 /* Use find_first for getattr */ +#define SMB_MOUNT_CASE 0x0008 /* Be case sensitive */ + + +struct smb_mount_data_kernel { + int version; + + __kernel_uid_t mounted_uid; /* Who may umount() this filesystem? */ + __kernel_uid_t uid; + __kernel_gid_t gid; + __kernel_mode_t file_mode; + __kernel_mode_t dir_mode; + + u32 flags; + + struct smb_nls_codepage codepage; +}; + +#endif + #endif diff --git a/include/linux/sound.h b/include/linux/sound.h index 4921b90e2..18a673320 100644 --- a/include/linux/sound.h +++ b/include/linux/sound.h @@ -1,3 +1,28 @@ + +/* + * Minor numbers for the sound driver. + */ + +#define SND_DEV_CTL 0 /* Control port /dev/mixer */ +#define SND_DEV_SEQ 1 /* Sequencer output /dev/sequencer (FM + synthesizer and MIDI output) */ +#define SND_DEV_MIDIN 2 /* Raw midi access */ +#define SND_DEV_DSP 3 /* Digitized voice /dev/dsp */ +#define SND_DEV_AUDIO 4 /* Sparc compatible /dev/audio */ +#define SND_DEV_DSP16 5 /* Like /dev/dsp but 16 bits/sample */ +/* #define SND_DEV_STATUS 6 */ /* /dev/sndstat (obsolete) */ +#define SND_DEV_UNUSED 6 +#define SND_DEV_AWFM 7 /* Reserved */ +#define SND_DEV_SEQ2 8 /* /dev/sequencer, level 2 interface */ +/* #define SND_DEV_SNDPROC 9 */ /* /dev/sndproc for programmable devices (not used) */ +/* #define SND_DEV_DMMIDI 9 */ +#define SND_DEV_SYNTH 9 /* Raw synth access /dev/synth (same as /dev/dmfm) */ +#define SND_DEV_DMFM 10 /* Raw synth access /dev/dmfm */ +#define SND_DEV_UNKNOWN11 11 +#define SND_DEV_ADSP 12 /* Like /dev/dsp (obsolete) */ +#define SND_DEV_AMIDI 13 /* Like /dev/midi (obsolete) */ +#define SND_DEV_ADMMIDI 14 /* Like /dev/dmmidi (onsolete) */ + /* * Sound core interface functions */ diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 7dfe40942..91913e545 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h @@ -260,6 +260,15 @@ enum NET_TCP_SYNACK_RETRIES=76, NET_TCP_MAX_ORPHANS=77, NET_TCP_MAX_TW_BUCKETS=78, + NET_TCP_FACK=79, + NET_TCP_REORDERING=80, + NET_TCP_ECN=81, + NET_TCP_DSACK=82, + NET_TCP_MEM=83, + NET_TCP_WMEM=84, + NET_TCP_RMEM=85, + NET_TCP_APP_WIN=86, + NET_TCP_ADV_WIN_SCALE=87, }; enum { diff --git a/include/linux/ufs_fs.h b/include/linux/ufs_fs.h index 3c8f1d415..04e4a8a7c 100644 --- a/include/linux/ufs_fs.h +++ b/include/linux/ufs_fs.h @@ -250,19 +250,6 @@ struct ufs_timeval { __s32 tv_usec; }; -/* - * File types - */ -#define DT_UNKNOWN 0 -#define DT_FIFO 1 -#define DT_CHR 2 -#define DT_DIR 4 -#define DT_BLK 6 -#define DT_REG 8 -#define DT_LNK 10 -#define DT_SOCK 12 -#define DT_WHT 14 - struct ufs_dir_entry { __u32 d_ino; /* inode number of this entry */ __u16 d_reclen; /* length of this entry */ diff --git a/include/linux/usb.h b/include/linux/usb.h index b50c5890c..c01871586 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h @@ -261,7 +261,7 @@ struct usb_interface_descriptor { struct usb_endpoint_descriptor *endpoint; - unsigned char *extra; + unsigned char *extra; /* Extra descriptors */ int extralen; } __attribute__ ((packed)); @@ -288,6 +288,9 @@ struct usb_config_descriptor { __u8 MaxPower; struct usb_interface *interface; + + unsigned char *extra; /* Extra descriptors */ + int extralen; } __attribute__ ((packed)); /* String descriptor */ |