~ubuntu-branches/debian/jessie/ufsutils/jessie

« back to all changes in this revision

Viewing changes to libufs/libufs.h

  • Committer: Bazaar Package Importer
  • Author(s): Guillem Jover, Robert Millan, Guillem Jover, Peter Pentchev
  • Date: 2011-05-31 03:50:05 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20110531035005-wyiyk25p99ivd0k0
Tags: 8.2-1
[ Robert Millan ]
* Set ufsutils-udeb to kfreebsd-any.

[ Guillem Jover ]
* New upstream version (based on FreeBSD 8.2)
* Now using Standards-Version 3.9.2 (no changes needed).
* Switch to source format “3.0 (quilt)”.
  - Remove quilt from Build-Depends.
  - Remove patch target in debian/rules.
  - Remove now unneeded README.source.
  - Refresh all patches.
* Reorganize source code:
  - Switch from debian/upstream.sh to debian/rules get-orig-source target.
  - Switch from CVS to Subversion to retrieve the source code.
  - Use the same source layout as upstream (no more relocations),
    i.e. lib/, sbin/, sys/sys, sys/ufs.
  - Move libport/ to port/.
  - Merge libdisklabel/ into port/.
* Remove unneeded linking against libtermcap, thus removing the need for
  ncurses.
* Add an empty debian/watch file explaining that there's no packaged
  upstream releases. Suggested by Peter Pentchev.
* Update CVS to Subversion reference to upstream source code in
  debian/copyright.
* Remove unused lib variable from debian/rules.
* Use dpkg-buildflags to set CPPFLAGS, CFLAGS and LDFLAGS.
  Based on a patch by Peter Pentchev.
* Remove bogus reference to BSD license in /usr/share/common-licenses.
* Always set -I../../sys, even on GNU/kFreeBSD systems.

[ Peter Pentchev ]
* Remove duplicate section “utils” from ufsutils binary package.
* Remove XC- prefix from Package-Type.
* Honour CPPFLAGS and LDFLAGS and do not link with CFLAGS.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Copyright (c) 2002 Juli Mallett.  All rights reserved.
3
 
 *
4
 
 * This software was written by Juli Mallett <jmallett@FreeBSD.org> for the
5
 
 * FreeBSD project.  Redistribution and use in source and binary forms, with
6
 
 * or without modification, are permitted provided that the following
7
 
 * conditions are met:
8
 
 *
9
 
 * 1. Redistribution of source code must retain the above copyright notice,
10
 
 *    this list of conditions and the following disclaimer.
11
 
 * 2. Redistribution in binary form must reproduce the above copyright
12
 
 *    notice, this list of conditions and the following disclaimer in the
13
 
 *    documentation and/or other materials provided with the distribution.
14
 
 *
15
 
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16
 
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17
 
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18
 
 * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
19
 
 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
 
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
 
 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
22
 
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
23
 
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24
 
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
 
 * POSSIBILITY OF SUCH DAMAGE.
26
 
 *
27
 
 * $FreeBSD: src/lib/libufs/libufs.h,v 1.12.10.1 2010/02/10 00:26:20 kensmith Exp $
28
 
 */
29
 
 
30
 
#ifndef __LIBUFS_H__
31
 
#define __LIBUFS_H__
32
 
 
33
 
/*
34
 
 * libufs macros (internal, non-exported).
35
 
 */
36
 
#ifdef  _LIBUFS
37
 
#ifdef  _LIBUFS_DEBUGGING
38
 
/*
39
 
 * Trace steps through libufs, to be used at entry and erroneous return.
40
 
 */
41
 
#define ERROR(uufsd, str)                                       \
42
 
do {                                                            \
43
 
        fprintf(stderr, "libufs in %s", __func__);              \
44
 
        if (str != NULL)                                        \
45
 
                fprintf(stderr, ": %s", str);                   \
46
 
        if (errno)                                              \
47
 
                fprintf(stderr, ": %s", strerror(errno));       \
48
 
        fprintf(stderr, "\n");                                  \
49
 
        if ((uufsd) != NULL)                                    \
50
 
                (uufsd)->d_error = str;                         \
51
 
} while (0)
52
 
#else   /* _LIBUFS_DEBUGGING */
53
 
#define ERROR(uufsd, str)                                       \
54
 
do {                                                            \
55
 
        if ((uufsd) != NULL)                                    \
56
 
                (uufsd)->d_error = str;                         \
57
 
} while (0)
58
 
#endif  /* _LIBUFS_DEBUGGING */
59
 
#endif  /* _LIBUFS */
60
 
 
61
 
/*
62
 
 * libufs structures.
63
 
 */
64
 
 
65
 
/*
66
 
 * userland ufs disk.
67
 
 */
68
 
struct uufsd {
69
 
        const char *d_name;     /* disk name */
70
 
        int d_ufs;              /* decimal UFS version */
71
 
        int d_fd;               /* raw device file descriptor */
72
 
        long d_bsize;           /* device bsize */
73
 
        ufs2_daddr_t d_sblock;  /* superblock location */
74
 
        caddr_t d_inoblock;     /* inode block */
75
 
        ino_t d_inomin;         /* low inode */
76
 
        ino_t d_inomax;         /* high inode */
77
 
        union {
78
 
                struct fs d_fs; /* filesystem information */
79
 
                char d_sb[MAXBSIZE];
80
 
                                /* superblock as buffer */
81
 
        } d_sbunion;
82
 
        union {
83
 
                struct cg d_cg; /* cylinder group */
84
 
                char d_buf[MAXBSIZE];
85
 
                                /* cylinder group storage */
86
 
        } d_cgunion;
87
 
        int d_ccg;              /* current cylinder group */
88
 
        int d_lcg;              /* last cylinder group (in d_cg) */
89
 
        const char *d_error;    /* human readable disk error */
90
 
        int d_mine;             /* internal flags */
91
 
#define d_fs    d_sbunion.d_fs
92
 
#define d_sb    d_sbunion.d_sb
93
 
#define d_cg    d_cgunion.d_cg
94
 
};
95
 
 
96
 
__BEGIN_DECLS
97
 
 
98
 
/*
99
 
 * libufs prototypes.
100
 
 */
101
 
 
102
 
/*
103
 
 * block.c
104
 
 */
105
 
ssize_t bread(struct uufsd *, ufs2_daddr_t, void *, size_t);
106
 
ssize_t bwrite(struct uufsd *, ufs2_daddr_t, const void *, size_t);
107
 
 
108
 
/*
109
 
 * cgroup.c
110
 
 */
111
 
int cgread(struct uufsd *);
112
 
int cgread1(struct uufsd *, int);
113
 
int cgwrite1(struct uufsd *, int);
114
 
 
115
 
/*
116
 
 * inode.c
117
 
 */
118
 
int getino(struct uufsd *, void **, ino_t, int *);
119
 
 
120
 
/*
121
 
 * sblock.c
122
 
 */
123
 
int sbread(struct uufsd *);
124
 
int sbwrite(struct uufsd *, int);
125
 
 
126
 
/*
127
 
 * type.c
128
 
 */
129
 
int ufs_disk_close(struct uufsd *);
130
 
int ufs_disk_fillout(struct uufsd *, const char *);
131
 
int ufs_disk_fillout_blank(struct uufsd *, const char *);
132
 
int ufs_disk_write(struct uufsd *);
133
 
 
134
 
__END_DECLS
135
 
 
136
 
#endif  /* __LIBUFS_H__ */