/*
- * $Id: fork.h,v 1.4 2002-09-04 17:28:08 didg Exp $
+ * $Id: fork.h,v 1.11 2008-12-03 18:35:44 didg Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
};
struct ofork {
+ struct file_key key;
struct adouble *of_ad;
struct vol *of_vol;
struct dir *of_dir;
- char *of_name;
- int of_namelen;
u_int16_t of_refnum;
int of_flags;
- struct file_key key;
struct ofork **prevp, *next;
struct ofork *of_d_prev, *of_d_next;
};
#define OPENACC_DRD (1<<4)
#define OPENACC_DWR (1<<5)
+/* ofork.of_flags bits */
#define AFPFORK_OPEN (1<<0)
#define AFPFORK_RSRC (1<<1)
#define AFPFORK_DATA (1<<2)
#define AFPFORK_ACCWR (1<<5)
#define AFPFORK_ACCMASK (AFPFORK_ACCRD | AFPFORK_ACCWR)
+#define of_name(a) (a)->of_ad->ad_m_name
/* in ofork.c */
extern struct ofork *of_alloc __P((struct vol *, struct dir *,
char *, u_int16_t *, const int,
struct stat *));
extern void of_dealloc __P((struct ofork *));
extern struct ofork *of_find __P((const u_int16_t));
-extern struct ofork *of_findname __P((const struct vol *, const struct dir *,
- const char *,
- struct stat *));
+extern struct ofork *of_findname __P((struct path *));
extern int of_rename __P((const struct vol *,
struct ofork *,
struct dir *, const char *,
struct dir *, const char *));
extern int of_flush __P((const struct vol *));
extern void of_pforkdesc __P((FILE *));
-
+extern int of_stat __P((struct path *));
+extern int of_statdir __P((const struct vol *vol, struct path *));
+extern int of_closefork __P((struct ofork *ofork));
+extern void of_closevol __P((const struct vol *vol));
+extern struct adouble *of_ad __P((const struct vol *, struct path *, struct adouble *));
/* in fork.c */
extern int flushfork __P((struct ofork *));
+extern int getforkmode __P((struct adouble *, int , int ));
/* FP functions */
extern int afp_openfork __P((AFPObj *, char *, int, char *, int *));
extern int afp_flush __P((AFPObj *, char *, int, char *, int *));
extern int afp_closefork __P((AFPObj *, char *, int, char *, int *));
+extern int afp_bytelock_ext __P((AFPObj *, char *, int, char *, int *));
+extern int afp_read_ext __P((AFPObj *, char *, int, char *, int *));
+extern int afp_write_ext __P((AFPObj *, char *, int, char *, int *));
#endif