pcnode
struct pcnode *pcp, /* pcnode for file */
pc_bfree(struct pcnode *pcp, pc_cluster32_t skipcl)
pc_bmap(struct pcnode *pcp, daddr_t lcn, daddr_t *dbnp, uint_t *contigbp)
pc_match_long_fn(struct pcnode *pcp, char *namep, struct pcdir **epp,
pc_match_short_fn(struct pcnode *pcp, char *namep, struct pcdir **epp,
pc_remove_long_fn(struct pcnode *pcp, offset_t lfn_offset)
pc_find_free_space(struct pcnode *pcp, int ndirentries)
struct pcnode *dp, /* directory to make entry in */
struct pcnode **pcpp)
direntries_needed(struct pcnode *dp, char *namep)
pc_name_to_pcdir(struct pcnode *dp, char *namep, int ndirentries, int *errret)
generate_short_name(struct pcnode *dp, char *namep, struct pcdir *inep)
shortname_exists(struct pcnode *dp, char *fname, char *fext)
pc_makedirentry(struct pcnode *dp, struct pcdir *direntries,
struct pcnode *dp,
struct pcnode *pcp;
static int pc_makedirentry(struct pcnode *dp, struct pcdir *direntries,
static int pc_dirempty(struct pcnode *);
static int pc_findentry(struct pcnode *, char *, struct pcslot *, offset_t *);
pc_dirempty(struct pcnode *pcp)
static int pc_remove_long_fn(struct pcnode *pcp,
static int generate_short_name(struct pcnode *dp, char *namep,
static struct pcdir *pc_name_to_pcdir(struct pcnode *dp, char *namep,
struct pcnode *dp, /* parent directory */
struct pcnode *tdp, /* target directory */
static offset_t pc_find_free_space(struct pcnode *pcp, int ndirentries);
struct pcnode *pcp; /* pcnode we are trying to rename */
struct pcnode *tpcp = NULL; /* pcnode that's in our way */
static int direntries_needed(struct pcnode *dp, char *namep);
static int shortname_exists(struct pcnode *dp, char *fname, char *fext);
static int pc_dirfixdotdot(struct pcnode *cdp, struct pcnode *opdp,
struct pcnode *npdp);
struct pcnode *dp, /* parent directory */
struct pcnode **pcpp) /* result */
pc_dirfixdotdot(struct pcnode *dp, /* child directory being moved */
struct pcnode *opdp, /* old parent directory */
struct pcnode *npdp) /* new parent directory */
struct pcnode *dp, /* parent directory */
struct pcnode *pcp,
pcp != (struct pcnode *)hp; pcp = pcp->pc_forw) {
pcp != (struct pcnode *)hp; pcp = pcp->pc_forw) {
pcp = kmem_zalloc(sizeof (struct pcnode), KM_SLEEP);
syncpcp(struct pcnode *pcp, int flags)
pc_rele(struct pcnode *pcp)
kmem_free(pcp, sizeof (struct pcnode));
pc_mark_mod(struct pcfs *fsp, struct pcnode *pcp)
pc_mark_acc(struct pcfs *fsp, struct pcnode *pcp)
pc_truncate(struct pcnode *pcp, uint_t length)
pc_getentryblock(struct pcnode *pcp, struct buf **bpp)
pc_nodesync(struct pcnode *pcp)
pc_nodeupdate(struct pcnode *pcp)
static int pc_getentryblock(struct pcnode *, struct buf **);
static int syncpcp(struct pcnode *, int);
struct pcnode *pcp, *npcp = NULL;
pcp != (struct pcnode *)hp; pcp = npcp) {
kmem_free(pcp, sizeof (struct pcnode));
pcp != (struct pcnode *)hp; pcp = npcp) {
kmem_free(pcp, sizeof (struct pcnode));
hdp->pch_forw = (struct pcnode *)hdp;
hdp->pch_back = (struct pcnode *)hdp;
hfp->pch_forw = (struct pcnode *)hfp;
hfp->pch_back = (struct pcnode *)hfp;
struct pcnode *
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
while (pcp != (struct pcnode *)hp) {
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *dp; /* parent pcnode */
struct pcnode *tdp;
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
static int rwpcp(struct pcnode *, struct uio *, enum uio_rw, int);
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
pc_extract_long_fn(struct pcnode *pcp, char *namep,
struct pcnode *pcp;
struct pcnode *pcp = VTOPC(dvp);
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp,
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
struct pcnode *pcp;
kmem_free(pcp, sizeof (struct pcnode));
struct pcnode *pcp;
extern int pc_match_long_fn(struct pcnode *, char *, struct pcdir **,
extern int pc_match_short_fn(struct pcnode *, char *,
extern int pc_extract_long_fn(struct pcnode *, char *,
struct pcnode *pch_back;
extern struct pcnode *pc_getnode(struct pcfs *, daddr_t, int, struct pcdir *);
extern void pc_rele(struct pcnode *);
extern void pc_mark_mod(struct pcfs *, struct pcnode *);
extern void pc_mark_acc(struct pcfs *, struct pcnode *);
extern int pc_nodesync(struct pcnode *);
extern int pc_nodeupdate(struct pcnode *);
extern int pc_bmap(struct pcnode *, daddr_t, daddr_t *, uint_t *);
extern int pc_balloc(struct pcnode *, daddr_t, int, daddr_t *);
extern int pc_bfree(struct pcnode *, pc_cluster32_t);
extern int pc_dirlook(struct pcnode *, char *, struct pcnode **);
extern int pc_direnter(struct pcnode *, char *, struct vattr *,
struct pcnode **);
extern int pc_dirremove(struct pcnode *, char *, struct vnode *, enum vtype,
extern int pc_rename(struct pcnode *, struct pcnode *, char *, char *,
extern int pc_blkatoff(struct pcnode *, offset_t, struct buf **,
extern int pc_truncate(struct pcnode *, uint_t);
struct pcnode *pc_forw; /* active list ptrs, must be first */
struct pcnode *pc_back;
#define VTOPC(VP) ((struct pcnode *)((VP)->v_data))
struct pcnode *pch_forw;