summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>1997-12-01 04:02:08 +0000
committerRalf Baechle <ralf@linux-mips.org>1997-12-01 04:02:08 +0000
commitfd095d09f2d475dc2e8599b1b8bae1cd65e91685 (patch)
tree217f87a997699505e0dd752931409b9f10fffe65 /include
parentc02e0599c4233f97071928f8118841954bacdadf (diff)
Merge with 2.1.56 as first part of merging back my code.
Diffstat (limited to 'include')
-rw-r--r--include/linux/atalk.h12
-rw-r--r--include/linux/dcache.h5
-rw-r--r--include/linux/ext2_fs.h2
-rw-r--r--include/linux/fs.h29
-rw-r--r--include/linux/minix_fs.h2
-rw-r--r--include/linux/msdos_fs.h2
-rw-r--r--include/linux/ncp_fs.h2
-rw-r--r--include/linux/nfs_fs.h3
-rw-r--r--include/linux/smb_fs.h6
-rw-r--r--include/linux/smb_fs_i.h1
-rw-r--r--include/linux/smbno.h1
-rw-r--r--include/linux/sysv_fs.h4
-rw-r--r--include/linux/tty_flip.h9
13 files changed, 44 insertions, 34 deletions
diff --git a/include/linux/atalk.h b/include/linux/atalk.h
index 70e691251..051e03484 100644
--- a/include/linux/atalk.h
+++ b/include/linux/atalk.h
@@ -16,6 +16,7 @@
#define ATADDR_ANYPORT (__u8)0
#define ATADDR_BCAST (__u8)255
#define DDP_MAXSZ 587
+#define DDP_MAXHOPS 15 /* 4 bits of hop counter */
#define SIOCATALKDIFADDR (SIOCPROTOPRIVATE + 0)
@@ -70,8 +71,6 @@ struct atalk_sock
unsigned char src_port;
};
-#define DDP_MAXHOPS 15 /* 4 bits of hop counter */
-
#ifdef __KERNEL__
#include <asm/byteorder.h>
@@ -154,11 +153,14 @@ extern __inline__ struct atalk_iface *atalk_find_dev(struct device *dev)
}
extern struct at_addr *atalk_find_dev_addr(struct device *dev);
+extern struct device *atrtr_get_dev(struct at_addr *sa);
extern int aarp_send_ddp(struct device *dev,struct sk_buff *skb, struct at_addr *sa, void *hwaddr);
extern void aarp_send_probe(struct device *dev, struct at_addr *addr);
+
#ifdef MODULE
+extern void aarp_device_down(struct device *dev);
extern void aarp_cleanup_module(void);
-#endif
+#endif /* MODULE */
-#endif
-#endif
+#endif /* __KERNEL__ */
+#endif /* __LINUX_ATALK_H__ */
diff --git a/include/linux/dcache.h b/include/linux/dcache.h
index 2735f37ea..ebdf22bfc 100644
--- a/include/linux/dcache.h
+++ b/include/linux/dcache.h
@@ -50,6 +50,7 @@ struct dentry {
struct qstr d_name;
unsigned long d_time; /* used by d_revalidate */
struct dentry_operations *d_op;
+ struct super_block * d_sb; /* The root of the dentry tree */
};
struct dentry_operations {
@@ -102,9 +103,11 @@ extern void d_delete(struct dentry *);
/* allocate/de-allocate */
extern struct dentry * d_alloc(struct dentry * parent, const struct qstr *name);
-extern void shrink_dcache(void);
+extern void prune_dcache(int);
extern int d_invalidate(struct dentry *);
+#define shrink_dcache() prune_dcache(0)
+
/* only used at mount-time */
extern struct dentry * d_alloc_root(struct inode * root_inode, struct dentry * old_root);
diff --git a/include/linux/ext2_fs.h b/include/linux/ext2_fs.h
index 2831b1850..604548798 100644
--- a/include/linux/ext2_fs.h
+++ b/include/linux/ext2_fs.h
@@ -465,7 +465,7 @@ extern int ext2_read (struct inode *, struct file *, char *, int);
extern int ext2_write (struct inode *, struct file *, char *, int);
/* fsync.c */
-extern int ext2_sync_file (struct inode *, struct file *);
+extern int ext2_sync_file (struct file *, struct dentry *);
/* ialloc.c */
extern struct inode * ext2_new_inode (const struct inode *, int, int *);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 8380d0a67..fb47b00da 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -93,7 +93,7 @@ extern int max_files, nr_files;
/*
* Flags that can be altered by MS_REMOUNT
*/
-#define MS_RMT_MASK (MS_RDONLY|MS_MANDLOCK|MS_NOATIME)
+#define MS_RMT_MASK (MS_RDONLY|MS_NOSUID|MS_NODEV|MS_NOEXEC|MS_SYNCHRONOUS|MS_MANDLOCK|MS_NOATIME)
/*
* Magic mount flag number. Has to be or-ed to the flag values.
@@ -369,6 +369,11 @@ static inline void mark_inode_dirty(struct inode *inode)
__mark_inode_dirty(inode);
}
+struct fown_struct {
+ int pid; /* pid or -pgrp where SIGIO should be sent */
+ uid_t uid, euid; /* uid/euid of process setting the owner */
+};
+
struct file {
struct file *f_next, **f_pprev;
struct dentry *f_dentry;
@@ -377,9 +382,7 @@ struct file {
loff_t f_pos;
unsigned short f_count, f_flags;
unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;
-
- /* pid or -pgrp where SIGIO should be sent */
- int f_owner;
+ struct fown_struct f_owner;
unsigned long f_version;
@@ -471,7 +474,7 @@ struct fasync_struct {
#define FASYNC_MAGIC 0x4601
-extern int fasync_helper(struct inode *, struct file *, int, struct fasync_struct **);
+extern int fasync_helper(struct file *, int, struct fasync_struct **);
#include <linux/minix_fs_sb.h>
#include <linux/ext2_fs_sb.h>
@@ -533,20 +536,20 @@ struct super_block {
typedef int (*filldir_t)(void *, const char *, int, off_t, ino_t);
struct file_operations {
- long long (*llseek) (struct inode *, struct file *, long long, int);
+ long long (*llseek) (struct file *, long long, int);
long (*read) (struct inode *, struct file *, char *, unsigned long);
long (*write) (struct inode *, struct file *, const char *, unsigned long);
int (*readdir) (struct file *, void *, filldir_t);
unsigned int (*poll) (struct file *, poll_table *);
int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
- int (*mmap) (struct inode *, struct file *, struct vm_area_struct *);
+ int (*mmap) (struct file *, struct vm_area_struct *);
int (*open) (struct inode *, struct file *);
int (*release) (struct inode *, struct file *);
- int (*fsync) (struct inode *, struct file *);
- int (*fasync) (struct inode *, struct file *, int);
+ int (*fsync) (struct file *, struct dentry *);
+ int (*fasync) (struct file *, int);
int (*check_media_change) (kdev_t dev);
int (*revalidate) (kdev_t dev);
- int (*lock) (struct inode *, struct file *, int, struct file_lock *);
+ int (*lock) (struct file *, int, struct file_lock *);
};
struct inode_operations {
@@ -787,7 +790,7 @@ extern struct buffer_head * breada(kdev_t dev,int block, int size,
extern int brw_page(int, struct page *, kdev_t, int [], int, int);
extern int generic_readpage(struct inode *, struct page *);
-extern int generic_file_mmap(struct inode *, struct file *, struct vm_area_struct *);
+extern int generic_file_mmap(struct file *, struct vm_area_struct *);
extern long generic_file_read(struct inode *, struct file *, char *, unsigned long);
extern long generic_file_write(struct inode *, struct file *, const char *, unsigned long);
@@ -812,8 +815,8 @@ extern int read_ahead[];
extern long char_write(struct inode *, struct file *, const char *, unsigned long);
extern long block_write(struct inode *, struct file *, const char *, unsigned long);
-extern int block_fsync(struct inode *, struct file *);
-extern int file_fsync(struct inode *, struct file *);
+extern int block_fsync(struct file *, struct dentry *dir);
+extern int file_fsync(struct file *, struct dentry *dir);
extern void dcache_add(struct inode *, const char *, int, unsigned long);
extern int dcache_lookup(struct inode *, const char *, int, unsigned long *);
diff --git a/include/linux/minix_fs.h b/include/linux/minix_fs.h
index 8c75cc3c5..a725bbe36 100644
--- a/include/linux/minix_fs.h
+++ b/include/linux/minix_fs.h
@@ -121,7 +121,7 @@ extern void minix_read_inode(struct inode *);
extern void minix_write_inode(struct inode *);
extern int minix_statfs(struct super_block *, struct statfs *, int);
extern int minix_sync_inode(struct inode *);
-extern int minix_sync_file(struct inode *, struct file *);
+extern int minix_sync_file(struct file *, struct dentry *);
extern struct inode_operations minix_file_inode_operations;
extern struct inode_operations minix_dir_inode_operations;
diff --git a/include/linux/msdos_fs.h b/include/linux/msdos_fs.h
index 2c7843ea7..08ab3506a 100644
--- a/include/linux/msdos_fs.h
+++ b/include/linux/msdos_fs.h
@@ -232,7 +232,7 @@ extern long fat_file_write(struct inode *, struct file *, const char *, unsigned
extern void fat_truncate(struct inode *inode);
/* mmap.c */
-extern int fat_mmap(struct inode *, struct file *, struct vm_area_struct *);
+extern int fat_mmap(struct file *, struct vm_area_struct *);
/* vfat.c */
diff --git a/include/linux/ncp_fs.h b/include/linux/ncp_fs.h
index 846f9dcea..7fb97f9d5 100644
--- a/include/linux/ncp_fs.h
+++ b/include/linux/ncp_fs.h
@@ -150,7 +150,7 @@ void ncp_lock_server(struct ncp_server *server);
void ncp_unlock_server(struct ncp_server *server);
/* linux/fs/ncpfs/mmap.c */
-int ncp_mmap(struct inode *inode, struct file *file, struct vm_area_struct *vma);
+int ncp_mmap(struct file *file, struct vm_area_struct *vma);
#endif /* __KERNEL__ */
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h
index 94acfc5d6..9591046ca 100644
--- a/include/linux/nfs_fs.h
+++ b/include/linux/nfs_fs.h
@@ -169,8 +169,7 @@ extern int nfs_mmap(struct inode *inode, struct file *file,
/*
* linux/fs/nfs/locks.c
*/
-extern int nfs_lock(struct inode *inode, struct file *file,
- int cmd, struct file_lock *fl);
+extern int nfs_lock(struct file *file, int cmd, struct file_lock *fl);
/*
* linux/fs/nfs/write.c
diff --git a/include/linux/smb_fs.h b/include/linux/smb_fs.h
index be01f3048..e3e9ea98a 100644
--- a/include/linux/smb_fs.h
+++ b/include/linux/smb_fs.h
@@ -77,7 +77,7 @@ void smb_free_all_inodes(struct smb_sb_info *server);
void smb_init_root(struct smb_sb_info *server);
int smb_stat_root(struct smb_sb_info *server);
void smb_init_dir_cache(void);
-void smb_invalid_dir_cache(unsigned long ino);
+void smb_invalid_dir_cache(struct inode *);
void smb_free_dir_cache(void);
/* linux/fs/smbfs/ioctl.c */
@@ -104,7 +104,7 @@ __u8 *smb_setup_header(struct smb_sb_info *server, __u8 command,
__u16 wct, __u16 bcc);
int smb_offerconn(struct smb_sb_info *server);
int smb_newconn(struct smb_sb_info *server, struct smb_conn_opt *opt);
-int smb_close(struct dentry *);
+int smb_close(struct inode *);
int smb_open(struct dentry *, int);
static inline int
smb_is_open(struct inode *i)
@@ -149,7 +149,7 @@ int smb_trans2_request(struct smb_sb_info *server, __u16 trans2_command,
int *lrparam, unsigned char **rparam);
/* linux/fs/smbfs/mmap.c */
-int smb_mmap(struct inode * inode, struct file * file, struct vm_area_struct * vma);
+int smb_mmap(struct file * file, struct vm_area_struct * vma);
#endif /* __KERNEL__ */
diff --git a/include/linux/smb_fs_i.h b/include/linux/smb_fs_i.h
index 743e3954a..73ea69a89 100644
--- a/include/linux/smb_fs_i.h
+++ b/include/linux/smb_fs_i.h
@@ -22,6 +22,7 @@ struct smb_inode_info {
* (open == generation).
*/
unsigned int open;
+ void * dentry; /* The dentry we were opened with */
__u16 fileid; /* What id to handle a file with? */
__u16 attr; /* Attribute fields, DOS value */
diff --git a/include/linux/smbno.h b/include/linux/smbno.h
index 176e88c86..a1443646b 100644
--- a/include/linux/smbno.h
+++ b/include/linux/smbno.h
@@ -39,6 +39,7 @@
#define ERRbadshare 32 /* Share mode on file conflict with open mode */
#define ERRlock 33 /* Lock request conflicts with existing lock */
#define ERRfilexists 80 /* File in operation already exists */
+#define ERRundocumented1 123 /* Invalid name?? e.g. .tmp* */
#define ERRbadpipe 230 /* Named pipe invalid */
#define ERRpipebusy 231 /* All instances of pipe are busy */
#define ERRpipeclosing 232 /* named pipe close in progress */
diff --git a/include/linux/sysv_fs.h b/include/linux/sysv_fs.h
index 53ead0c99..93e4400ce 100644
--- a/include/linux/sysv_fs.h
+++ b/include/linux/sysv_fs.h
@@ -398,8 +398,8 @@ extern void sysv_write_inode(struct inode *);
extern void sysv_put_inode(struct inode *);
extern int sysv_statfs(struct super_block *, struct statfs *, int);
extern int sysv_sync_inode(struct inode *);
-extern int sysv_sync_file(struct inode *, struct file *);
-extern int sysv_mmap(struct inode *, struct file *, struct vm_area_struct *);
+extern int sysv_sync_file(struct file *, struct dentry *);
+extern int sysv_mmap(struct file *, struct vm_area_struct *);
extern struct inode_operations sysv_file_inode_operations;
extern struct inode_operations sysv_file_inode_operations_with_bmap;
diff --git a/include/linux/tty_flip.h b/include/linux/tty_flip.h
index 97316607b..948e54550 100644
--- a/include/linux/tty_flip.h
+++ b/include/linux/tty_flip.h
@@ -10,10 +10,11 @@
_INLINE_ void tty_insert_flip_char(struct tty_struct *tty,
unsigned char ch, char flag)
{
- if (tty->flip.count++ >= TTY_FLIPBUF_SIZE)
- return;
- *tty->flip.flag_buf_ptr++ = flag;
- *tty->flip.char_buf_ptr++ = ch;
+ if (tty->flip.count < TTY_FLIPBUF_SIZE) {
+ tty->flip.count++;
+ *tty->flip.flag_buf_ptr++ = flag;
+ *tty->flip.char_buf_ptr++ = ch;
+ }
}
_INLINE_ void tty_schedule_flip(struct tty_struct *tty)