This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Hi,
I have updated to bintuils-2.11; seems not to be an assembler
bug:
gcc version 2.95.3 20010315 (release)
GNU assembler version 2.11 (alphaev5-bruli-linux-gnu)
using BFD version 2.11
GNU ld version 2.11 (with BFD 2.11)
gcc -D__KERNEL__ -I/usr/src/linux-2.4.2/include -Wall -Wstrict-prototypes -O
2 -f
omit-frame-pointer -fno-strict-aliasing -mcpu=ev5 -pipe -mno-fp-regs -ffixed
-8 -
Wa,-mev5,-m21164 -c -o core_cia.o core_cia.c
still results in:
{standard input}: Assembler messages:
{standard input}:2812: Error: macro requires $at register while noat in
effect
{standard input}:2826: Error: macro requires $at register while noat in
effect
{standard input}:2840: Error: macro requires $at register while noat in
effect
{standard input}:2854: Error: macro requires $at register while noat in
effect
{standard input}:3023: Error: macro requires $at register while noat in
effect
{standard input}:3034: Error: macro requires $at register while noat in
effect
{standard input}:3066: Error: macro requires $at register while noat in
effect
{standard input}:3076: Error: macro requires $at register while noat in
effect
make[1]: *** [core_cia.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.4.2/arch/alpha/kernel'
make: *** [_dir_arch/alpha/kernel] Error 2
Find core_cia.i inlined here:
START core_cia.i
----------------------------------------------------------------------------
---------
# 1 "core_cia.c"
# 1 "/usr/src/linux-2.4.2/include/linux/kernel.h" 1
# 1 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/stdarg.h" 1 3
# 1 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/va-alpha.h" 1
3
typedef struct {
char *__base;
int __offset;
} __gnuc_va_list;
typedef __gnuc_va_list va_list;
# 49 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/va-alpha.h" 3
enum {
__no_type_class = -1,
__void_type_class,
__integer_type_class,
__char_type_class,
__enumeral_type_class,
__boolean_type_class,
__pointer_type_class,
__reference_type_class,
__offset_type_class,
__real_type_class,
__complex_type_class,
__function_type_class,
__method_type_class,
__record_type_class,
__union_type_class,
__array_type_class,
__string_type_class,
__set_type_class,
__file_type_class,
__lang_type_class
};
# 36 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/stdarg.h" 2 3
# 133 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/stdarg.h" 3
# 175 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/stdarg.h" 3
# 205 "/usr/lib/gcc-lib/alphaev5-bruli-linux-gnu/2.95.3/include/stdarg.h" 3
# 10 "/usr/src/linux-2.4.2/include/linux/kernel.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/linkage.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/config.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/autoconf.h" 1
# 4 "/usr/src/linux-2.4.2/include/linux/config.h" 2
# 4 "/usr/src/linux-2.4.2/include/linux/linkage.h" 2
# 61 "/usr/src/linux-2.4.2/include/linux/linkage.h"
# 11 "/usr/src/linux-2.4.2/include/linux/kernel.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/stddef.h" 1
# 12 "/usr/src/linux-2.4.2/include/linux/kernel.h" 2
struct semaphore;
extern struct notifier_block *panic_notifier_list;
void panic(const char * fmt, ...)
__attribute__ ((noreturn, format (printf, 1, 2)));
void do_exit(long error_code)
__attribute__((noreturn)) ;
void up_and_exit(struct semaphore *, long)
__attribute__((noreturn)) ;
extern unsigned long simple_strtoul(const char *,char **,unsigned int);
extern long simple_strtol(const char *,char **,unsigned int);
extern unsigned long long simple_strtoull(const char *,char **,unsigned
int);
extern long long simple_strtoll(const char *,char **,unsigned int);
extern int sprintf(char * buf, const char * fmt, ...);
extern int vsprintf(char *buf, const char *, va_list);
extern int get_option(char **str, int *pint);
extern char *get_options(char *str, int nints, int *ints);
extern unsigned long memparse(char *ptr, char **retptr);
extern void dev_probe_lock(void);
extern void dev_probe_unlock(void);
extern int session_of_pgrp(int pgrp);
int printk(const char * fmt, ...)
__attribute__ ((format (printf, 1, 2)));
extern int console_loglevel;
static inline void console_silent(void)
{
console_loglevel = 0;
}
static inline void console_verbose(void)
{
if (console_loglevel)
console_loglevel = 15;
}
struct sysinfo {
long uptime;
unsigned long loads[3];
unsigned long totalram;
unsigned long freeram;
unsigned long sharedram;
unsigned long bufferram;
unsigned long totalswap;
unsigned long freeswap;
unsigned short procs;
unsigned long totalhigh;
unsigned long freehigh;
unsigned int mem_unit;
char _f[20-2*sizeof(long)-sizeof(int)];
};
# 14 "core_cia.c" 2
# 1 "/usr/src/linux-2.4.2/include/linux/types.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/posix_types.h" 1
typedef struct {
unsigned long fds_bits [(1024 / (8 * sizeof(unsigned long)) ) ];
} __kernel_fd_set;
typedef void (*__kernel_sighandler_t)(int);
typedef int __kernel_key_t;
# 1 "/usr/src/linux-2.4.2/include/asm/posix_types.h" 1
typedef unsigned int __kernel_dev_t;
typedef unsigned int __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
typedef unsigned int __kernel_nlink_t;
typedef long __kernel_off_t;
typedef long __kernel_loff_t;
typedef int __kernel_pid_t;
typedef int __kernel_ipc_pid_t;
typedef unsigned int __kernel_uid_t;
typedef unsigned int __kernel_gid_t;
typedef unsigned long __kernel_size_t;
typedef long __kernel_ssize_t;
typedef long __kernel_ptrdiff_t;
typedef long __kernel_time_t;
typedef long __kernel_suseconds_t;
typedef long __kernel_clock_t;
typedef int __kernel_daddr_t;
typedef char * __kernel_caddr_t;
typedef unsigned long __kernel_sigset_t;
typedef unsigned short __kernel_uid16_t;
typedef unsigned short __kernel_gid16_t;
typedef struct {
int val[2];
} __kernel_fsid_t;
typedef __kernel_uid_t __kernel_old_uid_t;
typedef __kernel_gid_t __kernel_old_gid_t;
typedef __kernel_uid_t __kernel_uid32_t;
typedef __kernel_gid_t __kernel_gid32_t;
# 51 "/usr/src/linux-2.4.2/include/asm/posix_types.h"
static __inline__ void __FD_SET(unsigned long fd, __kernel_fd_set *fdsetp)
{
unsigned long _tmp = fd / (8 * sizeof(unsigned long)) ;
unsigned long _rem = fd % (8 * sizeof(unsigned long)) ;
fdsetp->fds_bits[_tmp] |= (1UL<<_rem);
}
static __inline__ void __FD_CLR(unsigned long fd, __kernel_fd_set *fdsetp)
{
unsigned long _tmp = fd / (8 * sizeof(unsigned long)) ;
unsigned long _rem = fd % (8 * sizeof(unsigned long)) ;
fdsetp->fds_bits[_tmp] &= ~(1UL<<_rem);
}
static __inline__ int __FD_ISSET(unsigned long fd, const __kernel_fd_set *p)
{
unsigned long _tmp = fd / (8 * sizeof(unsigned long)) ;
unsigned long _rem = fd % (8 * sizeof(unsigned long)) ;
return (p->fds_bits[_tmp] & (1UL<<_rem)) != 0;
}
static __inline__ void __FD_ZERO(__kernel_fd_set *p)
{
unsigned long *tmp = p->fds_bits;
int i;
if (__builtin_constant_p((1024 / (8 * sizeof(unsigned long)) ) )) {
switch ((1024 / (8 * sizeof(unsigned long)) ) ) {
case 16:
tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
tmp[ 8] = 0; tmp[ 9] = 0; tmp[10] = 0; tmp[11] = 0;
tmp[12] = 0; tmp[13] = 0; tmp[14] = 0; tmp[15] = 0;
return;
case 8:
tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
tmp[ 4] = 0; tmp[ 5] = 0; tmp[ 6] = 0; tmp[ 7] = 0;
return;
case 4:
tmp[ 0] = 0; tmp[ 1] = 0; tmp[ 2] = 0; tmp[ 3] = 0;
return;
}
}
i = (1024 / (8 * sizeof(unsigned long)) ) ;
while (i) {
i--;
*tmp = 0;
tmp++;
}
}
# 46 "/usr/src/linux-2.4.2/include/linux/posix_types.h" 2
# 8 "/usr/src/linux-2.4.2/include/linux/types.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/types.h" 1
typedef unsigned int umode_t;
typedef __signed__ char __s8;
typedef unsigned char __u8;
typedef __signed__ short __s16;
typedef unsigned short __u16;
typedef __signed__ int __s32;
typedef unsigned int __u32;
typedef __signed__ long __s64;
typedef unsigned long __u64;
typedef signed char s8;
typedef unsigned char u8;
typedef signed short s16;
typedef unsigned short u16;
typedef signed int s32;
typedef unsigned int u32;
typedef signed long s64;
typedef unsigned long u64;
typedef u32 dma_addr_t;
# 9 "/usr/src/linux-2.4.2/include/linux/types.h" 2
typedef __kernel_fd_set fd_set;
typedef __kernel_dev_t dev_t;
typedef __kernel_ino_t ino_t;
typedef __kernel_mode_t mode_t;
typedef __kernel_nlink_t nlink_t;
typedef __kernel_off_t off_t;
typedef __kernel_pid_t pid_t;
typedef __kernel_daddr_t daddr_t;
typedef __kernel_key_t key_t;
typedef __kernel_suseconds_t suseconds_t;
typedef __kernel_uid32_t uid_t;
typedef __kernel_gid32_t gid_t;
typedef __kernel_uid16_t uid16_t;
typedef __kernel_gid16_t gid16_t;
typedef __kernel_loff_t loff_t;
typedef __kernel_size_t size_t;
typedef __kernel_ssize_t ssize_t;
typedef __kernel_ptrdiff_t ptrdiff_t;
typedef __kernel_time_t time_t;
typedef __kernel_clock_t clock_t;
typedef __kernel_caddr_t caddr_t;
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned char unchar;
typedef unsigned short ushort;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef __u8 u_int8_t;
typedef __s8 int8_t;
typedef __u16 u_int16_t;
typedef __s16 int16_t;
typedef __u32 u_int32_t;
typedef __s32 int32_t;
typedef __u8 uint8_t;
typedef __u16 uint16_t;
typedef __u32 uint32_t;
typedef __u64 uint64_t;
typedef __u64 u_int64_t;
typedef __s64 int64_t;
struct ustat {
__kernel_daddr_t f_tfree;
__kernel_ino_t f_tinode;
char f_fname[6];
char f_fpack[6];
};
# 15 "core_cia.c" 2
# 1 "/usr/src/linux-2.4.2/include/linux/pci.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/pci_ids.h" 1
# 268 "/usr/src/linux-2.4.2/include/linux/pci.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ioport.h" 1
struct resource {
const char *name;
unsigned long start, end;
unsigned long flags;
struct resource *parent, *sibling, *child;
};
struct resource_list {
struct resource_list *next;
struct resource *res;
struct pci_dev *dev;
};
extern struct resource ioport_resource;
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,
unsigned long size,
unsigned long min, unsigned long max,
unsigned long align,
void (*alignf)(void *, struct resource *, unsigned long),
void *alignf_data);
extern struct resource * __request_region(struct resource *, unsigned long
start, unsigned long n, const char *name);
extern int __check_region(struct resource *, unsigned long, unsigned long);
extern void __release_region(struct resource *, unsigned long, unsigned
long);
extern void autoirq_setup(int waittime);
extern int autoirq_report(int waittime);
# 286 "/usr/src/linux-2.4.2/include/linux/pci.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/list.h" 1
struct list_head {
struct list_head *next, *prev;
};
static __inline__ void __list_add(struct list_head * new,
struct list_head * prev,
struct list_head * next)
{
next->prev = new;
new->next = next;
new->prev = prev;
prev->next = new;
}
static __inline__ void list_add(struct list_head *new, struct list_head
*head)
{
__list_add(new, head, head->next);
}
static __inline__ void list_add_tail(struct list_head *new, struct list_head
*head)
{
__list_add(new, head->prev, head);
}
static __inline__ void __list_del(struct list_head * prev,
struct list_head * next)
{
next->prev = prev;
prev->next = next;
}
static __inline__ void list_del(struct list_head *entry)
{
__list_del(entry->prev, entry->next);
}
static __inline__ void list_del_init(struct list_head *entry)
{
__list_del(entry->prev, entry->next);
do { ( entry )->next = ( entry ); ( entry )->prev = ( entry ); } while (0)
;
}
static __inline__ int list_empty(struct list_head *head)
{
return head->next == head;
}
static __inline__ void list_splice(struct list_head *list, struct list_head
*head)
{
struct list_head *first = list->next;
if (first != list) {
struct list_head *last = list->prev;
struct list_head *at = head->next;
first->prev = head;
head->next = first;
last->next = at;
at->prev = last;
}
}
# 287 "/usr/src/linux-2.4.2/include/linux/pci.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/errno.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/errno.h" 1
# 4 "/usr/src/linux-2.4.2/include/linux/errno.h" 2
# 288 "/usr/src/linux-2.4.2/include/linux/pci.h" 2
struct pci_dev {
struct list_head global_list;
struct list_head bus_list;
struct pci_bus *bus;
struct pci_bus *subordinate;
void *sysdata;
struct proc_dir_entry *procent;
unsigned int devfn;
unsigned short vendor;
unsigned short device;
unsigned short subsystem_vendor;
unsigned short subsystem_device;
unsigned int class;
u8 hdr_type;
u8 rom_base_reg;
struct pci_driver *driver;
void *driver_data;
dma_addr_t dma_mask;
unsigned short vendor_compatible[4 ];
unsigned short device_compatible[4 ];
unsigned int irq;
struct resource resource[12 ];
struct resource dma_resource[2 ];
struct resource irq_resource[2 ];
char name[80];
char slot_name[8];
int active;
int ro;
unsigned short regs;
int (*prepare)(struct pci_dev *dev);
int (*activate)(struct pci_dev *dev);
int (*deactivate)(struct pci_dev *dev);
};
struct pci_bus {
struct list_head node;
struct pci_bus *parent;
struct list_head children;
struct list_head devices;
struct pci_dev *self;
struct resource *resource[4];
struct pci_ops *ops;
void *sysdata;
struct proc_dir_entry *procdir;
unsigned char number;
unsigned char primary;
unsigned char secondary;
unsigned char subordinate;
char name[48];
unsigned short vendor;
unsigned short device;
unsigned int serial;
unsigned char pnpver;
unsigned char productver;
unsigned char checksum;
unsigned char pad1;
};
extern struct list_head pci_root_buses;
extern struct list_head pci_devices;
struct pci_ops {
int (*read_byte)(struct pci_dev *, int where, u8 *val);
int (*read_word)(struct pci_dev *, int where, u16 *val);
int (*read_dword)(struct pci_dev *, int where, u32 *val);
int (*write_byte)(struct pci_dev *, int where, u8 val);
int (*write_word)(struct pci_dev *, int where, u16 val);
int (*write_dword)(struct pci_dev *, int where, u32 val);
};
struct pbus_set_ranges_data
{
int found_vga;
unsigned long io_start, io_end;
unsigned long mem_start, mem_end;
};
struct pci_device_id {
unsigned int vendor, device;
unsigned int subvendor, subdevice;
unsigned int class, class_mask;
unsigned long driver_data;
};
struct pci_driver {
struct list_head node;
char *name;
const struct pci_device_id *id_table;
int (*probe)(struct pci_dev *dev, const struct pci_device_id *id);
void (*remove)(struct pci_dev *dev);
void (*suspend)(struct pci_dev *dev);
void (*resume)(struct pci_dev *dev);
};
void pcibios_init(void);
void pcibios_fixup_bus(struct pci_bus *);
int pcibios_enable_device(struct pci_dev *);
char *pcibios_setup (char *str);
void pcibios_align_resource(void *, struct resource *, unsigned long);
void pcibios_update_resource(struct pci_dev *, struct resource *,
struct resource *, int);
void pcibios_update_irq(struct pci_dev *, int irq);
void pcibios_fixup_pbus_ranges(struct pci_bus *, struct pbus_set_ranges_data
*);
int pcibios_present(void);
int pcibios_read_config_byte (unsigned char bus, unsigned char dev_fn,
unsigned char where, unsigned char *val);
int pcibios_read_config_word (unsigned char bus, unsigned char dev_fn,
unsigned char where, unsigned short *val);
int pcibios_read_config_dword (unsigned char bus, unsigned char dev_fn,
unsigned char where, unsigned int *val);
int pcibios_write_config_byte (unsigned char bus, unsigned char dev_fn,
unsigned char where, unsigned char val);
int pcibios_write_config_word (unsigned char bus, unsigned char dev_fn,
unsigned char where, unsigned short val);
int pcibios_write_config_dword (unsigned char bus, unsigned char dev_fn,
unsigned char where, unsigned int val);
int pcibios_find_class (unsigned int class_code, unsigned short index,
unsigned char *bus, unsigned char *dev_fn);
int pcibios_find_device (unsigned short vendor, unsigned short dev_id,
unsigned short index, unsigned char *bus,
unsigned char *dev_fn);
void pci_init(void);
int pci_bus_exists(const struct list_head *list, int nr);
struct pci_bus *pci_scan_bus(int bus, struct pci_ops *ops, void *sysdata);
struct pci_bus *pci_alloc_primary_bus(int bus);
struct pci_dev *pci_scan_slot(struct pci_dev *temp);
int pci_proc_attach_device(struct pci_dev *dev);
int pci_proc_detach_device(struct pci_dev *dev);
void pci_name_device(struct pci_dev *dev);
char *pci_class_name(u32 class);
void pci_read_bridge_bases(struct pci_bus *child);
struct resource *pci_find_parent_resource(const struct pci_dev *dev, struct
resource *res);
int pci_setup_device(struct pci_dev *dev);
int pci_get_interrupt_pin(struct pci_dev *dev, struct pci_dev **bridge);
struct pci_dev *pci_find_device (unsigned int vendor, unsigned int device,
const struct pci_dev *from);
struct pci_dev *pci_find_subsys (unsigned int vendor, unsigned int device,
unsigned int ss_vendor, unsigned int ss_device,
const struct pci_dev *from);
struct pci_dev *pci_find_class (unsigned int class, const struct pci_dev
*from);
struct pci_dev *pci_find_slot (unsigned int bus, unsigned int devfn);
int pci_find_capability (struct pci_dev *dev, int cap);
int pci_read_config_byte(struct pci_dev *dev, int where, u8 *val);
int pci_read_config_word(struct pci_dev *dev, int where, u16 *val);
int pci_read_config_dword(struct pci_dev *dev, int where, u32 *val);
int pci_write_config_byte(struct pci_dev *dev, int where, u8 val);
int pci_write_config_word(struct pci_dev *dev, int where, u16 val);
int pci_write_config_dword(struct pci_dev *dev, int where, u32 val);
int pci_enable_device(struct pci_dev *dev);
void pci_set_master(struct pci_dev *dev);
int pci_set_power_state(struct pci_dev *dev, int state);
int pci_assign_resource(struct pci_dev *dev, int i);
int pci_claim_resource(struct pci_dev *, int);
void pci_assign_unassigned_resources(void);
void pdev_enable_device(struct pci_dev *);
void pdev_sort_resources(struct pci_dev *, struct resource_list *, u32);
unsigned long pci_bridge_check_io(struct pci_dev *);
void pci_fixup_irqs(u8 (*)(struct pci_dev *, u8 *),
int (*)(struct pci_dev *, u8, u8));
int pci_register_driver(struct pci_driver *);
void pci_unregister_driver(struct pci_driver *);
void pci_insert_device(struct pci_dev *, struct pci_bus *);
void pci_remove_device(struct pci_dev *);
struct pci_driver *pci_dev_driver(const struct pci_dev *);
const struct pci_device_id *pci_match_device(const struct pci_device_id
*ids, const struct pci_dev *dev);
# 1 "/usr/src/linux-2.4.2/include/asm/pci.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/spinlock.h" 1
typedef struct { int gcc_is_buggy; } spinlock_t;
# 99 "/usr/src/linux-2.4.2/include/linux/spinlock.h"
typedef struct { int gcc_is_buggy; } rwlock_t;
# 6 "/usr/src/linux-2.4.2/include/asm/pci.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/scatterlist.h" 1
struct scatterlist {
char *address;
char *alt_address;
dma_addr_t dma_address;
unsigned int length;
unsigned int dma_length;
};
# 7 "/usr/src/linux-2.4.2/include/asm/pci.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/machvec.h" 1
struct task_struct;
struct mm_struct;
struct pt_regs;
struct vm_area_struct;
struct linux_hose_info;
struct pci_dev;
struct pci_ops;
struct pci_controler;
struct alpha_machine_vector
{
unsigned long hae_cache;
unsigned long *hae_register;
int nr_irqs;
int rtc_port;
int max_asn;
unsigned long max_dma_address;
unsigned long irq_probe_mask;
unsigned long iack_sc;
unsigned long min_io_address;
unsigned long min_mem_address;
void (*mv_pci_tbi)(struct pci_controler *hose,
dma_addr_t start, dma_addr_t end);
unsigned int (*mv_inb)(unsigned long);
unsigned int (*mv_inw)(unsigned long);
unsigned int (*mv_inl)(unsigned long);
void (*mv_outb)(unsigned char, unsigned long);
void (*mv_outw)(unsigned short, unsigned long);
void (*mv_outl)(unsigned int, unsigned long);
unsigned long (*mv_readb)(unsigned long);
unsigned long (*mv_readw)(unsigned long);
unsigned long (*mv_readl)(unsigned long);
unsigned long (*mv_readq)(unsigned long);
void (*mv_writeb)(unsigned char, unsigned long);
void (*mv_writew)(unsigned short, unsigned long);
void (*mv_writel)(unsigned int, unsigned long);
void (*mv_writeq)(unsigned long, unsigned long);
unsigned long (*mv_ioremap)(unsigned long);
int (*mv_is_ioaddr)(unsigned long);
void (*mv_switch_mm)(struct mm_struct *, struct mm_struct *,
struct task_struct *, long);
void (*mv_activate_mm)(struct mm_struct *, struct mm_struct *);
void (*mv_flush_tlb_current)(struct mm_struct *);
void (*mv_flush_tlb_current_page)(struct mm_struct * mm,
struct vm_area_struct *vma,
unsigned long addr);
void (*update_irq_hw)(unsigned long, unsigned long, int);
void (*ack_irq)(unsigned long);
void (*device_interrupt)(unsigned long vector, struct pt_regs *regs);
void (*machine_check)(u64 vector, u64 la, struct pt_regs *regs);
void (*init_arch)(void);
void (*init_irq)(void);
void (*init_rtc)(void);
void (*init_pci)(void);
void (*kill_arch)(int);
u8 (*pci_swizzle)(struct pci_dev *, u8 *);
int (*pci_map_irq)(struct pci_dev *, u8, u8);
struct pci_ops *pci_ops;
const char *vector_name;
union {
struct {
unsigned long gru_int_req_bits;
} cia;
struct {
unsigned long gamma_bias;
} t2;
struct {
unsigned int route_tab;
} sio;
} sys;
};
extern struct alpha_machine_vector alpha_mv;
# 8 "/usr/src/linux-2.4.2/include/asm/pci.h" 2
struct pci_dev;
struct pci_bus;
struct resource;
struct pci_iommu_arena;
struct pci_controler {
struct pci_controler *next;
struct pci_bus *bus;
struct resource *io_space;
struct resource *mem_space;
unsigned long sparse_mem_base;
unsigned long dense_mem_base;
unsigned long sparse_io_base;
unsigned long dense_io_base;
unsigned long config_space_base;
unsigned int index;
unsigned int first_busno;
unsigned int last_busno;
struct pci_iommu_arena *sg_pci;
struct pci_iommu_arena *sg_isa;
};
extern void pcibios_set_master(struct pci_dev *dev);
extern inline void pcibios_penalize_isa_irq(int irq)
{
}
extern void *pci_alloc_consistent(struct pci_dev *, long, dma_addr_t *);
extern void pci_free_consistent(struct pci_dev *, long, void *, dma_addr_t);
extern dma_addr_t pci_map_single(struct pci_dev *, void *, long, int);
extern void pci_unmap_single(struct pci_dev *, dma_addr_t, long, int);
extern int pci_map_sg(struct pci_dev *, struct scatterlist *, int, int);
extern void pci_unmap_sg(struct pci_dev *, struct scatterlist *, int, int);
extern inline void
pci_dma_sync_single(struct pci_dev *dev, dma_addr_t dma_addr, long size,
int direction)
{
}
extern inline void
pci_dma_sync_sg(struct pci_dev *dev, struct scatterlist *sg, int nents,
int direction)
{
}
extern int pci_dma_supported(struct pci_dev *hwdev, dma_addr_t mask);
# 555 "/usr/src/linux-2.4.2/include/linux/pci.h" 2
# 600 "/usr/src/linux-2.4.2/include/linux/pci.h"
static inline int pci_module_init(struct pci_driver *drv)
{
int rc = pci_register_driver (drv);
if (rc > 0)
return 0;
pci_unregister_driver (drv);
return - 19 ;
}
static inline void *pci_get_drvdata (struct pci_dev *pdev)
{
return pdev->driver_data;
}
static inline void pci_set_drvdata (struct pci_dev *pdev, void *data)
{
pdev->driver_data = data;
}
struct pci_fixup {
int pass;
u16 vendor, device;
void (*hook)(struct pci_dev *dev);
};
extern struct pci_fixup pcibios_fixups[];
void pci_fixup_device(int pass, struct pci_dev *dev);
extern int pci_pci_problems;
# 16 "core_cia.c" 2
# 1 "/usr/src/linux-2.4.2/include/linux/sched.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/param.h" 1
# 4 "/usr/src/linux-2.4.2/include/linux/sched.h" 2
extern unsigned long event;
# 1 "/usr/src/linux-2.4.2/include/linux/binfmts.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/ptrace.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/ptrace.h" 1
struct pt_regs {
unsigned long r0;
unsigned long r1;
unsigned long r2;
unsigned long r3;
unsigned long r4;
unsigned long r5;
unsigned long r6;
unsigned long r7;
unsigned long r8;
unsigned long r19;
unsigned long r20;
unsigned long r21;
unsigned long r22;
unsigned long r23;
unsigned long r24;
unsigned long r25;
unsigned long r26;
unsigned long r27;
unsigned long r28;
unsigned long hae;
unsigned long trap_a0;
unsigned long trap_a1;
unsigned long trap_a2;
unsigned long ps;
unsigned long pc;
unsigned long gp;
unsigned long r16;
unsigned long r17;
unsigned long r18;
};
struct switch_stack {
unsigned long r9;
unsigned long r10;
unsigned long r11;
unsigned long r12;
unsigned long r13;
unsigned long r14;
unsigned long r15;
unsigned long r26;
unsigned long fp[32];
};
extern void show_regs(struct pt_regs *);
# 24 "/usr/src/linux-2.4.2/include/linux/ptrace.h" 2
# 4 "/usr/src/linux-2.4.2/include/linux/binfmts.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/capability.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/fs.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/limits.h" 1
# 11 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/wait.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/page.h" 1
extern void clear_page(void *page);
extern void copy_page(void * _to, void * _from);
typedef struct { unsigned long pte; } pte_t;
typedef struct { unsigned long pmd; } pmd_t;
typedef struct { unsigned long pgd; } pgd_t;
typedef struct { unsigned long pgprot; } pgprot_t;
# 57 "/usr/src/linux-2.4.2/include/asm/page.h"
extern __inline__ int get_order(unsigned long size)
{
int order;
size = (size-1) >> (13 -1);
order = -1;
do {
size >>= 1;
order++;
} while (size);
return order;
}
# 18 "/usr/src/linux-2.4.2/include/linux/wait.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/processor.h" 1
typedef struct {
unsigned long seg;
} mm_segment_t;
struct thread_struct {
unsigned long ksp;
unsigned long usp;
unsigned long ptbr;
unsigned int pcc;
unsigned int asn;
unsigned long unique;
unsigned long pal_flags;
unsigned long res1, res2;
unsigned long flags;
mm_segment_t fs;
unsigned long bpt_addr[2];
unsigned int bpt_insn[2];
int bpt_nsaved;
};
extern inline unsigned long thread_saved_pc(struct thread_struct *t)
{
unsigned long fp, sp = t->ksp, base = (unsigned long)t;
if (sp > base && sp+6*8 < base + 16*1024) {
fp = ((unsigned long*)sp)[6];
if (fp > sp && fp < base + 16*1024)
return *(unsigned long *)fp;
}
return 0;
}
extern void start_thread(struct pt_regs *, unsigned long, unsigned long);
struct task_struct;
extern void release_thread(struct task_struct *);
extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long
flags);
unsigned long get_wchan(struct task_struct *p);
# 19 "/usr/src/linux-2.4.2/include/linux/wait.h" 2
struct __wait_queue {
unsigned int flags;
struct task_struct * task;
struct list_head task_list;
};
typedef struct __wait_queue wait_queue_t;
# 58 "/usr/src/linux-2.4.2/include/linux/wait.h"
struct __wait_queue_head {
spinlock_t lock;
struct list_head task_list;
};
typedef struct __wait_queue_head wait_queue_head_t;
# 114 "/usr/src/linux-2.4.2/include/linux/wait.h"
static inline void init_waitqueue_head(wait_queue_head_t *q)
{
q->lock = (spinlock_t) { 0 } ;
do { ( &q->task_list )->next = ( &q->task_list ); ( &q->task_list )->prev =
( &q->task_list ); } while (0) ;
}
static inline void init_waitqueue_entry(wait_queue_t *q, struct task_struct
*p)
{
q->flags = 0;
q->task = p;
}
static inline int waitqueue_active(wait_queue_head_t *q)
{
return !list_empty(&q->task_list);
}
static inline void __add_wait_queue(wait_queue_head_t *head, wait_queue_t
*new)
{
list_add(&new->task_list, &head->task_list);
}
static inline void __add_wait_queue_tail(wait_queue_head_t *head,
wait_queue_t *new)
{
list_add_tail(&new->task_list, &head->task_list);
}
static inline void __remove_wait_queue(wait_queue_head_t *head,
wait_queue_t *old)
{
list_del(&old->task_list);
}
# 12 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/vfs.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/statfs.h" 1
typedef __kernel_fsid_t fsid_t;
struct statfs {
int f_type;
int f_bsize;
int f_blocks;
int f_bfree;
int f_bavail;
int f_files;
int f_ffree;
__kernel_fsid_t f_fsid;
int f_namelen;
int f_spare[6];
};
# 4 "/usr/src/linux-2.4.2/include/linux/vfs.h" 2
# 14 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/net.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/socket.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/socket.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/sockios.h" 1
# 4 "/usr/src/linux-2.4.2/include/asm/socket.h" 2
# 6 "/usr/src/linux-2.4.2/include/linux/socket.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/sockios.h" 1
# 7 "/usr/src/linux-2.4.2/include/linux/socket.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/uio.h" 1
struct iovec
{
void *iov_base;
__kernel_size_t iov_len;
};
# 8 "/usr/src/linux-2.4.2/include/linux/socket.h" 2
typedef unsigned short sa_family_t;
struct sockaddr {
sa_family_t sa_family;
char sa_data[14];
};
struct linger {
int l_onoff;
int l_linger;
};
struct msghdr {
void * msg_name;
int msg_namelen;
struct iovec * msg_iov;
__kernel_size_t msg_iovlen;
void * msg_control;
__kernel_size_t msg_controllen;
unsigned msg_flags;
};
struct cmsghdr {
__kernel_size_t cmsg_len;
int cmsg_level;
int cmsg_type;
};
static inline struct cmsghdr * __cmsg_nxthdr(void *__ctl, __kernel_size_t
__size,
struct cmsghdr *__cmsg)
{
struct cmsghdr * __ptr;
__ptr = (struct cmsghdr*)(((unsigned char *) __cmsg) + ( ((
__cmsg->cmsg_len )+sizeof(long)-1) & ~(sizeof(long)-1) ) );
if ((unsigned long)((char*)(__ptr+1) - (char *) __ctl) > __size)
return (struct cmsghdr *)0;
return __ptr;
}
static inline struct cmsghdr * cmsg_nxthdr (struct msghdr *__msg, struct
cmsghdr *__cmsg)
{
return __cmsg_nxthdr(__msg->msg_control, __msg->msg_controllen, __cmsg);
}
struct ucred {
__u32 pid;
__u32 uid;
__u32 gid;
};
extern int memcpy_fromiovec(unsigned char *kdata, struct iovec *iov, int
len);
extern int memcpy_fromiovecend(unsigned char *kdata, struct iovec *iov,
int offset, int len);
extern int csum_partial_copy_fromiovecend(unsigned char *kdata,
struct iovec *iov,
int offset,
unsigned int len, int *csump);
extern int verify_iovec(struct msghdr *m, struct iovec *iov, char *address,
int mode);
extern int memcpy_toiovec(struct iovec *v, unsigned char *kdata, int len);
extern void memcpy_tokerneliovec(struct iovec *iov, unsigned char *kdata,
int len);
extern int move_addr_to_user(void *kaddr, int klen, void *uaddr, int *ulen);
extern int move_addr_to_kernel(void *uaddr, int ulen, void *kaddr);
extern int put_cmsg(struct msghdr*, int level, int type, int len, void
*data);
# 22 "/usr/src/linux-2.4.2/include/linux/net.h" 2
struct poll_table_struct;
typedef enum {
SS_FREE = 0,
SS_UNCONNECTED,
SS_CONNECTING,
SS_CONNECTED,
SS_DISCONNECTING
} socket_state;
struct socket
{
socket_state state;
unsigned long flags;
struct proto_ops *ops;
struct inode *inode;
struct fasync_struct *fasync_list;
struct file *file;
struct sock *sk;
wait_queue_head_t wait;
short type;
unsigned char passcred;
};
struct scm_cookie;
struct vm_area_struct;
struct proto_ops {
int family;
int (*release) (struct socket *sock);
int (*bind) (struct socket *sock, struct sockaddr *umyaddr,
int sockaddr_len);
int (*connect) (struct socket *sock, struct sockaddr *uservaddr,
int sockaddr_len, int flags);
int (*socketpair) (struct socket *sock1, struct socket *sock2);
int (*accept) (struct socket *sock, struct socket *newsock,
int flags);
int (*getname) (struct socket *sock, struct sockaddr *uaddr,
int *usockaddr_len, int peer);
unsigned int (*poll) (struct file *file, struct socket *sock, struct
poll_table_struct *wait);
int (*ioctl) (struct socket *sock, unsigned int cmd,
unsigned long arg);
int (*listen) (struct socket *sock, int len);
int (*shutdown) (struct socket *sock, int flags);
int (*setsockopt) (struct socket *sock, int level, int optname,
char *optval, int optlen);
int (*getsockopt) (struct socket *sock, int level, int optname,
char *optval, int *optlen);
int (*sendmsg) (struct socket *sock, struct msghdr *m, int total_len,
struct scm_cookie *scm);
int (*recvmsg) (struct socket *sock, struct msghdr *m, int total_len,
int flags, struct scm_cookie *scm);
int (*mmap) (struct file *file, struct socket *sock, struct
vm_area_struct * vma);
};
struct net_proto_family
{
int family;
int (*create)(struct socket *sock, int protocol);
short authentication;
short encryption;
short encrypt_net;
};
struct net_proto
{
const char *name;
void (*init_func)(struct net_proto *);
};
extern int sock_wake_async(struct socket *sk, int how, int band);
extern int sock_register(struct net_proto_family *fam);
extern int sock_unregister(int family);
extern struct socket *sock_alloc(void);
extern int sock_create(int family, int type, int proto, struct socket **);
extern void sock_release(struct socket *);
extern int sock_sendmsg(struct socket *, struct msghdr *m, int len);
extern int sock_recvmsg(struct socket *, struct msghdr *m, int len, int
flags);
extern int sock_readv_writev(int type, struct inode * inode, struct file *
file,
const struct iovec * iov, long count, long size);
extern int net_ratelimit(void);
extern unsigned long net_random(void);
extern void net_srandom(unsigned long);
# 222 "/usr/src/linux-2.4.2/include/linux/net.h"
# 15 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/kdev_t.h" 1
typedef unsigned short kdev_t;
extern const char * kdevname(kdev_t);
static inline unsigned int kdev_t_to_nr(kdev_t dev) {
return (((unsigned int) (( dev ) >> 8 )) <<8) | ((unsigned int) (( dev ) &
((1U << 8 ) - 1) )) ;
}
static inline kdev_t to_kdev_t(int dev)
{
int major, minor;
major = (dev >> 8);
minor = (dev & 0xff);
return ((( major ) << 8 ) | ( minor )) ;
}
# 113 "/usr/src/linux-2.4.2/include/linux/kdev_t.h"
# 16 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ioctl.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/ioctl.h" 1
# 4 "/usr/src/linux-2.4.2/include/linux/ioctl.h" 2
# 17 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/dcache.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/atomic.h" 1
typedef struct { volatile int counter; } atomic_t;
static __inline__ void atomic_add(int i, atomic_t * v)
{
unsigned long temp;
__asm__ __volatile__(
"1: ldl_l %0,%1\n"
" addl %0,%2,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (v->counter)
:"Ir" (i), "m" (v->counter));
}
static __inline__ void atomic_sub(int i, atomic_t * v)
{
unsigned long temp;
__asm__ __volatile__(
"1: ldl_l %0,%1\n"
" subl %0,%2,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (v->counter)
:"Ir" (i), "m" (v->counter));
}
static __inline__ long atomic_add_return(int i, atomic_t * v)
{
long temp, result;
__asm__ __volatile__(
"1: ldl_l %0,%1\n"
" addl %0,%3,%2\n"
" addl %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
" mb\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (v->counter), "=&r" (result)
:"Ir" (i), "m" (v->counter) : "memory");
return result;
}
static __inline__ long atomic_sub_return(int i, atomic_t * v)
{
long temp, result;
__asm__ __volatile__(
"1: ldl_l %0,%1\n"
" subl %0,%3,%2\n"
" subl %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
" mb\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (v->counter), "=&r" (result)
:"Ir" (i), "m" (v->counter) : "memory");
return result;
}
# 6 "/usr/src/linux-2.4.2/include/linux/dcache.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/mount.h" 1
struct vfsmount
{
struct dentry *mnt_mountpoint;
struct dentry *mnt_root;
struct vfsmount *mnt_parent;
struct list_head mnt_instances;
struct list_head mnt_clash;
struct super_block *mnt_sb;
struct list_head mnt_mounts;
struct list_head mnt_child;
atomic_t mnt_count;
int mnt_flags;
char *mnt_devname;
struct list_head mnt_list;
uid_t mnt_owner;
};
static inline struct vfsmount *mntget(struct vfsmount *mnt)
{
if (mnt)
atomic_add(1,( &mnt->mnt_count )) ;
return mnt;
}
static inline void mntput(struct vfsmount *mnt)
{
if (mnt) {
if ((atomic_sub_return(1, ( &mnt->mnt_count )) == 0) )
__asm__ __volatile__("call_pal 129 # bugchk") ;
}
}
# 7 "/usr/src/linux-2.4.2/include/linux/dcache.h" 2
struct qstr {
const unsigned char * name;
unsigned int len;
unsigned int hash;
};
struct dentry_stat_t {
int nr_dentry;
int nr_unused;
int age_limit;
int want_pages;
int dummy[2];
};
extern struct dentry_stat_t dentry_stat;
static __inline__ unsigned long partial_name_hash(unsigned long c, unsigned
long prevhash)
{
return (prevhash + (c << 4) + (c >> 4)) * 11;
}
static __inline__ unsigned long end_name_hash(unsigned long hash)
{
return (unsigned int) hash;
}
static __inline__ unsigned int full_name_hash(const unsigned char * name,
unsigned int len)
{
unsigned long hash = 0 ;
while (len--)
hash = partial_name_hash(*name++, hash);
return end_name_hash(hash);
}
struct dentry {
atomic_t d_count;
unsigned int d_flags;
struct inode * d_inode;
struct dentry * d_parent;
struct list_head d_vfsmnt;
struct list_head d_hash;
struct list_head d_lru;
struct list_head d_child;
struct list_head d_subdirs;
struct list_head d_alias;
struct qstr d_name;
unsigned long d_time;
struct dentry_operations *d_op;
struct super_block * d_sb;
unsigned long d_reftime;
void * d_fsdata;
unsigned char d_iname[16 ];
};
struct dentry_operations {
int (*d_revalidate)(struct dentry *, int);
int (*d_hash) (struct dentry *, struct qstr *);
int (*d_compare) (struct dentry *, struct qstr *, struct qstr *);
int (*d_delete)(struct dentry *);
void (*d_release)(struct dentry *);
void (*d_iput)(struct dentry *, struct inode *);
};
extern spinlock_t dcache_lock;
static __inline__ void d_drop(struct dentry * dentry)
{
(void)( &dcache_lock ) ;
list_del(&dentry->d_hash);
do { ( &dentry->d_hash )->next = ( &dentry->d_hash ); (
&dentry->d_hash )->prev = ( &dentry->d_hash ); } while (0) ;
do { } while(0) ;
}
static __inline__ int dname_external(struct dentry *d)
{
return d->d_name.name != d->d_iname;
}
extern void d_instantiate(struct dentry *, struct inode *);
extern void d_delete(struct dentry *);
extern struct dentry * d_alloc(struct dentry *, const struct qstr *);
extern void shrink_dcache_sb(struct super_block *);
extern void shrink_dcache_parent(struct dentry *);
extern int d_invalidate(struct dentry *);
struct zone_struct;
extern void shrink_dcache_memory(int, unsigned int);
extern void prune_dcache(int);
extern void shrink_icache_memory(int, int);
extern void prune_icache(int);
extern struct dentry * d_alloc_root(struct inode *);
extern void d_genocide(struct dentry *);
extern struct dentry *d_find_alias(struct inode *);
extern void d_prune_aliases(struct inode *);
extern int have_submounts(struct dentry *);
extern void d_rehash(struct dentry *);
static __inline__ void d_add(struct dentry * entry, struct inode * inode)
{
d_instantiate(entry, inode);
d_rehash(entry);
}
extern void d_move(struct dentry *, struct dentry *);
extern struct dentry * d_lookup(struct dentry *, struct qstr *);
extern int d_validate(struct dentry *, struct dentry *, unsigned int,
unsigned int);
extern char * __d_path(struct dentry *, struct vfsmount *, struct dentry *,
struct vfsmount *, char *, int);
static __inline__ struct dentry * dget(struct dentry *dentry)
{
if (dentry) {
if (! (( &dentry->d_count )->counter) )
__asm__ __volatile__("call_pal 129 # bugchk") ;
atomic_add(1,( &dentry->d_count )) ;
}
return dentry;
}
extern struct dentry * dget_locked(struct dentry *);
static __inline__ int d_unhashed(struct dentry *dentry)
{
return list_empty(&dentry->d_hash);
}
extern void dput(struct dentry *);
static __inline__ int d_mountpoint(struct dentry *dentry)
{
return !list_empty(&dentry->d_vfsmnt);
}
# 19 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/stat.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/stat.h" 1
struct __old_kernel_stat {
unsigned int st_dev;
unsigned int st_ino;
unsigned int st_mode;
unsigned int st_nlink;
unsigned int st_uid;
unsigned int st_gid;
unsigned int st_rdev;
long st_size;
unsigned long st_atime;
unsigned long st_mtime;
unsigned long st_ctime;
unsigned int st_blksize;
int st_blocks;
unsigned int st_flags;
unsigned int st_gen;
};
struct stat {
unsigned int st_dev;
unsigned int st_ino;
unsigned int st_mode;
unsigned int st_nlink;
unsigned int st_uid;
unsigned int st_gid;
unsigned int st_rdev;
long st_size;
unsigned long st_atime;
unsigned long st_mtime;
unsigned long st_ctime;
unsigned int st_blksize;
int st_blocks;
unsigned int st_flags;
unsigned int st_gen;
};
# 6 "/usr/src/linux-2.4.2/include/linux/stat.h" 2
# 20 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/cache.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/cache.h" 1
# 4 "/usr/src/linux-2.4.2/include/linux/cache.h" 2
# 21 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/string.h" 1
extern char * ___strtok;
extern char * strpbrk(const char *,const char *);
extern char * strtok(char *,const char *);
extern char * strsep(char **,const char *);
extern __kernel_size_t strspn(const char *,const char *);
# 1 "/usr/src/linux-2.4.2/include/asm/string.h" 1
extern void * memcpy(void *, const void *, size_t);
extern void * memmove(void *, const void *, size_t);
extern void * __memcpy(void *, const void *, size_t);
extern void * __constant_c_memset(void *, unsigned long, size_t);
extern void * __memset(void *, int, size_t);
extern void * memset(void *, int, size_t);
extern char * strcpy(char *,const char *);
extern char * strncpy(char *, const char *, size_t);
extern char * strcat(char *, const char *);
extern char * strncat(char *, const char *, size_t);
extern char * strchr(const char *,int);
extern char * strrchr(const char *,int);
extern size_t strlen(const char *);
extern void * memchr(const void *, int, size_t);
extern void * __memsetw(void *dest, unsigned short, size_t count);
extern int strcasecmp(const char *, const char *);
# 21 "/usr/src/linux-2.4.2/include/linux/string.h" 2
extern int strcmp(const char *,const char *);
extern int strncmp(const char *,const char *,__kernel_size_t);
extern int strnicmp(const char *, const char *, __kernel_size_t);
extern char * strstr(const char *,const char *);
extern __kernel_size_t strnlen(const char *,__kernel_size_t);
extern void * memscan(void *,int,__kernel_size_t);
extern int memcmp(const void *,const void *,__kernel_size_t);
# 23 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/bitops.h" 1
extern __inline__ void
set_bit(unsigned long nr, volatile void * addr)
{
unsigned long temp;
int *m = ((int *) addr) + (nr >> 5);
__asm__ __volatile__(
"1: ldl_l %0,%3\n"
" bis %0,%2,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (*m)
:"Ir" (1UL << (nr & 31)), "m" (*m));
}
extern __inline__ void
__set_bit(unsigned long nr, volatile void * addr)
{
int *m = ((int *) addr) + (nr >> 5);
*m |= 1UL << (nr & 31);
}
extern __inline__ void
clear_bit(unsigned long nr, volatile void * addr)
{
unsigned long temp;
int *m = ((int *) addr) + (nr >> 5);
__asm__ __volatile__(
"1: ldl_l %0,%3\n"
" and %0,%2,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (*m)
:"Ir" (~(1UL << (nr & 31))), "m" (*m));
}
extern __inline__ void
change_bit(unsigned long nr, volatile void * addr)
{
unsigned long temp;
int *m = ((int *) addr) + (nr >> 5);
__asm__ __volatile__(
"1: ldl_l %0,%3\n"
" xor %0,%2,%0\n"
" stl_c %0,%1\n"
" beq %0,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
:"=&r" (temp), "=m" (*m)
:"Ir" (1UL << (nr & 31)), "m" (*m));
}
extern __inline__ int
test_and_set_bit(unsigned long nr, volatile void *addr)
{
unsigned long oldbit;
unsigned long temp;
int *m = ((int *) addr) + (nr >> 5);
__asm__ __volatile__(
"1: ldl_l %0,%4\n"
" and %0,%3,%2\n"
" bne %2,2f\n"
" xor %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,3f\n"
"2:\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
:"=&r" (temp), "=m" (*m), "=&r" (oldbit)
:"Ir" (1UL << (nr & 31)), "m" (*m) : "memory");
return oldbit != 0;
}
extern __inline__ int
__test_and_set_bit(unsigned long nr, volatile void * addr)
{
unsigned long mask = 1 << (nr & 0x1f);
int *m = ((int *) addr) + (nr >> 5);
int old = *m;
*m = old | mask;
return (old & mask) != 0;
}
extern __inline__ int
test_and_clear_bit(unsigned long nr, volatile void * addr)
{
unsigned long oldbit;
unsigned long temp;
int *m = ((int *) addr) + (nr >> 5);
__asm__ __volatile__(
"1: ldl_l %0,%4\n"
" and %0,%3,%2\n"
" beq %2,2f\n"
" xor %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,3f\n"
"2:\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
:"=&r" (temp), "=m" (*m), "=&r" (oldbit)
:"Ir" (1UL << (nr & 31)), "m" (*m) : "memory");
return oldbit != 0;
}
extern __inline__ int
__test_and_clear_bit(unsigned long nr, volatile void * addr)
{
unsigned long mask = 1 << (nr & 0x1f);
int *m = ((int *) addr) + (nr >> 5);
int old = *m;
*m = old & ~mask;
return (old & mask) != 0;
}
extern __inline__ int
test_and_change_bit(unsigned long nr, volatile void * addr)
{
unsigned long oldbit;
unsigned long temp;
int *m = ((int *) addr) + (nr >> 5);
__asm__ __volatile__(
"1: ldl_l %0,%4\n"
" and %0,%3,%2\n"
" xor %0,%3,%0\n"
" stl_c %0,%1\n"
" beq %0,3f\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
:"=&r" (temp), "=m" (*m), "=&r" (oldbit)
:"Ir" (1UL << (nr & 31)), "m" (*m) : "memory");
return oldbit != 0;
}
extern __inline__ int
test_bit(int nr, volatile void * addr)
{
return (1UL & (((const int *) addr)[nr >> 5] >> (nr & 31))) != 0UL;
}
extern inline unsigned long ffz_b(unsigned long x)
{
unsigned long sum = 0;
x = ~x & -~x;
if (x & 0xF0) sum += 4;
if (x & 0xCC) sum += 2;
if (x & 0xAA) sum += 1;
return sum;
}
extern inline unsigned long ffz(unsigned long word)
{
unsigned long bits, qofs, bofs;
__asm__("cmpbge %1,%2,%0" : "=r"(bits) : "r"(word), "r"(~0UL));
qofs = ffz_b(bits);
__asm__("extbl %1,%2,%0" : "=r"(bits) : "r"(word), "r"(qofs));
bofs = ffz_b(bits);
return qofs*8 + bofs;
}
extern inline int ffs(int word)
{
int result = ffz(~word);
return word ? result+1 : 0;
}
# 273 "/usr/src/linux-2.4.2/include/asm/bitops.h"
extern inline unsigned long
find_next_zero_bit(void * addr, unsigned long size, unsigned long offset)
{
unsigned long * p = ((unsigned long *) addr) + (offset >> 6);
unsigned long result = offset & ~63UL;
unsigned long tmp;
if (offset >= size)
return size;
size -= result;
offset &= 63UL;
if (offset) {
tmp = *(p++);
tmp |= ~0UL >> (64-offset);
if (size < 64)
goto found_first;
if (~tmp)
goto found_middle;
size -= 64;
result += 64;
}
while (size & ~63UL) {
if (~(tmp = *(p++)))
goto found_middle;
result += 64;
size -= 64;
}
if (!size)
return result;
tmp = *p;
found_first:
tmp |= ~0UL << size;
if (tmp == ~0UL)
return result + size;
found_middle:
return result + ffz(tmp);
}
# 26 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
struct poll_table_struct;
struct files_stat_struct {
int nr_files;
int nr_free_files;
int max_files;
};
extern struct files_stat_struct files_stat;
struct inodes_stat_t {
int nr_inodes;
int nr_unused;
int dummy[5];
};
extern struct inodes_stat_t inodes_stat;
extern int max_super_blocks, nr_super_blocks;
extern int leases_enable, dir_notify_enable, lease_break_time;
# 1 "/usr/src/linux-2.4.2/include/asm/semaphore.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/current.h" 1
register struct task_struct *current __asm__("$8");
# 11 "/usr/src/linux-2.4.2/include/asm/semaphore.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/system.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/pal.h" 1
# 5 "/usr/src/linux-2.4.2/include/asm/system.h" 2
struct el_common {
unsigned int size;
int sbz1 : 30;
int err2 : 1;
int retry : 1;
unsigned int proc_offset;
unsigned int sys_offset;
unsigned long code;
};
struct el_common_EV5_uncorrectable_mcheck {
unsigned long shadow[8];
unsigned long paltemp[24];
unsigned long exc_addr;
unsigned long exc_sum;
unsigned long exc_mask;
unsigned long pal_base;
unsigned long isr;
unsigned long icsr;
unsigned long ic_perr_stat;
unsigned long dc_perr_stat;
unsigned long va;
unsigned long mm_stat;
unsigned long sc_addr;
unsigned long sc_stat;
unsigned long bc_tag_addr;
unsigned long ei_addr;
unsigned long fill_syndrome;
unsigned long ei_stat;
unsigned long ld_lock;
};
struct el_common_EV6_mcheck {
unsigned int FrameSize;
unsigned int FrameFlags;
unsigned int CpuOffset;
unsigned int SystemOffset;
unsigned int MCHK_Code;
unsigned int MCHK_Frame_Rev;
unsigned long I_STAT;
unsigned long DC_STAT;
unsigned long C_ADDR;
unsigned long DC1_SYNDROME;
unsigned long DC0_SYNDROME;
unsigned long C_STAT;
unsigned long C_STS;
unsigned long RESERVED0;
unsigned long EXC_ADDR;
unsigned long IER_CM;
unsigned long ISUM;
unsigned long MM_STAT;
unsigned long PAL_BASE;
unsigned long I_CTL;
unsigned long PCTX;
};
extern void halt(void) __attribute__((noreturn));
extern struct task_struct* alpha_switch_to(unsigned long, struct
task_struct*);
enum implver_enum {
IMPLVER_EV4,
IMPLVER_EV5,
IMPLVER_EV6
};
enum amask_enum {
AMASK_BWX = (1UL << 0),
AMASK_FIX = (1UL << 1),
AMASK_MAX = (1UL << 8),
AMASK_PRECISE_TRAP = (1UL << 9),
};
# 211 "/usr/src/linux-2.4.2/include/asm/system.h"
# 222 "/usr/src/linux-2.4.2/include/asm/system.h"
# 234 "/usr/src/linux-2.4.2/include/asm/system.h"
# 247 "/usr/src/linux-2.4.2/include/asm/system.h"
# 261 "/usr/src/linux-2.4.2/include/asm/system.h"
static inline void cflush ( unsigned long arg0) { register unsigned
long __r16 __asm__("$16") = arg0; __asm__ __volatile__( "call_pal %1 #
""cflush" : "=r"(__r16) : "i"(1 ), "0"(__r16) : "$1", "$22", "$23", "$24",
"$25"); } ;
static inline unsigned long rdmces (void) { register unsigned long
__r0 __asm__("$0"); __asm__ __volatile__( "call_pal %1 # " "rdmces" :"=r"
(__r0) :"i" (16 ) :"$1", "$16", "$22", "$23", "$24", "$25"); return __r0; }
;
static inline unsigned long rdps (void) { register unsigned long __r0
__asm__("$0"); __asm__ __volatile__( "call_pal %1 # " "rdps" :"=r" (__r0)
:"i" (54 ) :"$1", "$16", "$22", "$23", "$24", "$25"); return __r0; } ;
static inline unsigned long rdusp (void) { register unsigned long
__r0 __asm__("$0"); __asm__ __volatile__( "call_pal %1 # " "rdusp" :"=r"
(__r0) :"i" (58 ) :"$1", "$16", "$22", "$23", "$24", "$25"); return __r0; }
;
static inline unsigned long swpipl ( unsigned long arg0) { register
unsigned long __r0 __asm__("$0"); register unsigned long __r16
__asm__("$16") = arg0; __asm__ __volatile__( "call_pal %2 # ""swpipl" :
"=r"(__r16), "=r"(__r0) : "i"(53 ), "0"(__r16) : "$1", "$22", "$23", "$24",
"$25"); return __r0; } ;
static inline unsigned long whami (void) { register unsigned long
__r0 __asm__("$0"); __asm__ __volatile__( "call_pal %1 # " "whami" :"=r"
(__r0) :"i" (60 ) :"$1", "$16", "$22", "$23", "$24", "$25"); return __r0; }
;
static inline void wrent ( void* arg0, unsigned long arg1) { register
void* __r16 __asm__("$16") = arg0; register unsigned long __r17
__asm__("$17") = arg1; __asm__ __volatile__( "call_pal %2 # ""wrent" :
"=r"(__r16), "=r"(__r17) : "i"(52 ), "0"(__r16), "1"(__r17) : "$1", "$22",
"$23", "$24", "$25"); } ;
static inline void wripir ( unsigned long arg0) { register unsigned
long __r16 __asm__("$16") = arg0; __asm__ __volatile__( "call_pal %1 #
""wripir" : "=r"(__r16) : "i"(13 ), "0"(__r16) : "$1", "$22", "$23", "$24",
"$25"); } ;
static inline void wrkgp ( unsigned long arg0) { register unsigned long
__r16 __asm__("$16") = arg0; __asm__ __volatile__( "call_pal %1 # ""wrkgp" :
"=r"(__r16) : "i"(55 ), "0"(__r16) : "$1", "$22", "$23", "$24", "$25"); } ;
static inline void wrmces ( unsigned long arg0) { register unsigned
long __r16 __asm__("$16") = arg0; __asm__ __volatile__( "call_pal %1 #
""wrmces" : "=r"(__r16) : "i"(17 ), "0"(__r16) : "$1", "$22", "$23", "$24",
"$25"); } ;
static inline unsigned long wrperfmon ( unsigned long arg0, unsigned
long arg1) { register unsigned long __r0 __asm__("$0"); register
unsigned long __r16 __asm__("$16") = arg0; register unsigned long __r17
__asm__("$17") = arg1; __asm__ __volatile__( "call_pal %3 # ""wrperfmon" :
"=r"(__r16), "=r"(__r17), "=r"(__r0) : "i"(57 ), "0"(__r16), "1"(__r17) :
"$1", "$22", "$23", "$24", "$25"); return __r0; } ;
static inline void wrusp ( unsigned long arg0) { register unsigned long
__r16 __asm__("$16") = arg0; __asm__ __volatile__( "call_pal %1 # ""wrusp" :
"=r"(__r16) : "i"(56 ), "0"(__r16) : "$1", "$22", "$23", "$24", "$25"); } ;
static inline void wrvptptr ( unsigned long arg0) { register unsigned
long __r16 __asm__("$16") = arg0; __asm__ __volatile__( "call_pal %1 #
""wrvptptr" : "=r"(__r16) : "i"(45 ), "0"(__r16) : "$1", "$22", "$23",
"$24", "$25"); } ;
# 323 "/usr/src/linux-2.4.2/include/asm/system.h"
# 346 "/usr/src/linux-2.4.2/include/asm/system.h"
extern __inline__ unsigned long
__xchg_u32(volatile int *m, unsigned long val)
{
unsigned long dummy;
__asm__ __volatile__(
"1: ldl_l %0,%4\n"
" bis $31,%3,%1\n"
" stl_c %1,%2\n"
" beq %1,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
: "=&r" (val), "=&r" (dummy), "=m" (*m)
: "rI" (val), "m" (*m) : "memory");
return val;
}
extern __inline__ unsigned long
__xchg_u64(volatile long *m, unsigned long val)
{
unsigned long dummy;
__asm__ __volatile__(
"1: ldq_l %0,%4\n"
" bis $31,%3,%1\n"
" stq_c %1,%2\n"
" beq %1,2f\n"
".subsection 2\n"
"2: br 1b\n"
".previous"
: "=&r" (val), "=&r" (dummy), "=m" (*m)
: "rI" (val), "m" (*m) : "memory");
return val;
}
extern void __xchg_called_with_bad_pointer(void);
static __inline__ unsigned long
__xchg(volatile void *ptr, unsigned long x, int size)
{
switch (size) {
case 4:
return __xchg_u32(ptr, x);
case 8:
return __xchg_u64(ptr, x);
}
__xchg_called_with_bad_pointer();
return x;
}
extern __inline__ unsigned long
__cmpxchg_u32(volatile int *m, int old, int new)
{
unsigned long prev, cmp;
__asm__ __volatile__(
"1: ldl_l %0,%5\n"
" cmpeq %0,%3,%1\n"
" beq %1,2f\n"
" mov %4,%1\n"
" stl_c %1,%2\n"
" beq %1,3f\n"
"2:\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
: "=&r"(prev), "=&r"(cmp), "=m"(*m)
: "r"((long) old), "r"(new), "m"(*m) : "memory");
return prev;
}
extern __inline__ unsigned long
__cmpxchg_u64(volatile long *m, unsigned long old, unsigned long new)
{
unsigned long prev, cmp;
__asm__ __volatile__(
"1: ldq_l %0,%5\n"
" cmpeq %0,%3,%1\n"
" beq %1,2f\n"
" mov %4,%1\n"
" stq_c %1,%2\n"
" beq %1,3f\n"
"2:\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
: "=&r"(prev), "=&r"(cmp), "=m"(*m)
: "r"((long) old), "r"(new), "m"(*m) : "memory");
return prev;
}
extern void __cmpxchg_called_with_bad_pointer(void);
static __inline__ unsigned long
__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int
size)
{
switch (size) {
case 4:
return __cmpxchg_u32(ptr, old, new);
case 8:
return __cmpxchg_u64(ptr, old, new);
}
__cmpxchg_called_with_bad_pointer();
return old;
}
# 12 "/usr/src/linux-2.4.2/include/asm/semaphore.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/compiler.h" 1
# 14 "/usr/src/linux-2.4.2/include/asm/semaphore.h" 2
struct semaphore {
atomic_t count __attribute__((aligned(8)));
atomic_t waking;
wait_queue_head_t wait;
};
static inline void sema_init(struct semaphore *sem, int val)
{
(( &sem->count )->counter = ( val )) ;
(( &sem->waking )->counter = ( -1 )) ;
init_waitqueue_head(&sem->wait);
}
static inline void init_MUTEX (struct semaphore *sem)
{
sema_init(sem, 1);
}
static inline void init_MUTEX_LOCKED (struct semaphore *sem)
{
sema_init(sem, 0);
}
extern void down(struct semaphore *);
extern void __down_failed(struct semaphore *);
extern int down_interruptible(struct semaphore *);
extern int __down_failed_interruptible(struct semaphore *);
extern int down_trylock(struct semaphore *);
extern void up(struct semaphore *);
extern void __up_wakeup(struct semaphore *);
static inline void __down(struct semaphore *sem)
{
long count = atomic_sub_return(1,( &sem->count )) ;
if (( count < 0 ) )
__down_failed(sem);
}
static inline int __down_interruptible(struct semaphore *sem)
{
long count = atomic_sub_return(1,( &sem->count )) ;
if (( count < 0 ) )
return __down_failed_interruptible(sem);
return 0;
}
static inline int __down_trylock(struct semaphore * sem)
{
long ret, tmp, tmp2, sub;
__asm__ __volatile__(
"1: ldq_l %1,%4\n"
" lda %3,1\n"
" addl %1,0,%2\n"
" sll %3,32,%3\n"
" cmple %2,0,%0\n"
" cmovge %2,0,%3\n"
" cmplt %1,0,%2\n"
" addq %3,1,%3\n"
" and %0,%2,%0\n"
" bne %0,2f\n"
" subq %1,%3,%1\n"
" stq_c %1,%4\n"
" beq %1,3f\n"
"2: mb\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
: "=&r"(ret), "=&r"(tmp), "=&r"(tmp2), "=&r"(sub)
: "m"(*sem)
: "memory");
return ret;
}
static inline void __up(struct semaphore *sem)
{
long ret, tmp, tmp2, tmp3;
__asm__ __volatile__(
" mb\n"
"1: ldq_l %1,%4\n"
" addl %1,1,%0\n"
" zapnot %1,0xf0,%2\n"
" addq %2,%5,%3\n"
" cmovle %0,%3,%2\n"
" zapnot %0,0x0f,%1\n"
" bis %1,%2,%1\n"
" stq_c %1,%4\n"
" beq %1,3f\n"
"2:\n"
".subsection 2\n"
"3: br 1b\n"
".previous"
: "=&r"(ret), "=&r"(tmp), "=&r"(tmp2), "=&r"(tmp3)
: "m"(*sem), "r"(0x0000000100000000)
: "memory");
if (( ret <= 0 ) )
__up_wakeup(sem);
}
extern inline void down(struct semaphore *sem)
{
__down(sem);
}
extern inline int down_interruptible(struct semaphore *sem)
{
return __down_interruptible(sem);
}
extern inline int down_trylock(struct semaphore *sem)
{
return __down_trylock(sem);
}
extern inline void up(struct semaphore *sem)
{
__up(sem);
}
struct rw_semaphore {
atomic_t count;
unsigned granted;
wait_queue_head_t wait;
wait_queue_head_t write_bias_wait;
};
static inline void init_rwsem(struct rw_semaphore *sem)
{
(( &sem->count )->counter = ( 0x01000000 )) ;
sem->granted = 0;
init_waitqueue_head(&sem->wait);
init_waitqueue_head(&sem->write_bias_wait);
}
extern void down_read(struct rw_semaphore *);
extern void down_write(struct rw_semaphore *);
extern void up_read(struct rw_semaphore *);
extern void up_write(struct rw_semaphore *);
extern void __down_read_failed(struct rw_semaphore *, int);
extern void __down_write_failed(struct rw_semaphore *, int);
extern void __rwsem_wake(struct rw_semaphore *, int);
static inline void __down_read(struct rw_semaphore *sem)
{
long count = atomic_sub_return(1,( &sem->count )) ;
if (( count < 0 ) )
__down_read_failed(sem, count);
}
static inline void __down_write(struct rw_semaphore *sem)
{
long count = atomic_sub_return(0x01000000 , &sem->count);
if (( count != 0 ) )
__down_write_failed(sem, count);
}
static inline void __up_read(struct rw_semaphore *sem)
{
long count;
__asm__ __volatile__("mb": : :"memory") ;
count = atomic_add_return(1,( &sem->count )) ;
if (( count == 0 ) )
__rwsem_wake(sem, 0);
}
static inline void __up_write(struct rw_semaphore *sem)
{
long count, wake;
__asm__ __volatile__("mb": : :"memory") ;
count = atomic_add_return(0x01000000 , &sem->count);
wake = ((int)(count - 0x01000000 ) < 0) && count >= 0;
if (( wake ) )
__rwsem_wake(sem, count);
}
extern inline void down_read(struct rw_semaphore *sem)
{
__down_read(sem);
}
extern inline void down_write(struct rw_semaphore *sem)
{
__down_write(sem);
}
extern inline void up_read(struct rw_semaphore *sem)
{
__up_read(sem);
}
extern inline void up_write(struct rw_semaphore *sem)
{
__up_write(sem);
}
# 199 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/asm/byteorder.h" 1
static __inline __u32 __attribute__((__const)) __arch__swab32(__u32 x)
{
__u64 t0, t1, t2, t3;
__asm__("inslh %1, 7, %0"
: "=r"(t0) : "r"(x));
__asm__("inswl %1, 3, %0"
: "=r"(t1) : "r"(x));
t1 |= t0;
t2 = t1 >> 16;
t0 = t1 & 0xFF00FF00;
t3 = t2 & 0x00FF00FF;
t1 = t0 + t3;
return t1;
}
# 1 "/usr/src/linux-2.4.2/include/linux/byteorder/little_endian.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/byteorder/swab.h" 1
# 38 "/usr/src/linux-2.4.2/include/linux/byteorder/swab.h"
# 52 "/usr/src/linux-2.4.2/include/linux/byteorder/swab.h"
# 73 "/usr/src/linux-2.4.2/include/linux/byteorder/swab.h"
extern __inline__ __const__ __u16 __fswab16(__u16 x)
{
return ({ __u16 __tmp = ( x ) ; ({ __u16 __x = ( __tmp ); ((__u16)(
(((__u16)(__x) & (__u16)0x00ffU) << 8) | (((__u16)(__x) & (__u16)0xff00U) >>
8) )); }) ; }) ;
}
extern __inline__ __u16 __swab16p(__u16 *x)
{
return ({ __u16 __tmp = ( *( x ) ) ; ({ __u16 __x = ( __tmp ); ((__u16)(
(((__u16)(__x) & (__u16)0x00ffU) << 8) | (((__u16)(__x) & (__u16)0xff00U) >>
8) )); }) ; }) ;
}
extern __inline__ void __swab16s(__u16 *addr)
{
do { *( addr ) = ({ __u16 __tmp = ( *( ( addr ) ) ) ; ({ __u16 __x = (
__tmp ); ((__u16)( (((__u16)(__x) & (__u16)0x00ffU) << 8) | (((__u16)(__x) &
(__u16)0xff00U) >> 8) )); }) ; }) ; } while (0) ;
}
extern __inline__ __const__ __u32 __fswab32(__u32 x)
{
return __arch__swab32 (x);
}
extern __inline__ __u32 __swab32p(__u32 *x)
{
return __arch__swab32 (*( x )) ;
}
extern __inline__ void __swab32s(__u32 *addr)
{
do { *( addr ) = __arch__swab32 (*( ( addr ) )) ; } while (0) ;
}
extern __inline__ __const__ __u64 __fswab64(__u64 x)
{
return ({ __u64 __tmp = ( x ) ; ({ __u64 __x = ( __tmp ); ((__u64)(
(__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) |
(__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) |
(__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) |
(__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) |
(__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) |
(__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) |
(__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) |
(__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); }) ; }) ;
}
extern __inline__ __u64 __swab64p(__u64 *x)
{
return ({ __u64 __tmp = ( *( x ) ) ; ({ __u64 __x = ( __tmp ); ((__u64)(
(__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) << 56) |
(__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) |
(__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) |
(__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) |
(__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) |
(__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) |
(__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) |
(__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); }) ; }) ;
}
extern __inline__ void __swab64s(__u64 *addr)
{
do { *( addr ) = ({ __u64 __tmp = ( *( ( addr ) ) ) ; ({ __u64 __x = (
__tmp ); ((__u64)( (__u64)(((__u64)(__x) & (__u64)0x00000000000000ffULL) <<
56) | (__u64)(((__u64)(__x) & (__u64)0x000000000000ff00ULL) << 40) |
(__u64)(((__u64)(__x) & (__u64)0x0000000000ff0000ULL) << 24) |
(__u64)(((__u64)(__x) & (__u64)0x00000000ff000000ULL) << 8) |
(__u64)(((__u64)(__x) & (__u64)0x000000ff00000000ULL) >> 8) |
(__u64)(((__u64)(__x) & (__u64)0x0000ff0000000000ULL) >> 24) |
(__u64)(((__u64)(__x) & (__u64)0x00ff000000000000ULL) >> 40) |
(__u64)(((__u64)(__x) & (__u64)0xff00000000000000ULL) >> 56) )); }) ; })
; } while (0) ;
}
# 11 "/usr/src/linux-2.4.2/include/linux/byteorder/little_endian.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/byteorder/generic.h" 1
extern __u32 ntohl(__u32);
extern __u32 htonl(__u32);
extern unsigned short int ntohs(unsigned short int);
extern unsigned short int htons(unsigned short int);
# 66 "/usr/src/linux-2.4.2/include/linux/byteorder/little_endian.h" 2
# 46 "/usr/src/linux-2.4.2/include/asm/byteorder.h" 2
# 200 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
extern void update_atime (struct inode *);
extern void buffer_init(unsigned long);
extern void inode_init(unsigned long);
struct buffer_head {
struct buffer_head *b_next;
unsigned long b_blocknr;
unsigned short b_size;
unsigned short b_list;
kdev_t b_dev;
atomic_t b_count;
kdev_t b_rdev;
unsigned long b_state;
unsigned long b_flushtime;
struct buffer_head *b_next_free;
struct buffer_head *b_prev_free;
struct buffer_head *b_this_page;
struct buffer_head *b_reqnext;
struct buffer_head **b_pprev;
char * b_data;
struct page *b_page;
void (*b_end_io)(struct buffer_head *bh, int uptodate);
void *b_private;
unsigned long b_rsector;
wait_queue_head_t b_wait;
struct inode * b_inode;
struct list_head b_inode_buffers;
};
typedef void (bh_end_io_t)(struct buffer_head *bh, int uptodate);
void init_buffer(struct buffer_head *, bh_end_io_t *, void *);
extern void set_bh_page(struct buffer_head *bh, struct page *page, unsigned
long offset);
# 1 "/usr/src/linux-2.4.2/include/linux/pipe_fs_i.h" 1
struct pipe_inode_info {
wait_queue_head_t wait;
char *base;
unsigned int start;
unsigned int readers;
unsigned int writers;
unsigned int waiting_readers;
unsigned int waiting_writers;
unsigned int r_counter;
unsigned int w_counter;
};
void pipe_wait(struct inode * inode);
struct inode* pipe_new(struct inode* inode);
# 279 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/minix_fs_i.h" 1
struct minix_inode_info {
union {
__u16 i1_data[16];
__u32 i2_data[16];
} u;
};
# 280 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ext2_fs_i.h" 1
struct ext2_inode_info {
__u32 i_data[15];
__u32 i_flags;
__u32 i_faddr;
__u8 i_frag_no;
__u8 i_frag_size;
__u16 i_osync;
__u32 i_file_acl;
__u32 i_dir_acl;
__u32 i_dtime;
__u32 not_used_1;
__u32 i_block_group;
__u32 i_next_alloc_block;
__u32 i_next_alloc_goal;
__u32 i_prealloc_block;
__u32 i_prealloc_count;
__u32 i_high_size;
int i_new_inode:1;
};
# 281 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/hpfs_fs_i.h" 1
struct hpfs_inode_info {
unsigned long mmu_private;
ino_t i_parent_dir;
unsigned i_dno;
unsigned i_dpos;
unsigned i_dsubdno;
unsigned i_file_sec;
unsigned i_disk_sec;
unsigned i_n_secs;
unsigned i_ea_size;
unsigned i_conv : 2;
unsigned i_ea_mode : 1;
unsigned i_ea_uid : 1;
unsigned i_ea_gid : 1;
unsigned i_dirty : 1;
struct semaphore i_sem;
loff_t **i_rddir_off;
};
# 282 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ntfs_fs_i.h" 1
struct ntfs_attribute;
struct ntfs_sb_info;
typedef u8 ntfs_u8;
typedef u16 ntfs_u16;
typedef u32 ntfs_u32;
typedef u64 ntfs_u64;
typedef s8 ntfs_s8;
typedef s16 ntfs_s16;
typedef s32 ntfs_s32;
typedef s64 ntfs_s64;
typedef __kernel_mode_t ntmode_t;
typedef uid_t ntfs_uid_t;
typedef gid_t ntfs_gid_t;
typedef __kernel_size_t ntfs_size_t;
typedef __kernel_time_t ntfs_time_t;
typedef unsigned short ntfs_wchar_t;
typedef unsigned long long ntfs_offset_t;
typedef unsigned long long ntfs_time64_t;
typedef unsigned int ntfs_cluster_t;
struct ntfs_inode_info{
unsigned long mmu_private;
struct ntfs_sb_info *vol;
int i_number;
unsigned sequence_number;
unsigned char* attr;
int attr_count;
struct ntfs_attribute *attrs;
int record_count;
int *records;
union{
struct{
int recordsize;
int clusters_per_record;
}index;
} u;
};
# 283 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/msdos_fs_i.h" 1
struct msdos_inode_info {
unsigned long mmu_private;
int i_start;
int i_logstart;
int i_attrs;
int i_ctime_ms;
int i_location;
struct inode *i_fat_inode;
struct list_head i_fat_hash;
};
# 284 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/umsdos_fs_i.h" 1
struct dir_locking_info {
wait_queue_head_t p;
short int looking;
short int creating;
long pid;
};
struct umsdos_inode_info {
struct msdos_inode_info msdos_info;
struct dir_locking_info dir_info;
int i_patched;
int i_is_hlink;
off_t pos;
};
# 285 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/iso_fs_i.h" 1
struct iso_inode_info {
unsigned int i_first_extent;
unsigned char i_file_format;
unsigned long i_next_section_ino;
off_t i_section_size;
};
# 286 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/nfs_fs_i.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/nfs.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/sunrpc/msg_prot.h" 1
enum rpc_auth_flavor {
RPC_AUTH_NULL = 0,
RPC_AUTH_UNIX = 1,
RPC_AUTH_SHORT = 2,
RPC_AUTH_DES = 3,
RPC_AUTH_KRB = 4,
};
enum rpc_msg_type {
RPC_CALL = 0,
RPC_REPLY = 1
};
enum rpc_reply_stat {
RPC_MSG_ACCEPTED = 0,
RPC_MSG_DENIED = 1
};
enum rpc_accept_stat {
RPC_SUCCESS = 0,
RPC_PROG_UNAVAIL = 1,
RPC_PROG_MISMATCH = 2,
RPC_PROC_UNAVAIL = 3,
RPC_GARBAGE_ARGS = 4,
RPC_SYSTEM_ERR = 5
};
enum rpc_reject_stat {
RPC_MISMATCH = 0,
RPC_AUTH_ERROR = 1
};
enum rpc_auth_stat {
RPC_AUTH_OK = 0,
RPC_AUTH_BADCRED = 1,
RPC_AUTH_REJECTEDCRED = 2,
RPC_AUTH_BADVERF = 3,
RPC_AUTH_REJECTEDVERF = 4,
RPC_AUTH_TOOWEAK = 5
};
# 10 "/usr/src/linux-2.4.2/include/linux/nfs.h" 2
enum nfs_stat {
NFS_OK = 0,
NFSERR_PERM = 1,
NFSERR_NOENT = 2,
NFSERR_IO = 5,
NFSERR_NXIO = 6,
NFSERR_EAGAIN = 11,
NFSERR_ACCES = 13,
NFSERR_EXIST = 17,
NFSERR_XDEV = 18,
NFSERR_NODEV = 19,
NFSERR_NOTDIR = 20,
NFSERR_ISDIR = 21,
NFSERR_INVAL = 22,
NFSERR_FBIG = 27,
NFSERR_NOSPC = 28,
NFSERR_ROFS = 30,
NFSERR_MLINK = 31,
NFSERR_OPNOTSUPP = 45,
NFSERR_NAMETOOLONG = 63,
NFSERR_NOTEMPTY = 66,
NFSERR_DQUOT = 69,
NFSERR_STALE = 70,
NFSERR_REMOTE = 71,
NFSERR_WFLUSH = 99,
NFSERR_BADHANDLE = 10001,
NFSERR_NOT_SYNC = 10002,
NFSERR_BAD_COOKIE = 10003,
NFSERR_NOTSUPP = 10004,
NFSERR_TOOSMALL = 10005,
NFSERR_SERVERFAULT = 10006,
NFSERR_BADTYPE = 10007,
NFSERR_JUKEBOX = 10008
};
enum nfs_ftype {
NFNON = 0,
NFREG = 1,
NFDIR = 2,
NFBLK = 3,
NFCHR = 4,
NFLNK = 5,
NFSOCK = 6,
NFBAD = 7,
NFFIFO = 8
};
struct nfs_fh {
unsigned short size;
unsigned char data[64 ];
};
enum nfs3_stable_how {
NFS_UNSTABLE = 0,
NFS_DATA_SYNC = 1,
NFS_FILE_SYNC = 2
};
# 6 "/usr/src/linux-2.4.2/include/linux/nfs_fs_i.h" 2
struct nfs_inode_info {
__u64 fsid;
__u64 fileid;
struct nfs_fh fh;
unsigned short flags;
unsigned long read_cache_jiffies;
__u64 read_cache_ctime;
__u64 read_cache_mtime;
__u64 read_cache_atime;
__u64 read_cache_isize;
unsigned long attrtimeo;
unsigned long attrtimeo_timestamp;
__u32 cookieverf[2];
struct list_head read;
struct list_head dirty;
struct list_head commit;
struct list_head writeback;
unsigned int nread,
ndirty,
ncommit,
npages;
struct inode *hash_next,
*hash_prev;
unsigned long nextscan;
};
struct nfs_lock_info {
u32 state;
u32 flags;
struct nlm_host *host;
};
# 287 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/sysv_fs_i.h" 1
struct sysv_inode_info {
u32 i_data[10+1+1+1];
};
# 288 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/affs_fs_i.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/a.out.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/a.out.h" 1
struct filehdr
{
__u16 f_magic, f_nscns;
__u32 f_timdat;
__u64 f_symptr;
__u32 f_nsyms;
__u16 f_opthdr, f_flags;
};
struct aouthdr
{
__u64 info;
__u64 tsize;
__u64 dsize;
__u64 bsize;
__u64 entry;
__u64 text_start;
__u64 data_start;
__u64 bss_start;
__u32 gprmask, fprmask;
__u64 gpvalue;
};
struct scnhdr
{
char s_name[8];
__u64 s_paddr;
__u64 s_vaddr;
__u64 s_size;
__u64 s_scnptr;
__u64 s_relptr;
__u64 s_lnnoptr;
__u16 s_nreloc;
__u16 s_nlnno;
__u32 s_flags;
};
struct exec
{
struct filehdr fh;
struct aouthdr ah;
};
# 8 "/usr/src/linux-2.4.2/include/linux/a.out.h" 2
enum machine_type {
M_OLDSUN2 = 0,
M_68010 = 1,
M_68020 = 2,
M_SPARC = 3,
M_386 = 100,
M_MIPS1 = 151,
M_MIPS2 = 152
};
struct nlist {
union {
char *n_name;
struct nlist *n_next;
long n_strx;
} n_un;
unsigned char n_type;
char n_other;
short n_desc;
unsigned long n_value;
};
struct relocation_info
{
int r_address;
unsigned int r_symbolnum:24;
unsigned int r_pcrel:1;
unsigned int r_length:2;
unsigned int r_extern:1;
unsigned int r_pad:4;
};
# 4 "/usr/src/linux-2.4.2/include/linux/affs_fs_i.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/time.h" 1
struct timespec {
time_t tv_sec;
long tv_nsec;
};
static __inline__ unsigned long
timespec_to_jiffies(struct timespec *value)
{
unsigned long sec = value->tv_sec;
long nsec = value->tv_nsec;
if (sec >= (((~0UL >> 1)-1) / 1024 ))
return ((~0UL >> 1)-1) ;
nsec += 1000000000L / 1024 - 1;
nsec /= 1000000000L / 1024 ;
return 1024 * sec + nsec;
}
static __inline__ void
jiffies_to_timespec(unsigned long jiffies, struct timespec *value)
{
value->tv_nsec = (jiffies % 1024 ) * (1000000000L / 1024 );
value->tv_sec = jiffies / 1024 ;
}
static inline unsigned long
mktime (unsigned int year, unsigned int mon,
unsigned int day, unsigned int hour,
unsigned int min, unsigned int sec)
{
if (0 >= (int) (mon -= 2)) {
mon += 12;
year -= 1;
}
return (((
(unsigned long) (year/4 - year/100 + year/400 + 367*mon/12 + day) +
year*365 - 719499
)*24 + hour
)*60 + min
)*60 + sec;
}
struct timeval {
time_t tv_sec;
suseconds_t tv_usec;
};
struct timezone {
int tz_minuteswest;
int tz_dsttime;
};
extern void do_gettimeofday(struct timeval *tv);
extern void do_settimeofday(struct timeval *tv);
extern void get_fast_time(struct timeval *tv);
extern void (*do_get_fast_time)(struct timeval *);
struct itimerspec {
struct timespec it_interval;
struct timespec it_value;
};
struct itimerval {
struct timeval it_interval;
struct timeval it_value;
};
# 5 "/usr/src/linux-2.4.2/include/linux/affs_fs_i.h" 2
struct key_cache {
struct timeval kc_lru_time;
s32 kc_first;
s32 kc_last;
s32 kc_this_key;
int kc_this_seq;
s32 kc_next_key;
s32 kc_keys[73 ];
};
struct ext_cache {
struct key_cache kc[4];
s32 ec[((1UL << 13 ) - 4 * sizeof(struct key_cache) - 4) / 4 ];
int max_ext;
};
struct affs_inode_info {
unsigned long mmu_private;
u32 i_protect;
s32 i_parent;
s32 i_original;
s32 i_data[16 ];
struct ext_cache *i_ec;
int i_cache_users;
int i_lastblock;
short i_pa_cnt;
short i_pa_next;
short i_pa_last;
short i_zone;
unsigned char i_hlink;
unsigned char i_pad;
};
# 289 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ufs_fs_i.h" 1
struct ufs_inode_info {
union {
__u32 i_data[15];
__u8 i_symlink[4*15];
} i_u1;
__u64 i_size;
__u32 i_flags;
__u32 i_gen;
__u32 i_shadow;
__u32 i_unused1;
__u32 i_unused2;
__u32 i_oeftflag;
__u16 i_osync;
__u32 i_lastfrag;
};
# 290 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/efs_fs_i.h" 1
typedef int32_t efs_block_t;
typedef uint32_t efs_ino_t;
typedef union extent_u {
unsigned char raw[8];
struct extent_s {
unsigned int ex_magic:8;
unsigned int ex_bn:24;
unsigned int ex_length:8;
unsigned int ex_offset:24;
} cooked;
} efs_extent;
typedef struct edevs {
short odev;
unsigned int ndev;
} efs_devs;
struct efs_dinode {
u_short di_mode;
short di_nlink;
u_short di_uid;
u_short di_gid;
int32_t di_size;
int32_t di_atime;
int32_t di_mtime;
int32_t di_ctime;
uint32_t di_gen;
short di_numextents;
u_char di_version;
u_char di_spare;
union di_addr {
efs_extent di_extents[12 ];
efs_devs di_dev;
} di_u;
};
struct efs_inode_info {
int numextents;
int lastextent;
efs_extent extents[12 ];
};
# 291 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/coda_fs_i.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/coda.h" 1
# 98 "/usr/src/linux-2.4.2/include/linux/coda.h"
typedef unsigned long long u_quad_t;
# 130 "/usr/src/linux-2.4.2/include/linux/coda.h"
struct venus_dirent {
unsigned long d_fileno;
unsigned short d_reclen;
unsigned char d_type;
unsigned char d_namlen;
char d_name[255 + 1];
};
typedef u_long VolumeId;
typedef u_long VnodeId;
typedef u_long Unique_t;
typedef u_long FileVersion;
typedef struct ViceFid {
VolumeId Volume;
VnodeId Vnode;
Unique_t Unique;
} ViceFid;
static __inline__ ino_t coda_f2i(struct ViceFid *fid)
{
if ( ! fid )
return 0;
if (fid->Vnode == 0xfffffffe || fid->Vnode == 0xffffffff)
return ((fid->Volume << 20) | (fid->Unique & 0xfffff));
else
return (fid->Unique + (fid->Vnode<<10) + (fid->Volume<<20));
}
typedef u_int32_t vuid_t;
typedef u_int32_t vgid_t;
struct coda_cred {
vuid_t cr_uid, cr_euid, cr_suid, cr_fsuid;
vgid_t cr_groupid, cr_egid, cr_sgid, cr_fsgid;
};
enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK,
C_VFIFO, C_VBAD };
struct coda_vattr {
long va_type;
u_short va_mode;
short va_nlink;
vuid_t va_uid;
vgid_t va_gid;
long va_fileid;
u_quad_t va_size;
long va_blocksize;
struct timespec va_atime;
struct timespec va_mtime;
struct timespec va_ctime;
u_long va_gen;
u_long va_flags;
u_quad_t va_rdev;
u_quad_t va_bytes;
u_quad_t va_filerev;
};
struct coda_statfs {
int32_t f_blocks;
int32_t f_bfree;
int32_t f_bavail;
int32_t f_files;
int32_t f_ffree;
};
struct coda_in_hdr {
unsigned long opcode;
unsigned long unique;
u_short pid;
u_short pgid;
u_short sid;
struct coda_cred cred;
};
struct coda_out_hdr {
unsigned long opcode;
unsigned long unique;
unsigned long result;
};
struct coda_root_out {
struct coda_out_hdr oh;
ViceFid VFid;
};
struct coda_root_in {
struct coda_in_hdr in;
};
struct coda_open_in {
struct coda_in_hdr ih;
ViceFid VFid;
int flags;
};
struct coda_open_out {
struct coda_out_hdr oh;
u_quad_t dev;
ino_t inode;
};
struct coda_close_in {
struct coda_in_hdr ih;
ViceFid VFid;
int flags;
};
struct coda_close_out {
struct coda_out_hdr out;
};
struct coda_ioctl_in {
struct coda_in_hdr ih;
ViceFid VFid;
int cmd;
int len;
int rwflag;
char *data;
};
struct coda_ioctl_out {
struct coda_out_hdr oh;
int len;
caddr_t data;
};
struct coda_getattr_in {
struct coda_in_hdr ih;
ViceFid VFid;
};
struct coda_getattr_out {
struct coda_out_hdr oh;
struct coda_vattr attr;
};
struct coda_setattr_in {
struct coda_in_hdr ih;
ViceFid VFid;
struct coda_vattr attr;
};
struct coda_setattr_out {
struct coda_out_hdr out;
};
struct coda_access_in {
struct coda_in_hdr ih;
ViceFid VFid;
int flags;
};
struct coda_access_out {
struct coda_out_hdr out;
};
struct coda_lookup_in {
struct coda_in_hdr ih;
ViceFid VFid;
int name;
int flags;
};
struct coda_lookup_out {
struct coda_out_hdr oh;
ViceFid VFid;
int vtype;
};
struct coda_create_in {
struct coda_in_hdr ih;
ViceFid VFid;
struct coda_vattr attr;
int excl;
int mode;
int name;
};
struct coda_create_out {
struct coda_out_hdr oh;
ViceFid VFid;
struct coda_vattr attr;
};
struct coda_remove_in {
struct coda_in_hdr ih;
ViceFid VFid;
int name;
};
struct coda_remove_out {
struct coda_out_hdr out;
};
struct coda_link_in {
struct coda_in_hdr ih;
ViceFid sourceFid;
ViceFid destFid;
int tname;
};
struct coda_link_out {
struct coda_out_hdr out;
};
struct coda_rename_in {
struct coda_in_hdr ih;
ViceFid sourceFid;
int srcname;
ViceFid destFid;
int destname;
};
struct coda_rename_out {
struct coda_out_hdr out;
};
struct coda_mkdir_in {
struct coda_in_hdr ih;
ViceFid VFid;
struct coda_vattr attr;
int name;
};
struct coda_mkdir_out {
struct coda_out_hdr oh;
ViceFid VFid;
struct coda_vattr attr;
};
struct coda_rmdir_in {
struct coda_in_hdr ih;
ViceFid VFid;
int name;
};
struct coda_rmdir_out {
struct coda_out_hdr out;
};
struct coda_symlink_in {
struct coda_in_hdr ih;
ViceFid VFid;
int srcname;
struct coda_vattr attr;
int tname;
};
struct coda_symlink_out {
struct coda_out_hdr out;
};
struct coda_readlink_in {
struct coda_in_hdr ih;
ViceFid VFid;
};
struct coda_readlink_out {
struct coda_out_hdr oh;
int count;
caddr_t data;
};
struct coda_fsync_in {
struct coda_in_hdr ih;
ViceFid VFid;
};
struct coda_fsync_out {
struct coda_out_hdr out;
};
struct coda_vget_in {
struct coda_in_hdr ih;
ViceFid VFid;
};
struct coda_vget_out {
struct coda_out_hdr oh;
ViceFid VFid;
int vtype;
};
struct coda_purgeuser_out {
struct coda_out_hdr oh;
struct coda_cred cred;
};
struct coda_zapfile_out {
struct coda_out_hdr oh;
ViceFid CodaFid;
};
struct coda_zapdir_out {
struct coda_out_hdr oh;
ViceFid CodaFid;
};
struct coda_zapvnode_out {
struct coda_out_hdr oh;
struct coda_cred cred;
ViceFid VFid;
};
struct coda_purgefid_out {
struct coda_out_hdr oh;
ViceFid CodaFid;
};
struct coda_replace_out {
struct coda_out_hdr oh;
ViceFid NewFid;
ViceFid OldFid;
};
struct coda_open_by_fd_in {
struct coda_in_hdr ih;
ViceFid VFid;
int flags;
};
struct coda_open_by_fd_out {
struct coda_out_hdr oh;
int fd;
};
struct coda_open_by_path_in {
struct coda_in_hdr ih;
ViceFid VFid;
int flags;
};
struct coda_open_by_path_out {
struct coda_out_hdr oh;
int path;
};
struct coda_statfs_in {
struct coda_in_hdr in;
};
struct coda_statfs_out {
struct coda_out_hdr oh;
struct coda_statfs stat;
};
union inputArgs {
struct coda_in_hdr ih;
struct coda_open_in coda_open;
struct coda_close_in coda_close;
struct coda_ioctl_in coda_ioctl;
struct coda_getattr_in coda_getattr;
struct coda_setattr_in coda_setattr;
struct coda_access_in coda_access;
struct coda_lookup_in coda_lookup;
struct coda_create_in coda_create;
struct coda_remove_in coda_remove;
struct coda_link_in coda_link;
struct coda_rename_in coda_rename;
struct coda_mkdir_in coda_mkdir;
struct coda_rmdir_in coda_rmdir;
struct coda_symlink_in coda_symlink;
struct coda_readlink_in coda_readlink;
struct coda_fsync_in coda_fsync;
struct coda_vget_in coda_vget;
struct coda_open_by_fd_in coda_open_by_fd;
struct coda_open_by_path_in coda_open_by_path;
struct coda_statfs_in coda_statfs;
};
union outputArgs {
struct coda_out_hdr oh;
struct coda_root_out coda_root;
struct coda_open_out coda_open;
struct coda_ioctl_out coda_ioctl;
struct coda_getattr_out coda_getattr;
struct coda_lookup_out coda_lookup;
struct coda_create_out coda_create;
struct coda_mkdir_out coda_mkdir;
struct coda_readlink_out coda_readlink;
struct coda_vget_out coda_vget;
struct coda_purgeuser_out coda_purgeuser;
struct coda_zapfile_out coda_zapfile;
struct coda_zapdir_out coda_zapdir;
struct coda_zapvnode_out coda_zapvnode;
struct coda_purgefid_out coda_purgefid;
struct coda_replace_out coda_replace;
struct coda_open_by_fd_out coda_open_by_fd;
struct coda_open_by_path_out coda_open_by_path;
struct coda_statfs_out coda_statfs;
};
union coda_downcalls {
struct coda_purgeuser_out purgeuser;
struct coda_zapfile_out zapfile;
struct coda_zapdir_out zapdir;
struct coda_zapvnode_out zapvnode;
struct coda_purgefid_out purgefid;
struct coda_replace_out replace;
};
struct ViceIoctl {
caddr_t in, out;
short in_size;
short out_size;
};
struct PioctlData {
const char *path;
int follow;
struct ViceIoctl vi;
};
struct coda_mount_data {
int version;
int fd;
};
# 14 "/usr/src/linux-2.4.2/include/linux/coda_fs_i.h" 2
struct coda_inode_info {
struct ViceFid c_fid;
u_short c_flags;
struct list_head c_volrootlist;
struct list_head c_cilist;
struct inode *c_vnode;
unsigned int c_contcount;
struct coda_cred c_cached_cred;
unsigned int c_cached_perm;
int c_magic;
};
int coda_cnode_make(struct inode **, struct ViceFid *, struct super_block
*);
int coda_cnode_makectl(struct inode **inode, struct super_block *sb);
struct inode *coda_fid_to_inode(ViceFid *fid, struct super_block *sb);
void coda_replace_fid(struct inode *, ViceFid *, ViceFid *);
# 292 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/romfs_fs_i.h" 1
struct romfs_inode_info {
unsigned long i_metasize;
unsigned long i_dataoffset;
};
# 293 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/shmem_fs.h" 1
typedef struct {
unsigned long val;
} swp_entry_t;
struct shmem_inode_info {
spinlock_t lock;
swp_entry_t i_direct[16 ];
swp_entry_t **i_indirect;
unsigned long swapped;
int locked;
struct list_head list;
};
struct shmem_sb_info {
unsigned long max_blocks;
unsigned long free_blocks;
unsigned long max_inodes;
unsigned long free_inodes;
spinlock_t stat_lock;
};
# 294 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/smb_fs_i.h" 1
struct smb_inode_info {
unsigned int open;
__u16 fileid;
__u16 attr;
__u16 access;
__u16 flags;
unsigned long oldmtime;
unsigned long closed;
unsigned openers;
};
# 295 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/hfs_fs_i.h" 1
struct hfs_inode_info {
int magic;
unsigned long mmu_private;
struct hfs_cat_entry *entry;
struct hfs_fork *fork;
int convert;
ino_t file_type;
char dir_size;
const struct hfs_hdr_layout *default_layout;
struct hfs_hdr_layout *layout;
int tz_secondswest;
void (*d_drop_op)(struct dentry *, const ino_t);
};
# 296 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/adfs_fs_i.h" 1
struct adfs_inode_info {
unsigned long mmu_private;
unsigned long parent_id;
__u32 loadaddr;
__u32 execaddr;
unsigned int filetype;
unsigned int attr;
int stamped:1;
};
# 297 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/qnx4_fs_i.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/qnxtypes.h" 1
typedef __u16 qnx4_nxtnt_t;
typedef __u8 qnx4_ftype_t;
typedef struct {
__u32 xtnt_blk;
__u32 xtnt_size;
} qnx4_xtnt_t;
typedef __u16 qnx4_mode_t;
typedef __u16 qnx4_muid_t;
typedef __u16 qnx4_mgid_t;
typedef __u32 qnx4_off_t;
typedef __u16 qnx4_nlink_t;
# 14 "/usr/src/linux-2.4.2/include/linux/qnx4_fs_i.h" 2
struct qnx4_inode_info {
char i_reserved[16];
qnx4_off_t i_size;
qnx4_xtnt_t i_first_xtnt;
__u32 i_xblk;
__s32 i_ftime;
__s32 i_mtime;
__s32 i_atime;
__s32 i_ctime;
qnx4_nxtnt_t i_num_xtnts;
qnx4_mode_t i_mode;
qnx4_muid_t i_uid;
qnx4_mgid_t i_gid;
qnx4_nlink_t i_nlink;
__u8 i_zero[4];
qnx4_ftype_t i_type;
__u8 i_status;
unsigned long mmu_private;
};
# 298 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/reiserfs_fs_i.h" 1
struct reiserfs_page_list ;
struct reiserfs_inode_info {
__u32 i_key [4];
int i_version;
int i_pack_on_close ;
__u32 i_first_direct_byte;
struct reiserfs_page_list *i_converted_page ;
int i_conversion_trans_id ;
int i_prealloc_block;
int i_prealloc_count;
int nopack;
};
# 299 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/bfs_fs_i.h" 1
struct bfs_inode_info {
unsigned long i_dsk_ino;
unsigned long i_sblock;
unsigned long i_eblock;
};
# 300 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/udf_fs_i.h" 1
typedef struct
{
__u32 logicalBlockNum;
__u16 partitionReferenceNum;
} lb_addr;
struct udf_inode_info
{
long i_uatime;
long i_umtime;
long i_uctime;
lb_addr i_location;
__u64 i_unique;
__u32 i_lenEAttr;
__u32 i_lenAlloc;
__u32 i_next_alloc_block;
__u32 i_next_alloc_goal;
unsigned i_alloc_type : 3;
unsigned i_extended_fe : 1;
unsigned i_strat_4096 : 1;
unsigned i_new_inode : 1;
unsigned reserved : 26;
};
# 301 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ncp_fs_i.h" 1
struct ncp_inode_info {
__u32 dirEntNum __attribute__((packed));
__u32 DosDirNum __attribute__((packed));
__u32 volNumber __attribute__((packed));
__u32 nwattr;
struct semaphore open_sem;
atomic_t opened;
int access;
__u32 server_file_handle __attribute__((packed));
__u8 open_create_action __attribute__((packed));
__u8 file_handle[6] __attribute__((packed));
};
# 302 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/proc_fs_i.h" 1
struct proc_inode_info {
struct task_struct *task;
int type;
union {
int (*proc_get_link)(struct inode *, struct dentry **, struct vfsmount
**);
int (*proc_read)(struct task_struct *task, char *page);
} op;
struct file *file;
};
# 303 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/usbdev_fs_i.h" 1
struct usb_device;
struct usb_bus;
struct usbdev_inode_info {
struct list_head dlist;
struct list_head slist;
union {
struct usb_device *dev;
struct usb_bus *bus;
} p;
};
# 304 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
struct iattr {
unsigned int ia_valid;
umode_t ia_mode;
uid_t ia_uid;
gid_t ia_gid;
loff_t ia_size;
time_t ia_atime;
time_t ia_mtime;
time_t ia_ctime;
unsigned int ia_attr_flags;
};
# 1 "/usr/src/linux-2.4.2/include/linux/quota.h" 1
extern int nr_dquots, nr_free_dquots;
extern int max_dquots;
extern int dquot_root_squash;
struct dqblk {
__u32 dqb_bhardlimit;
__u32 dqb_bsoftlimit;
__u32 dqb_curblocks;
__u32 dqb_ihardlimit;
__u32 dqb_isoftlimit;
__u32 dqb_curinodes;
time_t dqb_btime;
time_t dqb_itime;
};
struct dqstats {
__u32 lookups;
__u32 drops;
__u32 reads;
__u32 writes;
__u32 cache_hits;
__u32 allocated_dquots;
__u32 free_dquots;
__u32 syncs;
};
struct dquot {
struct dquot *dq_next;
struct dquot **dq_pprev;
struct list_head dq_free;
struct dquot *dq_hash_next;
struct dquot **dq_hash_pprev;
wait_queue_head_t dq_wait;
int dq_count;
struct super_block *dq_sb;
unsigned int dq_id;
kdev_t dq_dev;
short dq_type;
short dq_flags;
unsigned long dq_referenced;
struct dqblk dq_dqb;
};
# 208 "/usr/src/linux-2.4.2/include/linux/quota.h"
# 355 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
struct page;
struct address_space;
struct address_space_operations {
int (*writepage)(struct page *);
int (*readpage)(struct file *, struct page *);
int (*sync_page)(struct page *);
int (*prepare_write)(struct file *, struct page *, unsigned, unsigned);
int (*commit_write)(struct file *, struct page *, unsigned, unsigned);
int (*bmap)(struct address_space *, long);
};
struct address_space {
struct list_head clean_pages;
struct list_head dirty_pages;
struct list_head locked_pages;
unsigned long nrpages;
struct address_space_operations *a_ops;
struct inode *host;
struct vm_area_struct *i_mmap;
struct vm_area_struct *i_mmap_shared;
spinlock_t i_shared_lock;
};
struct block_device {
struct list_head bd_hash;
atomic_t bd_count;
dev_t bd_dev;
atomic_t bd_openers;
const struct block_device_operations *bd_op;
struct semaphore bd_sem;
};
struct inode {
struct list_head i_hash;
struct list_head i_list;
struct list_head i_dentry;
struct list_head i_dirty_buffers;
unsigned long i_ino;
atomic_t i_count;
kdev_t i_dev;
umode_t i_mode;
nlink_t i_nlink;
uid_t i_uid;
gid_t i_gid;
kdev_t i_rdev;
loff_t i_size;
time_t i_atime;
time_t i_mtime;
time_t i_ctime;
unsigned long i_blksize;
unsigned long i_blocks;
unsigned long i_version;
struct semaphore i_sem;
struct semaphore i_zombie;
struct inode_operations *i_op;
struct file_operations *i_fop;
struct super_block *i_sb;
wait_queue_head_t i_wait;
struct file_lock *i_flock;
struct address_space *i_mapping;
struct address_space i_data;
struct dquot *i_dquot[2 ];
struct pipe_inode_info *i_pipe;
struct block_device *i_bdev;
unsigned long i_dnotify_mask;
struct dnotify_struct *i_dnotify;
unsigned long i_state;
unsigned int i_flags;
unsigned char i_sock;
atomic_t i_writecount;
unsigned int i_attr_flags;
__u32 i_generation;
union {
struct minix_inode_info minix_i;
struct ext2_inode_info ext2_i;
struct hpfs_inode_info hpfs_i;
struct ntfs_inode_info ntfs_i;
struct msdos_inode_info msdos_i;
struct umsdos_inode_info umsdos_i;
struct iso_inode_info isofs_i;
struct nfs_inode_info nfs_i;
struct sysv_inode_info sysv_i;
struct affs_inode_info affs_i;
struct ufs_inode_info ufs_i;
struct efs_inode_info efs_i;
struct romfs_inode_info romfs_i;
struct shmem_inode_info shmem_i;
struct coda_inode_info coda_i;
struct smb_inode_info smbfs_i;
struct hfs_inode_info hfs_i;
struct adfs_inode_info adfs_i;
struct qnx4_inode_info qnx4_i;
struct reiserfs_inode_info reiserfs_i;
struct bfs_inode_info bfs_i;
struct udf_inode_info udf_i;
struct ncp_inode_info ncpfs_i;
struct proc_inode_info proc_i;
struct socket socket_i;
struct usbdev_inode_info usbdev_i;
void *generic_ip;
} u;
};
struct fown_struct {
int pid;
uid_t uid, euid;
int signum;
};
struct file {
struct list_head f_list;
struct dentry *f_dentry;
struct vfsmount *f_vfsmnt;
struct file_operations *f_op;
atomic_t f_count;
unsigned int f_flags;
mode_t f_mode;
loff_t f_pos;
unsigned long f_reada, f_ramax, f_raend, f_ralen, f_rawin;
struct fown_struct f_owner;
unsigned int f_uid, f_gid;
int f_error;
unsigned long f_version;
void *private_data;
};
extern spinlock_t files_lock;
extern int init_private_file(struct file *, struct dentry *, int);
typedef struct files_struct *fl_owner_t;
struct file_lock {
struct file_lock *fl_next;
struct list_head fl_link;
struct list_head fl_block;
fl_owner_t fl_owner;
unsigned int fl_pid;
wait_queue_head_t fl_wait;
struct file *fl_file;
unsigned char fl_flags;
unsigned char fl_type;
loff_t fl_start;
loff_t fl_end;
void (*fl_notify)(struct file_lock *);
void (*fl_insert)(struct file_lock *);
void (*fl_remove)(struct file_lock *);
struct fasync_struct * fl_fasync;
union {
struct nfs_lock_info nfs_fl;
} fl_u;
};
extern struct list_head file_lock_list;
# 1 "/usr/src/linux-2.4.2/include/linux/fcntl.h" 1
# 1 "/usr/src/linux-2.4.2/include/asm/fcntl.h" 1
struct flock {
short l_type;
short l_whence;
__kernel_off_t l_start;
__kernel_off_t l_len;
__kernel_pid_t l_pid;
};
# 4 "/usr/src/linux-2.4.2/include/linux/fcntl.h" 2
# 556 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
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 flock *);
extern int fcntl_setlk64(unsigned int, unsigned int, struct flock *);
extern void locks_init_lock(struct file_lock *);
extern void locks_copy_lock(struct file_lock *, struct file_lock *);
extern void locks_remove_posix(struct file *, fl_owner_t);
extern void locks_remove_flock(struct file *);
extern struct file_lock *posix_test_lock(struct file *, struct file_lock *);
extern int posix_lock_file(struct file *, struct file_lock *, unsigned int);
extern void posix_block_lock(struct file_lock *, struct file_lock *);
extern void posix_unblock_lock(struct file_lock *);
extern int __get_lease(struct inode *inode, unsigned int flags);
extern time_t lease_get_mtime(struct inode *);
extern int lock_may_read(struct inode *, loff_t start, unsigned long count);
extern int lock_may_write(struct inode *, loff_t start, unsigned long
count);
struct fasync_struct {
int magic;
int fa_fd;
struct fasync_struct *fa_next;
struct file *fa_file;
};
extern int fasync_helper(int, struct file *, int, struct fasync_struct **);
extern void kill_fasync(struct fasync_struct **, int, int);
extern void __kill_fasync(struct fasync_struct *, int, int);
struct nameidata {
struct dentry *dentry;
struct vfsmount *mnt;
struct qstr last;
unsigned int flags;
int last_type;
};
struct quota_mount_options
{
unsigned int flags;
struct semaphore dqio_sem;
struct semaphore dqoff_sem;
struct file *files[2 ];
time_t inode_expire[2 ];
time_t block_expire[2 ];
char rsquash[2 ];
};
# 1 "/usr/src/linux-2.4.2/include/linux/minix_fs_sb.h" 1
struct minix_sb_info {
unsigned long s_ninodes;
unsigned long s_nzones;
unsigned long s_imap_blocks;
unsigned long s_zmap_blocks;
unsigned long s_firstdatazone;
unsigned long s_log_zone_size;
unsigned long s_max_size;
int s_dirsize;
int s_namelen;
int s_link_max;
struct buffer_head ** s_imap;
struct buffer_head ** s_zmap;
struct buffer_head * s_sbh;
struct minix_super_block * s_ms;
unsigned short s_mount_state;
unsigned short s_version;
};
# 622 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ext2_fs_sb.h" 1
struct ext2_sb_info {
unsigned long s_frag_size;
unsigned long s_frags_per_block;
unsigned long s_inodes_per_block;
unsigned long s_frags_per_group;
unsigned long s_blocks_per_group;
unsigned long s_inodes_per_group;
unsigned long s_itb_per_group;
unsigned long s_gdb_count;
unsigned long s_desc_per_block;
unsigned long s_groups_count;
struct buffer_head * s_sbh;
struct ext2_super_block * s_es;
struct buffer_head ** s_group_desc;
unsigned short s_loaded_inode_bitmaps;
unsigned short s_loaded_block_bitmaps;
unsigned long s_inode_bitmap_number[8 ];
struct buffer_head * s_inode_bitmap[8 ];
unsigned long s_block_bitmap_number[8 ];
struct buffer_head * s_block_bitmap[8 ];
unsigned long s_mount_opt;
uid_t s_resuid;
gid_t s_resgid;
unsigned short s_mount_state;
unsigned short s_pad;
int s_addr_per_block_bits;
int s_desc_per_block_bits;
int s_inode_size;
int s_first_ino;
};
# 623 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/hpfs_fs_sb.h" 1
struct hpfs_sb_info {
ino_t sb_root;
unsigned sb_fs_size;
unsigned sb_bitmaps;
unsigned sb_dirband_start;
unsigned sb_dirband_size;
unsigned sb_dmap;
unsigned sb_n_free;
unsigned sb_n_free_dnodes;
uid_t sb_uid;
gid_t sb_gid;
umode_t sb_mode;
unsigned sb_conv : 2;
unsigned sb_eas : 2;
unsigned sb_err : 2;
unsigned sb_chk : 2;
unsigned sb_lowercase : 1;
unsigned sb_was_error : 1;
unsigned sb_chkdsk : 2;
unsigned sb_rd_fnode : 2;
unsigned sb_rd_inode : 2;
wait_queue_head_t sb_iget_q;
unsigned char *sb_cp_table;
unsigned *sb_bmp_dir;
unsigned sb_c_bitmap;
wait_queue_head_t sb_creation_de;
unsigned sb_creation_de_lock : 1;
int sb_timeshift;
};
# 624 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ntfs_fs_sb.h" 1
struct ntfs_sb_info{
ntfs_uid_t uid;
ntfs_gid_t gid;
ntmode_t umask;
unsigned int nct;
void *nls_map;
unsigned int ngt;
ntfs_size_t partition_bias;
ntfs_u32 at_standard_information;
ntfs_u32 at_attribute_list;
ntfs_u32 at_file_name;
ntfs_u32 at_volume_version;
ntfs_u32 at_security_descriptor;
ntfs_u32 at_volume_name;
ntfs_u32 at_volume_information;
ntfs_u32 at_data;
ntfs_u32 at_index_root;
ntfs_u32 at_index_allocation;
ntfs_u32 at_bitmap;
ntfs_u32 at_symlink;
int blocksize;
int clusterfactor;
int clustersize;
int mft_recordsize;
int mft_clusters_per_record;
int index_recordsize;
int index_clusters_per_record;
int mft_cluster;
unsigned char *mft;
unsigned short *upcase;
unsigned int upcase_length;
struct ntfs_inode_info *mft_ino;
struct ntfs_inode_info *mftmirr;
struct ntfs_inode_info *bitmap;
struct super_block *sb;
};
# 625 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/msdos_fs_sb.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/fat_cvf.h" 1
struct cvf_format
{ int cvf_version;
char* cvf_version_text;
unsigned long flags;
int (*detect_cvf) (struct super_block*sb);
int (*mount_cvf) (struct super_block*sb,char*options);
int (*unmount_cvf) (struct super_block*sb);
struct buffer_head* (*cvf_bread) (struct super_block*sb,int block);
struct buffer_head* (*cvf_getblk) (struct super_block*sb,int block);
void (*cvf_brelse) (struct super_block *sb,struct buffer_head *bh);
void (*cvf_mark_buffer_dirty) (struct super_block *sb,
struct buffer_head *bh);
void (*cvf_set_uptodate) (struct super_block *sb,
struct buffer_head *bh,
int val);
int (*cvf_is_uptodate) (struct super_block *sb,struct buffer_head *bh);
void (*cvf_ll_rw_block) (struct super_block *sb,
int opr,
int nbreq,
struct buffer_head *bh[32]);
int (*fat_access) (struct super_block *sb,int nr,int new_value);
int (*cvf_statfs) (struct super_block *sb,struct statfs *buf, int bufsiz);
int (*cvf_bmap) (struct inode *inode,int block);
ssize_t (*cvf_file_read) ( struct file *, char *, size_t, loff_t *);
ssize_t (*cvf_file_write) ( struct file *, const char *, size_t, loff_t
*);
int (*cvf_mmap) (struct file *, struct vm_area_struct *);
int (*cvf_readpage) (struct inode *, struct page *);
int (*cvf_writepage) (struct inode *, struct page *);
int (*cvf_dir_ioctl) (struct inode * inode, struct file * filp,
unsigned int cmd, unsigned long arg);
void (*zero_out_cluster) (struct inode*, int clusternr);
};
int register_cvf_format(struct cvf_format*cvf_format);
int unregister_cvf_format(struct cvf_format*cvf_format);
void dec_cvf_format_use_count_by_version(int version);
int detect_cvf(struct super_block*sb,char*force);
extern struct cvf_format *cvf_formats[];
extern int cvf_format_use_count[];
# 3 "/usr/src/linux-2.4.2/include/linux/msdos_fs_sb.h" 2
struct fat_mount_options {
uid_t fs_uid;
gid_t fs_gid;
unsigned short fs_umask;
unsigned short codepage;
char *iocharset;
unsigned char name_check;
unsigned char conversion;
unsigned quiet:1,
showexec:1,
sys_immutable:1,
dotsOK:1,
isvfat:1,
utf8:1,
unicode_xlate:1,
posixfs:1,
numtail:1,
atari:1,
fat32:1,
nocase:1;
};
struct vfat_unicode {
unsigned char uni1;
unsigned char uni2;
};
struct msdos_sb_info {
unsigned short cluster_size;
unsigned short cluster_bits;
unsigned char fats,fat_bits;
unsigned short fat_start;
unsigned long fat_length;
unsigned long dir_start;
unsigned short dir_entries;
unsigned long data_start;
unsigned long clusters;
unsigned long root_cluster;
unsigned long fsinfo_offset;
wait_queue_head_t fat_wait;
struct semaphore fat_lock;
int prev_free;
int free_clusters;
struct fat_mount_options options;
struct nls_table *nls_disk;
struct nls_table *nls_io;
struct cvf_format* cvf_format;
void *dir_ops;
void *private_data;
};
# 626 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/iso_fs_sb.h" 1
struct isofs_sb_info {
unsigned long s_ninodes;
unsigned long s_nzones;
unsigned long s_firstdatazone;
unsigned long s_log_zone_size;
unsigned long s_max_size;
unsigned char s_high_sierra;
unsigned char s_mapping;
unsigned char s_rock;
unsigned char s_joliet_level;
unsigned char s_utf8;
unsigned char s_cruft;
unsigned char s_unhide;
unsigned char s_nosuid;
unsigned char s_nodev;
mode_t s_mode;
gid_t s_gid;
uid_t s_uid;
struct nls_table *s_nls_iocharset;
};
# 627 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/nfs_fs_sb.h" 1
struct nfs_server {
struct rpc_clnt * client;
struct nfs_rpc_ops * rpc_ops;
int flags;
unsigned int rsize;
unsigned int rpages;
unsigned int wsize;
unsigned int wpages;
unsigned int dtsize;
unsigned int bsize;
unsigned int acregmin;
unsigned int acregmax;
unsigned int acdirmin;
unsigned int acdirmax;
unsigned int namelen;
char * hostname;
struct nfs_reqlist * rw_requests;
};
struct nfs_sb_info {
struct nfs_server s_server;
};
# 628 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/sysv_fs_sb.h" 1
struct sysv_sb_info {
int s_type;
unsigned int s_block_size;
unsigned int s_block_size_1;
unsigned int s_block_size_bits;
unsigned int s_block_size_inc_bits;
unsigned int s_block_size_dec_bits;
char s_convert;
char s_kludge_symlinks;
char s_truncate;
nlink_t s_link_max;
unsigned int s_inodes_per_block;
unsigned int s_inodes_per_block_1;
unsigned int s_inodes_per_block_bits;
unsigned int s_ind_per_block;
unsigned int s_ind_per_block_1;
unsigned int s_ind_per_block_bits;
unsigned int s_ind_per_block_2;
unsigned int s_ind_per_block_2_1;
unsigned int s_ind_per_block_2_bits;
unsigned int s_ind_per_block_3;
unsigned int s_ind_per_block_block_size_1;
unsigned int s_ind_per_block_block_size_bits;
unsigned int s_ind_per_block_2_block_size_1;
unsigned int s_ind_per_block_2_block_size_bits;
unsigned int s_ind0_size;
unsigned int s_ind1_size;
unsigned int s_ind2_size;
unsigned int s_toobig_block;
unsigned int s_block_base;
unsigned short s_fic_size;
unsigned short s_flc_size;
struct buffer_head *s_bh1;
struct buffer_head *s_bh2;
char * s_sbd1;
char * s_sbd2;
u16 *s_sb_fic_count;
u16 *s_sb_fic_inodes;
u16 *s_sb_total_free_inodes;
u16 *s_sb_flc_count;
u32 *s_sb_flc_blocks;
u32 *s_sb_total_free_blocks;
u32 *s_sb_time;
u32 *s_sb_state;
u32 s_firstinodezone;
u32 s_firstdatazone;
u32 s_ninodes;
u32 s_ndatazones;
u32 s_nzones;
};
# 629 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/affs_fs_sb.h" 1
struct affs_bm_info {
struct buffer_head *bm_bh;
s32 bm_firstblk;
s32 bm_key;
int bm_count;
};
struct affs_alloc_zone {
short az_size;
short az_count;
int az_free;
};
struct affs_zone {
unsigned long z_ino;
struct affs_bm_info *z_bm;
int z_start;
int z_end;
int z_az_no;
unsigned long z_lru_time;
};
struct affs_sb_info {
int s_partition_size;
int s_blksize;
s32 s_root_block;
int s_hashsize;
unsigned long s_flags;
s16 s_uid;
s16 s_gid;
umode_t s_mode;
int s_reserved;
struct buffer_head *s_root_bh;
struct affs_bm_info *s_bitmap;
int s_bm_count;
int s_nextzone;
int s_num_az;
struct affs_zone *s_zones;
struct affs_alloc_zone *s_alloc;
char *s_zonemap;
char *s_prefix;
int s_prefix_len;
char s_volume[32];
};
# 630 "/usr/src/linux-2.4.2/include/linux/fs.h" 2
# 1 "/usr/src/linux-2.4.2/include/linux/ufs_fs_sb.h" 1
# 1 "/usr/src/linux-2.4.2/include/linux/ufs_fs.h" 1
struct ufs_timeval {
__s32 tv_sec;
__s32 tv_usec;
};
struct ufs_dir_entry {
__u32 d_ino;
__u16 d_reclen;
union {
__u16 d_namlen;
struct {
__u8 d_type;
__u8 d_namlen;
} d_44;
} d_u;
__u8 d_name[255 + 1];
};
struct ufs_csum {
__u32 cs_ndir;
__u32 cs_nbfree;
__u32 cs_nifree;
__u32 cs_nffree;
};
struct ufs_super_block {
__u32 fs_link;
__u32 fs_rlink;
__u32 fs_sblkno;
__u32 fs_cblkno;
__u32 fs_iblkno;
__u32 fs_dblkno;
__u32 fs_cgoffset;
__u32 fs_cgmask;
__u32 fs_time;
__u32 fs_size;
__u32 fs_dsize;
__u32 fs_ncg;
__u32 fs_bsize;
__u32 fs_fsize;
__u32 fs_frag;
__u32 fs_minfree;
__u32 fs_rotdelay;
__u32 fs_rps;
__u32 fs_bmask;
__u32 fs_fmask;
__u32 fs_bshift;
__u32 fs_fshift;
__u32 fs_maxcontig;
__u32 fs_maxbpg;
__u32 fs_fragshift;
__u32 fs_fsbtodb;
__u32 fs_sbsize;
__u32 fs_csmask;
__u32 fs_csshift;
__u32 fs_nindir;
__u32 fs_inopb;
__u32 fs_nspf;
__u32 fs_optim;
union {
struct {
__u32 fs_npsect;
} fs_sun;
struct {
__s32 fs_state;
} fs_sunx86;
} fs_u1;
__u32 fs_interleave;
__u32 fs_trackskew;
__u32 fs_id[2];
__u32 fs_csaddr;
__u32 fs_cssize;
__u32 fs_cgsize;
__u32 fs_ntrak;
__u32 fs_nsect;
__u32 fs_spc;
__u32 fs_ncyl;
__u32 fs_cpg;
__u32 fs_ipg;
__u32 fs_fpg;
struct ufs_csum fs_cstotal;
__s8 fs_fmod;
__s8 fs_clean;
__s8 fs_ronly;
__s8 fs_flags;
__s8 fs_fsmnt[512 ];
__u32 fs_cgrotor;
__u32 fs_csp[31 ];
__u32 fs_maxcluster;
__u32 fs_cpc;
__u16 fs_opostbl[16][8];
union {
struct {
__s32 fs_sparecon[53];
__s32 fs_reclaim;
__s32 fs_sparecon2[1];
__s32 fs_state;
__u32 fs_qbmask[2];
__u32 fs_qfmask[2];
} fs_sun;
struct {
__s32 fs_sparecon[53];
__s32 fs_reclaim;
__s32 fs_sparecon2[1];
__u32 fs_npsect;
__u32 fs_qbmask[2];
__u32 fs_qfmask[2];
} fs_sunx86;
struct {
__s32 fs_sparecon[50];
__s32 fs_contigsumsize;
__s32 fs_maxsymlinklen;
__s32 fs_inodefmt;
__u32 fs_maxfilesize[2];
__u32 fs_qbmask[2];
__u32 fs_qfmask[2];
__s32 fs_state;
} fs_44;
} fs_u2;
__s32 fs_postblformat;
__s32 fs_nrpos;
__s32 fs_postbloff;
__s32 fs_rotbloff;
__s32 fs_magic;
__u8 fs_space[1];
};
struct ufs_cylinder_group {
__u32 cg_link;
__u32 cg_magic;
__u32 cg_time;
__u32 cg_cgx;
__u16 cg_ncyl;
__u16 cg_niblk;
__u32 cg_ndblk;
struct ufs_csum cg_cs;
__u32 cg_rotor;
__u32 cg_frotor;
__u32 cg_irotor;
__u32 cg_frsum[(8192 / 1024 ) ];
__u32 cg_btotoff;
__u32 cg_boff;
__u32 cg_iusedoff;
__u32 cg_freeoff;
__u32 cg_nextfreeoff;
union {
struct {
__u32 cg_clustersumoff;
__u32 cg_clusteroff;
__u32 cg_nclusterblks;
__u32 cg_sparecon[13];
} cg_44;
__u32 cg_sparecon[16];
} cg_u;
__u8 cg_space[1];
};
struct ufs_inode {
__u16 ui_mode;
__u16 ui_nlink;
union {
struct {
__u16 ui_suid;
__u16 ui_sgid;
} oldids;
__u32 ui_inumber;
__u32 ui_author;
} ui_u1;
__u64 ui_size;
struct ufs_timeval ui_atime;
struct ufs_timeval ui_mtime;
struct ufs_timeval ui_ctime;
union {
struct {
__u32 ui_db[12 ];
__u32 ui_ib[3 ];
} ui_addr;
__u8 ui_symlink[4*(12 + 3 )];
} ui_u2;
__u32 ui_flags;
__u32 ui_blocks;
__u32 ui_gen;
union {
struct {
__u32 ui_shadow;
__u32 ui_uid;
__u32 ui_gid;
__u32 ui_oeftflag;
} ui_sun;
struct {
__u32 ui_uid;
__u32 ui_gid;
__s32 ui_spare[2];
} ui_44;
struct {
__u32 ui_uid;
__u32 ui_gid;
__u16 ui_modeh;
__u16 ui_spare;
__u32 ui_trans;
} ui_hurd;
} ui_u3;
};
extern void ufs_free_fragments (struct inode *, unsigned, unsigned);
extern void ufs_free_blocks (struct inode *, unsigned, unsigned);
extern unsigned ufs_new_fragments (struct inode *, u32 *, unsigned,
unsigned, unsigned, int *);
extern struct ufs_cg_private_info * ufs_load_cylinder (struct super_block *,
unsigned);
extern void ufs_put_cylinder (struct super_block *, unsigned);
extern struct inode_operations ufs_dir_inode_operations;
extern int ufs_check_dir_e