Changes in uspace/srv/fs/fat/fat.h [ffa2c8ef:b69e4c0] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/fs/fat/fat.h
rffa2c8ef rb69e4c0 1 1 /* 2 2 * Copyright (c) 2008 Jakub Jermar 3 * Copyright (c) 2011 Oleg Romanenko 3 4 * All rights reserved. 4 5 * … … 46 47 #endif 47 48 48 #define min(a, b) 49 #define min(a, b) ((a) < (b) ? (a) : (b)) 49 50 50 51 /* … … 55 56 #define RSCNT(bs) uint16_t_le2host((bs)->rscnt) 56 57 #define FATCNT(bs) (bs)->fatcnt 57 #define SF(bs) uint16_t_le2host((bs)->sec_per_fat) 58 59 #define SF(bs) (uint16_t_le2host((bs)->sec_per_fat) ? \ 60 uint16_t_le2host((bs)->sec_per_fat) : \ 61 uint32_t_le2host(bs->fat32.sectors_per_fat)) 62 58 63 #define RDE(bs) uint16_t_le2host((bs)->root_ent_max) 59 #define TS(bs) (uint16_t_le2host((bs)->totsec16) != 0 ? \ 60 uint16_t_le2host((bs)->totsec16) : \ 61 uint32_t_le2host(bs->totsec32)) 62 63 #define BS_BLOCK 0 64 #define BS_SIZE 512 64 65 #define TS(bs) (uint16_t_le2host((bs)->totsec16) ? \ 66 uint16_t_le2host((bs)->totsec16) : \ 67 uint32_t_le2host(bs->totsec32)) 68 69 #define BS_BLOCK 0 70 #define BS_SIZE 512 65 71 66 72 typedef struct fat_bs { … … 135 141 } __attribute__ ((packed)) fat_bs_t; 136 142 143 #define FAT32_FSINFO_SIG1 "RRaA" 144 #define FAT32_FSINFO_SIG2 "rrAa" 145 #define FAT32_FSINFO_SIG3 "\x00\x00\x55\xaa" 146 147 typedef struct { 148 uint8_t sig1[4]; 149 uint8_t res1[480]; 150 uint8_t sig2[4]; 151 uint32_t free_clusters; 152 uint32_t last_allocated_cluster; 153 uint8_t res2[12]; 154 uint8_t sig3[4]; 155 } __attribute__ ((packed)) fat32_fsinfo_t; 156 137 157 typedef enum { 138 158 FAT_INVALID, … … 175 195 176 196 fibril_mutex_t lock; 177 devmap_handle_t devmap_handle;197 service_id_t service_id; 178 198 fs_index_t index; 179 199 /** … … 224 244 } fat_node_t; 225 245 226 extern fs_reg_t fat_reg; 227 228 extern void fat_mounted(ipc_callid_t, ipc_call_t *); 229 extern void fat_mount(ipc_callid_t, ipc_call_t *); 230 extern void fat_unmounted(ipc_callid_t, ipc_call_t *); 231 extern void fat_unmount(ipc_callid_t, ipc_call_t *); 232 extern void fat_lookup(ipc_callid_t, ipc_call_t *); 233 extern void fat_read(ipc_callid_t, ipc_call_t *); 234 extern void fat_write(ipc_callid_t, ipc_call_t *); 235 extern void fat_truncate(ipc_callid_t, ipc_call_t *); 236 extern void fat_stat(ipc_callid_t, ipc_call_t *); 237 extern void fat_close(ipc_callid_t, ipc_call_t *); 238 extern void fat_destroy(ipc_callid_t, ipc_call_t *); 239 extern void fat_open_node(ipc_callid_t, ipc_call_t *); 240 extern void fat_stat(ipc_callid_t, ipc_call_t *); 241 extern void fat_sync(ipc_callid_t, ipc_call_t *); 242 243 extern int fat_idx_get_new(fat_idx_t **, devmap_handle_t); 244 extern fat_idx_t *fat_idx_get_by_pos(devmap_handle_t, fat_cluster_t, unsigned); 245 extern fat_idx_t *fat_idx_get_by_index(devmap_handle_t, fs_index_t); 246 typedef struct { 247 bool lfn_enabled; 248 } fat_instance_t; 249 250 extern vfs_out_ops_t fat_ops; 251 extern libfs_ops_t fat_libfs_ops; 252 253 extern int fat_idx_get_new(fat_idx_t **, service_id_t); 254 extern fat_idx_t *fat_idx_get_by_pos(service_id_t, fat_cluster_t, unsigned); 255 extern fat_idx_t *fat_idx_get_by_index(service_id_t, fs_index_t); 246 256 extern void fat_idx_destroy(fat_idx_t *); 247 257 extern void fat_idx_hashin(fat_idx_t *); … … 250 260 extern int fat_idx_init(void); 251 261 extern void fat_idx_fini(void); 252 extern int fat_idx_init_by_ devmap_handle(devmap_handle_t);253 extern void fat_idx_fini_by_ devmap_handle(devmap_handle_t);262 extern int fat_idx_init_by_service_id(service_id_t); 263 extern void fat_idx_fini_by_service_id(service_id_t); 254 264 255 265 #endif
Note:
See TracChangeset
for help on using the changeset viewer.