Changeset 5e790e6 in mainline


Ignore:
Timestamp:
2008-03-28T08:44:29Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
81c0171e
Parents:
2f60a529
Message:

Fix FAT boot sector definition and introduce the FAT in-core node type.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/fat/fat.h

    r2f60a529 r5e790e6  
    11/*
    2  * Copyright (c) 2007 Jakub Jermar
     2 * Copyright (c) 2008 Jakub Jermar
    33 * All rights reserved.
    44 *
     
    3939#include <sys/types.h>
    4040#include <bool.h>
     41#include "../../vfs/vfs.h"
    4142
    4243#define dprintf(...)    printf(__VA_ARGS__)
     
    4849        uint16_t        bps;            /**< Bytes per sector. */
    4950        uint8_t         spc;            /**< Sectors per cluster. */
    50         uint16_t        rsc;            /**< Reserved sector count. */
     51        uint16_t        rscnt;          /**< Reserved sector count. */
    5152        uint8_t         fatcnt;         /**< Number of FATs. */
    5253        uint16_t        root_ent_max;   /**< Maximum number of root directory
    5354                                             entries. */
    54         uint16_t        totsec;         /**< Total sectors. */
     55        uint16_t        totsec16;       /**< Total sectors. 16-bit version. */
    5556        uint8_t         mdesc;          /**< Media descriptor. */
    5657        uint16_t        sec_per_fat;    /**< Sectors per FAT12/FAT16. */
     
    5859        uint16_t        headcnt;        /**< Number of heads. */
    5960        uint32_t        hidden_sec;     /**< Hidden sectors. */
    60         uint32_t        total_sec;      /**< Total sectors. */
     61        uint32_t        totseci32;      /**< Total sectors. 32-bit version. */
    6162
    6263        union {
     
    102103                        uint32_t        id;
    103104                        /** Volume label. */
    104                         uint8_t         label;
     105                        uint8_t         label[11];
    105106                        /** FAT type. */
    106107                        uint8_t         type[8];
     
    135136} __attribute__ ((packed)) fat_dentry_t;
    136137
     138typedef enum {
     139        FAT_DIRECTORY,
     140        FAT_FILE
     141} fat_node_type_t;
     142
     143/** FAT in-core node. */
     144typedef struct {
     145        fat_node_type_t         type;
     146        /** VFS index is the node's first allocated cluster. */
     147        fs_index_t              index;
     148        dev_handle_t            dev_handle;
     149        /** FAT in-core node hash table link. */
     150        link_t                  fin_link;
     151        size_t                  size;
     152        unsigned                lnkcnt;
     153} fat_node_t;
     154
    137155extern fs_reg_t fat_reg;
    138156
Note: See TracChangeset for help on using the changeset viewer.