ufs1_ino_t
int mapfiles(ufs1_ino_t maxino, long *);
int mapdirs(ufs1_ino_t maxino, long *);
void blksout(daddr_t *, int, ufs1_ino_t);
void dumpino(struct ufs1_dinode *, ufs1_ino_t);
void dumpmap(const char *, int, ufs1_ino_t);
void writeheader(ufs1_ino_t);
struct ufs1_dinode *getino(ufs1_ino_t);
extern ufs1_ino_t curino; /* current inumber; used globally */
ufs1_ino_t ino;
ufs1_ino_t maxino;
ufs1_ino_t curino; /* current inumber; used globally */
writeheader((ufs1_ino_t)slp->inode);
mapfiles(ufs1_ino_t maxino, long *tape_size)
ufs1_ino_t ino;
mapdirs(ufs1_ino_t maxino, long *tape_size)
ufs1_ino_t ino;
dirindir(ufs1_ino_t ino, daddr_t blkno, int ind_level, long *filesize,
searchdir(ufs1_ino_t ino, daddr_t blkno, long size, long filesize,
dumpino(struct ufs1_dinode *dp, ufs1_ino_t ino)
dmpindir(ufs1_ino_t ino, daddr_t blk, int ind_level, fsizeT *size)
blksout(daddr_t *blkp, int frags, ufs1_ino_t ino)
dumpmap(const char *map, int type, ufs1_ino_t ino)
writeheader(ufs1_ino_t ino)
getino(ufs1_ino_t inum)
static int dirindir(ufs1_ino_t, daddr_t, int, long *, long *, int);
static void dmpindir(ufs1_ino_t, daddr_t, int, fsizeT *);
static int searchdir(ufs1_ino_t, daddr_t, long, long, long *, int);
direrror(ufs1_ino_t ino, char *errmesg)
fileerror(ufs1_ino_t cwd, ufs1_ino_t ino, char *errmesg)
if (linkup(idesc->id_number, (ufs1_ino_t)0, NULL) == 0) {
linkup(ufs1_ino_t orphan, ufs1_ino_t parentdir, char *name)
ufs1_ino_t oldlfdir;
lfdir = allocdir(UFS_ROOTINO, (ufs1_ino_t)0,
ufs1_ino_t lfdir; /* lost & found directory inode number */
if ((lfdir = allocdir(UFS_ROOTINO, (ufs1_ino_t)0, lfmode)) == 0) {
parentdir != (ufs1_ino_t)-1)
if (parentdir != (ufs1_ino_t)-1) {
changeino(ufs1_ino_t dir, char *name, ufs1_ino_t newnum)
makeentry(ufs1_ino_t parent, ufs1_ino_t ino, char *name)
static void freedir(ufs1_ino_t ino, ufs1_ino_t parent);
ufs1_ino_t
allocdir(ufs1_ino_t parent, ufs1_ino_t request, int mode)
ufs1_ino_t ino;
static int lftempname(char *bufp, ufs1_ino_t ino);
freedir(ufs1_ino_t ino, ufs1_ino_t parent)
lftempname(char *bufp, ufs1_ino_t ino)
ufs1_ino_t in;
ufs1_ino_t id_number; /* inode number described */
ufs1_ino_t id_parent; /* for DATA nodes, their parent */
ufs1_ino_t zlncnt;
ufs1_ino_t i_number; /* inode number of this entry */
ufs1_ino_t i_parent; /* inode number of parent */
ufs1_ino_t i_dotdot; /* inode number of `..' */
extern ufs1_ino_t maxino; /* number of inodes in file system */
extern ufs1_ino_t lfdir; /* lost & found directory inode number */
extern ufs1_ino_t allocdir(ufs1_ino_t, ufs1_ino_t, int);
extern ufs1_ino_t allocino(ufs1_ino_t, int);
extern void blkerror(ufs1_ino_t, char *, ufs_daddr_t);
extern void cacheino(struct ufs1_dinode *, ufs1_ino_t);
extern int changeino(ufs1_ino_t, char *, ufs1_ino_t);
extern void direrror(ufs1_ino_t, char *);
extern void fileerror(ufs1_ino_t, ufs1_ino_t, char *);
extern void freeino(ufs1_ino_t);
extern struct inoinfo *getinoinfo(ufs1_ino_t);
extern struct ufs1_dinode *getnextinode(ufs1_ino_t);
extern void getpathname(char *, ufs1_ino_t, ufs1_ino_t);
extern struct ufs1_dinode *ginode(ufs1_ino_t);
extern struct inostat *inoinfo(ufs1_ino_t);
extern int linkup(ufs1_ino_t, ufs1_ino_t, char *);
extern int makeentry(ufs1_ino_t, ufs1_ino_t, char *);
extern void pinode(ufs1_ino_t);
extern void setinodebuf(ufs1_ino_t);
ginode(ufs1_ino_t inumber)
ufs1_ino_t nextino, lastinum;
getnextinode(ufs1_ino_t inumber)
setinodebuf(ufs1_ino_t inum)
cacheino(struct ufs1_dinode *dp, ufs1_ino_t inumber)
inp->i_parent = inumber == UFS_ROOTINO ? UFS_ROOTINO : (ufs1_ino_t)0;
inp->i_dotdot = (ufs1_ino_t)0;
getinoinfo(ufs1_ino_t inumber)
static ufs1_ino_t startinum;
pinode(ufs1_ino_t ino)
blkerror(ufs1_ino_t ino, char *type, ufs_daddr_t blk)
ufs1_ino_t
allocino(ufs1_ino_t request, int type)
ufs1_ino_t ino;
freeino(ufs1_ino_t ino)
checkinode(ufs1_ino_t inumber, struct inodesc *idesc)
static ufs1_ino_t lastino; /* last inode in use */
static void checkinode(ufs1_ino_t inumber, struct inodesc *);
ufs1_ino_t inumber;
ufs1_ino_t inumber;
inp->i_dotdot == (ufs1_ino_t)-1)
inp->i_dotdot = (ufs1_ino_t)-1;
inp->i_dotdot = (ufs1_ino_t)-1;
ufs1_ino_t orphan;
ufs1_ino_t inumber;
ufs1_ino_t maxino; /* number of inodes in file system */
inoinfo(ufs1_ino_t inum)
getpathname(char *namebuf, ufs1_ino_t curdir, ufs1_ino_t ino)
static struct inotab *allocinotab(ufs1_ino_t, struct ufs1_dinode *, long);
static struct inotab *inotablookup(ufs1_ino_t);
static struct direct *searchdir(ufs1_ino_t, char *);
treescan(char *pname, ufs1_ino_t ino, long (*todo)(char *, ufs1_ino_t, int))
ufs1_ino_t ino;
searchdir(ufs1_ino_t inum, char *name)
ufs1_ino_t ino;
genliteraldir(char *name, ufs1_ino_t ino)
ufs1_ino_t t_ino;
inodetype(ufs1_ino_t ino)
allocinotab(ufs1_ino_t ino, struct ufs1_dinode *dip, long seekptl)
inotablookup(ufs1_ino_t ino)
ufs1_ino_t ino;
struct entry *addentry(const char *, ufs1_ino_t, int);
long addfile(char *, ufs1_ino_t, int);
long deletefile(char *, ufs1_ino_t, int);
void deleteino(ufs1_ino_t);
ufs1_ino_t dirlookup(const char *);
int genliteraldir(char *, ufs1_ino_t);
int inodetype(ufs1_ino_t);
struct entry *lookupino(ufs1_ino_t);
long listfile(char *, ufs1_ino_t, int);
ufs1_ino_t lowerbnd(ufs1_ino_t);
long nodeupdates(char *, ufs1_ino_t, int);
void treescan(char *, ufs1_ino_t, long (*)(char *, ufs1_ino_t, int));
ufs1_ino_t upperbnd(ufs1_ino_t);
long verifyfile(char *, ufs1_ino_t, int);
ufs1_ino_t fnum; /* inode number of file */
ufs1_ino_t ino;
ufs1_ino_t maxino;
ufs1_ino_t ino;
deletefile(char *name, ufs1_ino_t ino, int type __unused)
ufs1_ino_t i, mydirino;
nodeupdates(char *name, ufs1_ino_t ino, int type)
listfile(char *name, ufs1_ino_t ino, int type)
ufs1_ino_t i;
ufs1_ino_t first;
addfile(char *name, ufs1_ino_t ino, int type)
ufs1_ino_t first, next, last;
ufs1_ino_t i;
ufs1_ino_t i;
verifyfile(char *name, ufs1_ino_t ino, int type)
ufs1_ino_t ino; /* inumber of file */
extern ufs1_ino_t maxino; /* highest numbered inode in this file system */
ufs1_ino_t e_ino; /* inode number in previous file sys */
deleteino(ufs1_ino_t inum)
addentry(const char *name, ufs1_ino_t inum, int type)
ufs1_ino_t inum;
ufs1_ino_t maxino;
ufs1_ino_t i;
static void addino(ufs1_ino_t, struct entry *);
lookupino(ufs1_ino_t inum)
addino(ufs1_ino_t inum, struct entry *np)
static ufs1_ino_t previno = 0x7fffffff;
ufs1_ino_t
lowerbnd(ufs1_ino_t start)
ufs1_ino_t
upperbnd(ufs1_ino_t start)
ufs1_ino_t
ufs1_ino_t ino;