1 /* Function prototypes. */
3 /* Structs used in prototypes must be declared as such first. */
11 _PROTOTYPE( zone_t alloc_zone
, (dev_t dev
, zone_t z
) );
12 _PROTOTYPE( void buf_pool
, (int bufs
) );
13 _PROTOTYPE( void flushall
, (dev_t dev
) );
14 _PROTOTYPE( void free_zone
, (dev_t dev
, zone_t numb
) );
15 _PROTOTYPE( struct buf
*get_block
, (dev_t dev
, block_t block
,int only_search
));
16 _PROTOTYPE( void invalidate
, (dev_t device
) );
17 _PROTOTYPE( void put_block
, (struct buf
*bp
, int block_type
) );
18 _PROTOTYPE( void set_blocksize
, (int blocksize
) );
19 _PROTOTYPE( void rw_scattered
, (dev_t dev
,
20 struct buf
**bufq
, int bufqsize
, int rw_flag
) );
23 _PROTOTYPE( int block_dev_io
, (int op
, dev_t dev
, int proc
, void *buf
,
24 u64_t pos
, int bytes
, int flags
) );
25 _PROTOTYPE( int dev_open
, (endpoint_t driver_e
, dev_t dev
, int proc
,
27 _PROTOTYPE( void dev_close
, (endpoint_t driver_e
, dev_t dev
) );
28 _PROTOTYPE( int fs_clone_opcl
, (void) );
29 _PROTOTYPE( int fs_new_driver
, (void) );
32 _PROTOTYPE( struct inode
*alloc_inode
, (dev_t dev
, mode_t bits
) );
33 _PROTOTYPE( void dup_inode
, (struct inode
*ip
) );
34 _PROTOTYPE( struct inode
*find_inode
, (dev_t dev
, int numb
) );
35 _PROTOTYPE( void free_inode
, (dev_t dev
, Ino_t numb
) );
36 _PROTOTYPE( int fs_getnode
, (void) );
37 _PROTOTYPE( int fs_putnode
, (void) );
38 _PROTOTYPE( void init_inode_cache
, (void) );
39 _PROTOTYPE( struct inode
*get_inode
, (dev_t dev
, int numb
) );
40 _PROTOTYPE( void put_inode
, (struct inode
*rip
) );
41 _PROTOTYPE( void update_times
, (struct inode
*rip
) );
42 _PROTOTYPE( void rw_inode
, (struct inode
*rip
, int rw_flag
) );
43 _PROTOTYPE( void wipe_inode
, (struct inode
*rip
) );
46 _PROTOTYPE( int freesp_inode
, (struct inode
*rip
, off_t st
, off_t end
) );
47 _PROTOTYPE( int fs_ftrunc
, (void) );
48 _PROTOTYPE( int fs_link
, (void) );
49 _PROTOTYPE( int fs_rdlink
, (void) );
50 _PROTOTYPE( int fs_rename
, (void) );
51 _PROTOTYPE( int fs_unlink
, (void) );
52 _PROTOTYPE( int truncate_inode
, (struct inode
*rip
, off_t len
) );
55 _PROTOTYPE( void reply
, (endpoint_t who
, message
*m_out
) );
58 _PROTOTYPE( int fs_flush
, (void) );
59 _PROTOTYPE( int fs_sync
, (void) );
62 _PROTOTYPE( int fs_mountpoint
, (void) );
63 _PROTOTYPE( int fs_readsuper
, (void) );
64 _PROTOTYPE( int fs_unmount
, (void) );
67 _PROTOTYPE( int fs_create
, (void) );
68 _PROTOTYPE( int fs_inhibread
, (void) );
69 _PROTOTYPE( int fs_mkdir
, (void) );
70 _PROTOTYPE( int fs_mknod
, (void) );
71 _PROTOTYPE( int fs_slink
, (void) );
74 _PROTOTYPE( int fs_lookup
, (void) );
75 _PROTOTYPE( struct inode
*advance
, (struct inode
*dirp
,
76 char string
[NAME_MAX
], int chk_perm
) );
77 _PROTOTYPE( int search_dir
, (struct inode
*ldir_ptr
,
78 char string
[NAME_MAX
], ino_t
*numb
, int flag
,
79 int check_permissions
) );
83 _PROTOTYPE( int fs_chmod
, (void) );
84 _PROTOTYPE( int fs_chown
, (void) );
85 _PROTOTYPE( int fs_getdents
, (void) );
86 _PROTOTYPE( int forbidden
, (struct inode
*rip
, mode_t access_desired
) );
87 _PROTOTYPE( int read_only
, (struct inode
*ip
) );
90 _PROTOTYPE( int fs_breadwrite
, (void) );
91 _PROTOTYPE( int fs_readwrite
, (void) );
92 _PROTOTYPE( struct buf
*rahead
, (struct inode
*rip
, block_t baseblock
,
93 u64_t position
, unsigned bytes_ahead
) );
94 _PROTOTYPE( void read_ahead
, (void) );
95 _PROTOTYPE( block_t read_map
, (struct inode
*rip
, off_t pos
) );
96 _PROTOTYPE( zone_t rd_indir
, (struct buf
*bp
, int index
) );
99 _PROTOTYPE( int fs_fstatfs
, (void) );
100 _PROTOTYPE( int fs_stat
, (void) );
103 _PROTOTYPE( bit_t alloc_bit
, (struct super_block
*sp
, int map
, bit_t origin
));
104 _PROTOTYPE( void free_bit
, (struct super_block
*sp
, int map
,
105 bit_t bit_returned
) );
106 _PROTOTYPE( int get_block_size
, (dev_t dev
) );
107 _PROTOTYPE( struct super_block
*get_super
, (dev_t dev
) );
108 _PROTOTYPE( int mounted
, (struct inode
*rip
) );
109 _PROTOTYPE( int read_super
, (struct super_block
*sp
) );
112 _PROTOTYPE( int fs_utime
, (void) );
115 _PROTOTYPE( time_t clock_time
, (void) );
116 _PROTOTYPE( unsigned conv2
, (int norm
, int w
) );
117 _PROTOTYPE( long conv4
, (int norm
, long x
) );
118 _PROTOTYPE( int fetch_name
, (char *path
, int len
, int flag
) );
119 _PROTOTYPE( void mfs_nul_f
, (char *file
, int line
, char *str
, int len
,
121 _PROTOTYPE( int mfs_min_f
, (char *file
, int line
, int len1
, int len2
) );
122 _PROTOTYPE( int no_sys
, (void) );
123 _PROTOTYPE( int isokendpt_f
, (char *f
, int l
, int e
, int *p
, int ft
));
124 _PROTOTYPE( void sanitycheck
, (char *file
, int line
) );
125 #define SANITYCHECK sanitycheck(__FILE__, __LINE__)
128 _PROTOTYPE( void clear_zone
, (struct inode
*rip
, off_t pos
, int flag
) );
129 _PROTOTYPE( struct buf
*new_block
, (struct inode
*rip
, off_t position
) );
130 _PROTOTYPE( void zero_block
, (struct buf
*bp
) );
131 _PROTOTYPE( int write_map
, (struct inode
*, off_t
, zone_t
, int) );