~ubuntu-branches/ubuntu/edgy/e2fsprogs/edgy

« back to all changes in this revision

Viewing changes to lib/ext2fs/ext2fsP.h

  • Committer: Bazaar Package Importer
  • Author(s): Yann Dirson
  • Date: 2002-03-21 23:58:48 UTC
  • Revision ID: james.westby@ubuntu.com-20020321235848-cmmy98hy0nihp922
Tags: upstream-1.27
ImportĀ upstreamĀ versionĀ 1.27

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * ext2fsP.h --- private header file for ext2 library
 
3
 * 
 
4
 * Copyright (C) 1997 Theodore Ts'o.
 
5
 *
 
6
 * %Begin-Header%
 
7
 * This file may be redistributed under the terms of the GNU Public
 
8
 * License.
 
9
 * %End-Header%
 
10
 */
 
11
 
 
12
#include "ext2fs.h"
 
13
 
 
14
/*
 
15
 * Badblocks list
 
16
 */
 
17
struct ext2_struct_badblocks_list {
 
18
        int     magic;
 
19
        int     num;
 
20
        int     size;
 
21
        blk_t   *list;
 
22
        int     badblocks_flags;
 
23
};
 
24
 
 
25
struct ext2_struct_badblocks_iterate {
 
26
        int             magic;
 
27
        badblocks_list  bb;
 
28
        int             ptr;
 
29
};
 
30
 
 
31
 
 
32
/*
 
33
 * Directory block iterator definition
 
34
 */
 
35
struct ext2_struct_dblist {
 
36
        int                     magic;
 
37
        ext2_filsys             fs;
 
38
        ext2_ino_t              size;
 
39
        ext2_ino_t              count;
 
40
        int                     sorted;
 
41
        struct ext2_db_entry *  list;
 
42
};
 
43
 
 
44
/*
 
45
 * For directory iterators
 
46
 */
 
47
struct dir_context {
 
48
        ext2_ino_t              dir;
 
49
        int             flags;
 
50
        char            *buf;
 
51
        int (*func)(ext2_ino_t  dir,
 
52
                    int entry,
 
53
                    struct ext2_dir_entry *dirent,
 
54
                    int offset,
 
55
                    int blocksize,
 
56
                    char        *buf,
 
57
                    void        *priv_data);
 
58
        void            *priv_data;
 
59
        errcode_t       errcode;
 
60
};
 
61
 
 
62
/*
 
63
 * Inode cache structure
 
64
 */
 
65
struct ext2_inode_cache {
 
66
        void *                          buffer;
 
67
        blk_t                           buffer_blk;
 
68
        int                             cache_last;
 
69
        int                             cache_size;
 
70
        int                             refcount;
 
71
        struct ext2_inode_cache_ent     *cache;
 
72
};
 
73
 
 
74
struct ext2_inode_cache_ent {
 
75
        ext2_ino_t              ino;
 
76
        struct ext2_inode       inode;
 
77
};
 
78
 
 
79
/* Function prototypes */
 
80
 
 
81
extern int ext2fs_process_dir_block(ext2_filsys         fs,
 
82
                                    blk_t               *blocknr,
 
83
                                    e2_blkcnt_t         blockcnt,
 
84
                                    blk_t               ref_block,
 
85
                                    int                 ref_offset,
 
86
                                    void                *priv_data);
 
87
 
 
88