summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ac97_codec.h2
-rw-r--r--include/linux/affs_fs.h1
-rw-r--r--include/linux/in6.h14
-rw-r--r--include/linux/input.h14
-rw-r--r--include/linux/ioport.h1
-rw-r--r--include/linux/irq.h23
-rw-r--r--include/linux/mm.h1
-rw-r--r--include/linux/netdevice.h39
-rw-r--r--include/linux/netfilter.h66
-rw-r--r--include/linux/netfilter_decnet.h6
-rw-r--r--include/linux/netfilter_ipv4.h1
-rw-r--r--include/linux/nfsd/nfsd.h5
-rw-r--r--include/linux/nfsd/nfsfh.h62
-rw-r--r--include/linux/pkt_sched.h10
-rw-r--r--include/linux/pm.h6
-rw-r--r--include/linux/udf_167.h3
-rw-r--r--include/linux/udf_fs.h17
-rw-r--r--include/linux/udf_fs_i.h3
-rw-r--r--include/linux/udf_fs_sb.h3
19 files changed, 138 insertions, 139 deletions
diff --git a/include/linux/ac97_codec.h b/include/linux/ac97_codec.h
index 68989d76d..7090e0625 100644
--- a/include/linux/ac97_codec.h
+++ b/include/linux/ac97_codec.h
@@ -1,6 +1,8 @@
#ifndef _AC97_CODEC_H_
#define _AC97_CODEC_H_
+#include <linux/types.h>
+#include <linux/soundcard.h>
/* AC97 1.0 */
#define AC97_RESET 0x0000 //
diff --git a/include/linux/affs_fs.h b/include/linux/affs_fs.h
index 10cd77b8d..ab3b8c078 100644
--- a/include/linux/affs_fs.h
+++ b/include/linux/affs_fs.h
@@ -104,6 +104,7 @@ extern void affs_dir_truncate(struct inode *);
extern struct inode_operations affs_file_inode_operations;
extern struct inode_operations affs_dir_inode_operations;
+extern struct inode_operations affs_symlink_inode_operations;
extern struct file_operations affs_file_operations;
extern struct file_operations affs_file_operations_ofs;
extern struct file_operations affs_dir_operations;
diff --git a/include/linux/in6.h b/include/linux/in6.h
index ca5e768ba..13eed62d6 100644
--- a/include/linux/in6.h
+++ b/include/linux/in6.h
@@ -56,9 +56,9 @@ struct sockaddr_in6 {
__u16 sin6_port; /* Transport layer port # */
__u32 sin6_flowinfo; /* IPv6 flow information */
struct in6_addr sin6_addr; /* IPv6 address */
+ __u32 sin6_scope_id; /* scope id (new in RFC2553) */
};
-
struct ipv6_mreq {
/* IPv6 multicast address of group */
struct in6_addr ipv6mr_multiaddr;
@@ -157,18 +157,6 @@ struct in6_flowlabel_req
#define IPV6_AUTHHDR 10
#define IPV6_FLOWINFO 11
-#if 0
-/* Aliases for obsolete names */
-#define IPV6_RXHOPOPTS IPV6_HOPOPTS
-#define IPV6_RXDSTOPTS IPV6_DSTOPTS
-#define IPV6_RXSRCRT IPV6_RTHDR
-#endif
-
-/*
- * Alternative names
- */
-#define SCM_SRCRT IPV6_RXSRCRT
-
#define IPV6_UNICAST_HOPS 16
#define IPV6_MULTICAST_IF 17
#define IPV6_MULTICAST_HOPS 18
diff --git a/include/linux/input.h b/include/linux/input.h
index e65ce8f45..d5b75700a 100644
--- a/include/linux/input.h
+++ b/include/linux/input.h
@@ -234,11 +234,15 @@ struct input_event {
#define KEY_RECORD 167
#define KEY_REWIND 168
#define KEY_PHONE 169
+
#define KEY_CONFIG 171
#define KEY_HOMEPAGE 172
#define KEY_REFRESH 173
#define KEY_EXIT 174
#define KEY_MOVE 175
+#define KEY_EDIT 176
+#define KEY_SCROLLUP 177
+#define KEY_SCROLLDOWN 178
#define KEY_UNKNOWN 180
@@ -339,7 +343,9 @@ struct input_event {
#define ABS_HAT3Y 0x17
#define ABS_PRESSURE 0x18
#define ABS_DISTANCE 0x19
-#define ABS_MISC 0x1a
+#define ABS_TILT_X 0x1a
+#define ABS_TILT_Y 0x1b
+#define ABS_MISC 0x1c
#define ABS_MAX 0x1f
/*
@@ -442,11 +448,6 @@ struct input_handle {
struct input_handle *hnext;
};
-int keybdev_init(void);
-int mousedev_init(void);
-int joydev_init(void);
-int evdev_init(void);
-
void input_register_device(struct input_dev *);
void input_unregister_device(struct input_dev *);
@@ -459,6 +460,7 @@ void input_close_device(struct input_handle *);
void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value);
#define input_report_key(a,b,c) input_event(a, EV_KEY, b, c)
+#define input_report_btn(a,b,c) input_event(a, EV_KEY, b, !!(c))
#define input_report_rel(a,b,c) input_event(a, EV_REL, b, c)
#define input_report_abs(a,b,c) input_event(a, EV_ABS, b, c)
diff --git a/include/linux/ioport.h b/include/linux/ioport.h
index 6c5349546..a24e7770a 100644
--- a/include/linux/ioport.h
+++ b/include/linux/ioport.h
@@ -78,6 +78,7 @@ extern struct resource iomem_resource;
extern int get_resource_list(struct resource *, char *buf, int size);
+extern int check_resource(struct resource *root, unsigned long, unsigned long);
extern int request_resource(struct resource *root, struct resource *new);
extern int release_resource(struct resource *new);
extern int allocate_resource(struct resource *root, struct resource *new,
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 4a6df60ae..7407d39db 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -26,7 +26,7 @@ struct hw_interrupt_type {
void (*disable)(unsigned int irq);
void (*ack)(unsigned int irq);
void (*end)(unsigned int irq);
- void (*set_affinity)(unsigned int irq, unsigned int mask);
+ void (*set_affinity)(unsigned int irq, unsigned long mask);
};
typedef struct hw_interrupt_type hw_irq_controller;
@@ -44,34 +44,19 @@ typedef struct {
struct irqaction *action; /* IRQ action list */
unsigned int depth; /* nested irq disables */
spinlock_t lock;
- unsigned int __pad[3];
} ____cacheline_aligned irq_desc_t;
extern irq_desc_t irq_desc [NR_IRQS];
-typedef struct {
- unsigned int __local_irq_count;
- unsigned int __local_bh_count;
- atomic_t __nmi_counter;
- unsigned int __pad[5];
-} ____cacheline_aligned irq_cpustat_t;
-
-extern irq_cpustat_t irq_stat [NR_CPUS];
-
-/*
- * Simple wrappers reducing source bloat
- */
-#define local_irq_count(cpu) (irq_stat[(cpu)].__local_irq_count)
-#define local_bh_count(cpu) (irq_stat[(cpu)].__local_bh_count)
-#define nmi_counter(cpu) (irq_stat[(cpu)].__nmi_counter)
-
#include <asm/hw_irq.h> /* the arch dependent stuff */
extern int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
-extern spinlock_t irq_controller_lock;
extern int setup_irq(unsigned int , struct irqaction * );
extern hw_irq_controller no_irq_type; /* needed in every arch ? */
+extern void no_action(int cpl, void *dev_id, struct pt_regs *regs);
+
+extern volatile unsigned long irq_err_count;
#endif /* __asm_h */
diff --git a/include/linux/mm.h b/include/linux/mm.h
index a01877f10..bcf872ade 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -400,7 +400,6 @@ extern void free_area_init_node(int nid, pg_data_t *pgdat,
unsigned long * zones_size, unsigned long zone_start_paddr);
extern void mem_init(void);
extern void show_mem(void);
-extern void oom(struct task_struct * tsk);
extern void si_meminfo(struct sysinfo * val);
extern void swapin_readahead(swp_entry_t);
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 2c7103040..13d09502b 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -184,7 +184,8 @@ enum netdev_state_t
__LINK_STATE_XOFF=0,
__LINK_STATE_START,
__LINK_STATE_PRESENT,
- __LINK_STATE_SCHED
+ __LINK_STATE_SCHED,
+ __LINK_STATE_NOCARRIER
};
@@ -287,6 +288,7 @@ struct net_device
void *ip_ptr; /* IPv4 specific data */
void *dn_ptr; /* DECnet specific data */
void *ip6_ptr; /* IPv6 specific data */
+ void *ec_ptr; /* Econet specific data */
struct Qdisc *qdisc;
struct Qdisc *qdisc_sleeping;
@@ -533,6 +535,30 @@ extern __inline__ void dev_put(struct net_device *dev)
#define __dev_put(dev) atomic_dec(&(dev)->refcnt)
#define dev_hold(dev) atomic_inc(&(dev)->refcnt)
+/* Carrier loss detection, dial on demand. The functions netif_carrier_on
+ * and _off may be called from IRQ context, but it is caller
+ * who is responsible for serialization of these calls.
+ */
+
+extern __inline__ int netif_carrier_ok(struct net_device *dev)
+{
+ return !test_bit(__LINK_STATE_NOCARRIER, &dev->state);
+}
+
+extern void __netdev_watchdog_up(struct net_device *dev);
+
+extern __inline__ void netif_carrier_on(struct net_device *dev)
+{
+ clear_bit(__LINK_STATE_NOCARRIER, &dev->state);
+ if (netif_running(dev))
+ __netdev_watchdog_up(dev);
+}
+
+extern __inline__ void netif_carrier_off(struct net_device *dev)
+{
+ set_bit(__LINK_STATE_NOCARRIER, &dev->state);
+}
+
/* Hot-plugging. */
extern __inline__ int netif_device_present(struct net_device *dev)
{
@@ -544,22 +570,15 @@ extern __inline__ void netif_device_detach(struct net_device *dev)
if (test_and_clear_bit(__LINK_STATE_PRESENT, &dev->state) &&
netif_running(dev)) {
netif_stop_queue(dev);
- if (dev->tx_timeout &&
- del_timer(&dev->watchdog_timer))
- __dev_put(dev);
}
}
extern __inline__ void netif_device_attach(struct net_device *dev)
{
- if (test_and_set_bit(__LINK_STATE_PRESENT, &dev->state) &&
+ if (!test_and_set_bit(__LINK_STATE_PRESENT, &dev->state) &&
netif_running(dev)) {
netif_wake_queue(dev);
- if (dev->tx_timeout) {
- dev->watchdog_timer.expires = jiffies + dev->watchdog_timeo;
- add_timer(&dev->watchdog_timer);
- dev_hold(dev);
- }
+ __netdev_watchdog_up(dev);
}
}
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h
index dd55f2376..954229d6c 100644
--- a/include/linux/netfilter.h
+++ b/include/linux/netfilter.h
@@ -6,6 +6,7 @@
#include <linux/types.h>
#include <linux/skbuff.h>
#include <linux/net.h>
+#include <linux/if.h>
#include <linux/wait.h>
#include <linux/list.h>
#endif
@@ -28,7 +29,7 @@
extern void netfilter_init(void);
/* Largest hook number + 1 */
-#define NF_MAX_HOOKS 5
+#define NF_MAX_HOOKS 8
struct sk_buff;
struct net_device;
@@ -39,19 +40,12 @@ typedef unsigned int nf_hookfn(unsigned int hooknum,
const struct net_device *out,
int (*okfn)(struct sk_buff *));
-typedef unsigned int nf_cacheflushfn(const void *packet,
- const struct net_device *in,
- const struct net_device *out,
- u_int32_t packetcount,
- u_int32_t bytecount);
-
struct nf_hook_ops
{
struct list_head list;
/* User fills in from here down. */
nf_hookfn *hook;
- nf_cacheflushfn *flush;
int pf;
int hooknum;
/* Hooks are ordered in ascending priority. */
@@ -74,6 +68,19 @@ struct nf_sockopt_ops
int (*get)(struct sock *sk, int optval, void *user, int *len);
};
+/* Each queued (to userspace) skbuff has one of these. */
+struct nf_info
+{
+ /* The ops struct which sent us to userspace. */
+ struct nf_hook_ops *elem;
+
+ /* If we're sent to userspace, this keeps housekeeping info */
+ int pf;
+ unsigned int hook;
+ struct net_device *indev, *outdev;
+ int (*okfn)(struct sk_buff *);
+};
+
/* Function to register/unregister hook points. */
int nf_register_hook(struct nf_hook_ops *reg);
void nf_unregister_hook(struct nf_hook_ops *reg);
@@ -85,7 +92,7 @@ void nf_unregister_sockopt(struct nf_sockopt_ops *reg);
extern struct list_head nf_hooks[NPROTO][NF_MAX_HOOKS];
-/* Activate hook/flush; either okfn or kfree_skb called, unless a hook
+/* Activate hook; either okfn or kfree_skb called, unless a hook
returns NF_STOLEN (in which case, it's up to the hook to deal with
the consequences).
@@ -117,47 +124,20 @@ int nf_hook_slow(int pf, unsigned int hook, struct sk_buff *skb,
struct net_device *indev, struct net_device *outdev,
int (*okfn)(struct sk_buff *));
-void nf_cacheflush(int pf, unsigned int hook, const void *packet,
- const struct net_device *indev, const struct net_device *outdev,
- __u32 packetcount, __u32 bytecount);
-
/* Call setsockopt() */
int nf_setsockopt(struct sock *sk, int pf, int optval, char *opt,
int len);
int nf_getsockopt(struct sock *sk, int pf, int optval, char *opt,
int *len);
-struct nf_wakeme
-{
- wait_queue_head_t sleep;
- struct sk_buff_head skbq;
-};
-
-/* For netfilter device. */
-struct nf_interest
-{
- struct list_head list;
-
- int pf;
- /* Bitmask of hook numbers to match (1 << hooknum). */
- unsigned int hookmask;
- /* If non-zero, only catch packets with this mark. */
- unsigned int mark;
- /* If non-zero, only catch packets of this reason. */
- unsigned int reason;
-
- struct nf_wakeme *wake;
-};
-
-/* For asynchronous packet handling. */
-extern void nf_register_interest(struct nf_interest *interest);
-extern void nf_unregister_interest(struct nf_interest *interest);
-extern void nf_getinfo(const struct sk_buff *skb,
- struct net_device **indev,
- struct net_device **outdev,
- unsigned long *mark);
+/* Packet queuing */
+typedef int (*nf_queue_outfn_t)(struct sk_buff *skb,
+ struct nf_info *info, void *data);
+extern int nf_register_queue_handler(int pf,
+ nf_queue_outfn_t outfn, void *data);
+extern int nf_unregister_queue_handler(int pf);
extern void nf_reinject(struct sk_buff *skb,
- unsigned long mark,
+ struct nf_info *info,
unsigned int verdict);
#ifdef CONFIG_NETFILTER_DEBUG
diff --git a/include/linux/netfilter_decnet.h b/include/linux/netfilter_decnet.h
index 04b122441..2f8704f02 100644
--- a/include/linux/netfilter_decnet.h
+++ b/include/linux/netfilter_decnet.h
@@ -30,6 +30,10 @@
#define NF_DN_LOCAL_OUT 3
/* Packets about to hit the wire. */
#define NF_DN_POST_ROUTING 4
-#define NF_DN_NUMHOOKS 5
+/* Input Hello Packets */
+#define NF_DN_HELLO 5
+/* Input Routing Packets */
+#define NF_DN_ROUTE 6
+#define NF_DN_NUMHOOKS 7
#endif /*__LINUX_DECNET_NETFILTER_H*/
diff --git a/include/linux/netfilter_ipv4.h b/include/linux/netfilter_ipv4.h
index 12996c14d..6111c47d8 100644
--- a/include/linux/netfilter_ipv4.h
+++ b/include/linux/netfilter_ipv4.h
@@ -51,7 +51,6 @@
#ifdef CONFIG_NETFILTER_DEBUG
#ifdef __KERNEL__
-void debug_print_hooks_ip(unsigned int nf_debug);
void nf_debug_ip_local_deliver(struct sk_buff *skb);
void nf_debug_ip_loopback_xmit(struct sk_buff *newskb);
void nf_debug_ip_finish_output2(struct sk_buff *skb);
diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h
index 5b3c3860c..d71a6923b 100644
--- a/include/linux/nfsd/nfsd.h
+++ b/include/linux/nfsd/nfsd.h
@@ -36,8 +36,9 @@
#define MAY_SATTR 8
#define MAY_TRUNC 16
#define MAY_LOCK 32
-#if (MAY_SATTR | MAY_TRUNC | MAY_LOCK) & (MAY_READ | MAY_WRITE | MAY_EXEC)
-# error "please use a different value for MAY_SATTR or MAY_TRUNC or MAY_LOCK."
+#define MAY_OWNER_OVERRIDE 64
+#if (MAY_SATTR | MAY_TRUNC | MAY_LOCK | MAX_OWNER_OVERRIDE) & (MAY_READ | MAY_WRITE | MAY_EXEC | MAY_OWNER_OVERRIDE)
+# error "please use a different value for MAY_SATTR or MAY_TRUNC or MAY_LOCK or MAY_OWNER_OVERRIDE."
#endif
#define MAY_CREATE (MAY_EXEC|MAY_WRITE)
#define MAY_REMOVE (MAY_EXEC|MAY_WRITE|MAY_TRUNC)
diff --git a/include/linux/nfsd/nfsfh.h b/include/linux/nfsd/nfsfh.h
index ac73ca409..20e850ec5 100644
--- a/include/linux/nfsd/nfsfh.h
+++ b/include/linux/nfsd/nfsfh.h
@@ -161,16 +161,16 @@ fh_init(struct svc_fh *fhp)
static inline void
fill_pre_wcc(struct svc_fh *fhp)
{
- struct inode *inode;
-
- inode = fhp->fh_dentry->d_inode;
- if (!fhp->fh_pre_saved) {
- fhp->fh_pre_mtime = inode->i_mtime;
- fhp->fh_pre_ctime = inode->i_ctime;
- fhp->fh_pre_size = inode->i_size;
- fhp->fh_pre_saved = 1;
- }
- fhp->fh_locked = 1;
+ struct inode *inode;
+
+ inode = fhp->fh_dentry->d_inode;
+ if (!fhp->fh_pre_saved) {
+ fhp->fh_pre_mtime = inode->i_mtime;
+ fhp->fh_pre_ctime = inode->i_ctime;
+ fhp->fh_pre_size = inode->i_size;
+ fhp->fh_pre_saved = 1;
+ }
+ fhp->fh_locked = 1;
}
/*
@@ -179,24 +179,30 @@ fill_pre_wcc(struct svc_fh *fhp)
static inline void
fill_post_wcc(struct svc_fh *fhp)
{
- struct inode *inode = fhp->fh_dentry->d_inode;
-
- if (fhp->fh_post_saved)
- printk("nfsd: inode locked twice during operation.\n");
-
- fhp->fh_post_mode = inode->i_mode;
- fhp->fh_post_nlink = inode->i_nlink;
- fhp->fh_post_uid = inode->i_uid;
- fhp->fh_post_gid = inode->i_gid;
- fhp->fh_post_size = inode->i_size;
- fhp->fh_post_blksize = inode->i_blksize;
- fhp->fh_post_blocks = inode->i_blocks;
- fhp->fh_post_rdev = inode->i_rdev;
- fhp->fh_post_atime = inode->i_atime;
- fhp->fh_post_mtime = inode->i_mtime;
- fhp->fh_post_ctime = inode->i_ctime;
- fhp->fh_post_saved = 1;
- fhp->fh_locked = 0;
+ struct inode *inode = fhp->fh_dentry->d_inode;
+
+ if (fhp->fh_post_saved)
+ printk("nfsd: inode locked twice during operation.\n");
+
+ fhp->fh_post_mode = inode->i_mode;
+ fhp->fh_post_nlink = inode->i_nlink;
+ fhp->fh_post_uid = inode->i_uid;
+ fhp->fh_post_gid = inode->i_gid;
+ fhp->fh_post_size = inode->i_size;
+ if (inode->i_blksize) {
+ fhp->fh_post_blksize = inode->i_blksize;
+ fhp->fh_post_blocks = inode->i_blocks;
+ } else {
+ fhp->fh_post_blksize = BLOCK_SIZE;
+ /* how much do we care for accuracy with MinixFS? */
+ fhp->fh_post_blocks = (inode->i_size+511) >> 9;
+ }
+ fhp->fh_post_rdev = inode->i_rdev;
+ fhp->fh_post_atime = inode->i_atime;
+ fhp->fh_post_mtime = inode->i_mtime;
+ fhp->fh_post_ctime = inode->i_ctime;
+ fhp->fh_post_saved = 1;
+ fhp->fh_locked = 0;
}
#endif /* CONFIG_NFSD_V3 */
diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
index 6b9fcbc47..06a263d94 100644
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
@@ -192,6 +192,16 @@ struct tc_red_qopt
unsigned char Wlog; /* log(W) */
unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
unsigned char Scell_log; /* cell size for idle damping */
+ unsigned char flags;
+#define TC_RED_ECN 1
+};
+
+struct tc_red_xstats
+{
+ __u32 early; /* Early drops */
+ __u32 pdrop; /* Drops due to queue limits */
+ __u32 other; /* Drops due to drop() calls */
+ __u32 marked; /* Marked packets */
};
/* GRED section */
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 4d0a950a9..1a4205a9d 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -106,7 +106,7 @@ struct pm_dev
struct list_head entry;
};
-#if defined(CONFIG_ACPI) || defined(CONFIG_APM) || defined(CONFIG_APM_MODULE)
+#ifdef CONFIG_PM
extern int pm_active;
@@ -147,7 +147,7 @@ struct pm_dev *pm_find(pm_dev_t type, struct pm_dev *from);
extern inline void pm_access(struct pm_dev *dev) {}
extern inline void pm_dev_idle(struct pm_dev *dev) {}
-#else /* CONFIG_ACPI || CONFIG_APM || CONFIG_APM_MODULE */
+#else /* CONFIG_PM */
#define PM_IS_ACTIVE() 0
@@ -180,7 +180,7 @@ extern inline struct pm_dev *pm_find(pm_dev_t type, struct pm_dev *from)
extern inline void pm_access(struct pm_dev *dev) {}
extern inline void pm_dev_idle(struct pm_dev *dev) {}
-#endif /* CONFIG_ACPI || CONFIG_APM || CONFIG_APM_MODULE */
+#endif /* CONFIG_PM */
extern void (*pm_idle)(void);
extern void (*pm_power_off)(void);
diff --git a/include/linux/udf_167.h b/include/linux/udf_167.h
index 19b3aa8e2..ee09bd9ad 100644
--- a/include/linux/udf_167.h
+++ b/include/linux/udf_167.h
@@ -390,13 +390,10 @@ struct LogicalVolIntegrityDesc {
#define INTEGRITY_TYPE_CLOSE 1
/* Recorded Address (ECMA 167 4/7.1) */
-#ifndef _LINUX_UDF_FS_I_H
-/* Declared in udf_fs_i.h */
typedef struct {
Uint32 logicalBlockNum;
Uint16 partitionReferenceNum;
} lb_addr;
-#endif
/* Extent interpretation (ECMA 167 4/14.14.1.1) */
#define EXTENT_RECORDED_ALLOCATED 0x00
diff --git a/include/linux/udf_fs.h b/include/linux/udf_fs.h
index 162823404..47980eaaf 100644
--- a/include/linux/udf_fs.h
+++ b/include/linux/udf_fs.h
@@ -29,10 +29,6 @@
*
* HISTORY
*
- * 10/02/98 dgb rearranged all headers
- * 11/26/98 blf added byte order macros
- * 12/05/98 dgb removed other includes to reduce kernel namespace pollution.
- * This should only be included by the kernel now!
*/
#if !defined(_LINUX_UDF_FS_H)
@@ -40,10 +36,10 @@
#define UDF_PREALLOCATE
#define UDF_DEFAULT_PREALLOC_BLOCKS 8
-#define UDF_DEFAULT_PREALLOC_DIR_BLOCKS 0
-#define UDFFS_DATE "2000/01/17"
-#define UDFFS_VERSION "0.9.0"
+#define UDFFS_DATE "2000/02/29"
+#define UDFFS_VERSION "0.9.1"
+
#define UDFFS_DEBUG
#ifdef UDFFS_DEBUG
@@ -60,7 +56,12 @@
#define udf_info(f, a...) \
printk (KERN_INFO "UDF-fs INFO " ## f, ## a);
-/* Prototype for fs/filesystem.c (the only thing really required in this file) */
+#ifdef __KERNEL__
+/*
+ * Function prototypes (all other prototypes included in udfdecl.h)
+ */
extern int init_udf_fs(void);
+#endif /* __KERNEL__ */
+
#endif /* !defined(_LINUX_UDF_FS_H) */
diff --git a/include/linux/udf_fs_i.h b/include/linux/udf_fs_i.h
index a4bf4ba34..cd816d56b 100644
--- a/include/linux/udf_fs_i.h
+++ b/include/linux/udf_fs_i.h
@@ -43,7 +43,8 @@ struct udf_inode_info
unsigned i_alloc_type : 3;
unsigned i_extended_fe : 1;
unsigned i_strat_4096 : 1;
- unsigned reserved : 27;
+ unsigned i_new_inode : 1;
+ unsigned reserved : 26;
};
#endif
diff --git a/include/linux/udf_fs_sb.h b/include/linux/udf_fs_sb.h
index d160eed0a..15696cf33 100644
--- a/include/linux/udf_fs_sb.h
+++ b/include/linux/udf_fs_sb.h
@@ -96,6 +96,9 @@ struct udf_sb_info
/* Fileset Info */
__u16 s_serialnum;
+ /* highest UDF revision we have recorded to this media */
+ __u16 s_udfrev;
+
/* Miscellaneous flags */
__u32 s_flags;