]> arthur.barton.de Git - netatalk.git/blobdiff - include/atalk/vfs.h
Symlink patch from Anton Starikov
[netatalk.git] / include / atalk / vfs.h
index dba6b231c8eb5a8824754791d7d7db5c174aeba2..a252909d884623ab5e556dc0f95fc6a01bc8c2fc 100644 (file)
 #define VFS_FUNC_ARGS_REMOVE_ACL const struct vol *vol, const char *path, int dir
 #define VFS_FUNC_VARS_REMOVE_ACL vol, path, dir
 
-#define VFS_FUNC_ARGS_EA_GETSIZE const struct vol * restrict vol, char * restrict rbuf, int * restrict rbuflen, const char * restrict uname, int oflag, const char * restrict attruname
+#define VFS_FUNC_ARGS_EA_GETSIZE const struct vol * restrict vol, char * restrict rbuf, size_t * restrict rbuflen, const char * restrict uname, int oflag, const char * restrict attruname
 #define VFS_FUNC_VARS_EA_GETSIZE vol, rbuf, rbuflen, uname, oflag, attruname
 
-#define VFS_FUNC_ARGS_EA_GETCONTENT const struct vol * restrict vol, char * restrict rbuf, int * restrict rbuflen,  const char * restrict uname, int oflag, const char * restrict attruname, int maxreply
+#define VFS_FUNC_ARGS_EA_GETCONTENT const struct vol * restrict vol, char * restrict rbuf, size_t * restrict rbuflen,  const char * restrict uname, int oflag, const char * restrict attruname, int maxreply
 #define VFS_FUNC_VARS_EA_GETCONTENT vol, rbuf, rbuflen, uname, oflag, attruname, maxreply
 
-#define VFS_FUNC_ARGS_EA_LIST const struct vol * restrict vol, char * restrict attrnamebuf, int * restrict buflen, const char * restrict uname, int oflag
+#define VFS_FUNC_ARGS_EA_LIST const struct vol * restrict vol, char * restrict attrnamebuf, size_t * restrict buflen, const char * restrict uname, int oflag
 #define VFS_FUNC_VARS_EA_LIST vol, attrnamebuf, buflen, uname, oflag
 
 #define VFS_FUNC_ARGS_EA_SET const struct vol * restrict vol, const char * restrict uname, const char * restrict attruname, const char * restrict ibuf, size_t attrsize, int oflag
 #define VFS_FUNC_ARGS_EA_REMOVE const struct vol * restrict vol, const char * restrict uname, const char * restrict attruname, int oflag
 #define VFS_FUNC_VARS_EA_REMOVE vol, uname, attruname, oflag
 
-struct vfs_ops {
-    /* low level adouble fn */
-    char *(*ad_path)        (const char *, int); /* name is ad_path because it was too
-                                                    much work to change all calls to
-                                                    sth. different eg vfs_path */
+/*
+ * Forward declaration. We need it because of the circular inclusion of
+ * of vfs.h <-> volume.h. 
+ */
+struct vol;
 
-    /* */
+struct vfs_ops {
     int (*vfs_validupath)    (VFS_FUNC_ARGS_VALIDUPATH);
     int (*vfs_chown)         (VFS_FUNC_ARGS_CHOWN);
     int (*vfs_renamedir)     (VFS_FUNC_ARGS_RENAMEDIR);