/*
- * $Id: fork.h,v 1.14 2009-10-13 22:55:37 didg Exp $
+ * $Id: fork.h,v 1.18 2010-03-12 15:16:49 franklahm Exp $
*
* Copyright (c) 1990,1993 Regents of The University of Michigan.
* All Rights Reserved. See COPYRIGHT.
#define AFPFORK_ACCWR (1<<5)
#define AFPFORK_ACCMASK (AFPFORK_ACCRD | AFPFORK_ACCWR)
+#ifdef AFS
+extern struct ofork *writtenfork;
+#endif
+
#define of_name(a) (a)->of_ad->ad_m_name
/* in ofork.c */
extern struct ofork *of_alloc (struct vol *, struct dir *,
extern int of_flush (const struct vol *);
extern void of_pforkdesc (FILE *);
extern int of_stat (struct path *);
-extern int of_statdir (const struct vol *vol, struct path *);
+extern int of_statdir (struct vol *vol, struct path *);
extern int of_closefork (struct ofork *ofork);
extern void of_closevol (const struct vol *vol);
extern struct adouble *of_ad (const struct vol *, struct path *, struct adouble *);
+
+#ifdef HAVE_RENAMEAT
+extern struct ofork *of_findnameat(int dirfd, struct path *path);
+extern int of_fstatat(int dirfd, struct path *path);
+#endif /* HAVE_RENAMEAT */
+
+
/* in fork.c */
extern int flushfork (struct ofork *);
extern int getforkmode (struct adouble *, int , int );
/* FP functions */
-extern int afp_openfork (AFPObj *, char *, int, char *, int *);
-extern int afp_bytelock (AFPObj *, char *, int, char *, int *);
-extern int afp_getforkparams (AFPObj *, char *, int, char *, int *);
-extern int afp_setforkparams (AFPObj *, char *, int, char *, int *);
-extern int afp_read (AFPObj *, char *, int, char *, int *);
-extern int afp_write (AFPObj *, char *, int, char *, int *);
-extern int afp_flushfork (AFPObj *, char *, int, char *, int *);
-extern int afp_flush (AFPObj *, char *, int, char *, int *);
-extern int afp_closefork (AFPObj *, char *, int, char *, int *);
-
-extern int afp_bytelock_ext (AFPObj *, char *, int, char *, int *);
-extern int afp_read_ext (AFPObj *, char *, int, char *, int *);
-extern int afp_write_ext (AFPObj *, char *, int, char *, int *);
-extern int afp_syncfork (AFPObj *, char *, int, char *, int *);
+int afp_openfork (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_bytelock (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_getforkparams (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_setforkparams (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_read (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_write (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_flushfork (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_flush (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_closefork (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+
+int afp_bytelock_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_read_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_write_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
+int afp_syncfork (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen);
#endif