Use afsd code in libuafs
[openafs.git] / src / afs / UKERNEL / afs_usrops.h
index e8d7ba0..c3c8c20 100644 (file)
@@ -1,14 +1,19 @@
 /*
- * (C) COPYRIGHT IBM CORPORATION 1997
- * LICENSED MATERIALS - PROPERTY OF IBM
+ * Copyright 2000, International Business Machines Corporation and others.
+ * All Rights Reserved.
+ * 
+ * This software has been released under the terms of the IBM Public
+ * License.  For details, see the LICENSE file in the top-level source
+ * directory or online at http://www.openafs.org/dl/license10.html
  */
 
 #ifndef __AFS_USROPS_H__
 #define __AFS_USROPS_H__ 1
 
-#if !defined(UKERNEL)
-#include <afs/sysincludes.h>
-#endif /* !defined(UKERNEL) */
+#ifdef KERNEL
+# include "afs/sysincludes.h"
+# include "afsincludes.h"
+#endif /* KERNEL */
 
 /*
  * Macros to manipulate doubly linked lists
     _ELEM->_PREV = NULL; \
 }
 
+extern char *uafs_mountDir;
+
 extern struct afsconf_dir *afs_cdir;
 extern char afs_LclCellName[64];
 
 extern int afs_osicred_Initialized;
 
-extern struct usr_vnode *afs_RootVnode;
-
-extern struct usr_vnode *afs_CurrentDir;
-extern struct usr_vnode *afs_FileTable[];
-extern int afs_FileFlags[];
-extern int afs_FileOffsets[];
-
-extern char afs_mountDir[];
-extern int afs_mountDirLen;
-
 extern void uafs_InitClient(void);
 extern void uafs_InitThread(void);
-extern void uafs_Init(char *, char *, char *, char *, int, int, int, int,
-                     int, int, int, int, int, int, char *);
+extern int uafs_Setup(const char *mount);
+extern int uafs_ParseArgs(int argc, char **argv);
+extern int uafs_Run(void);
+extern const char* uafs_MountDir(void);
 extern void uafs_RxServerProc(void);
 extern int uafs_LookupLink(struct usr_vnode *vp, struct usr_vnode *parentP,
                           struct usr_vnode **vpp);
 extern int uafs_LookupName(char *path, struct usr_vnode *parentP,
-                          struct usr_vnode **vpp, int follow);
+                          struct usr_vnode **vpp, int follow,
+                          int no_eval_mtpt);
 extern int uafs_LookupParent(char *path, struct usr_vnode **vpp);
 extern int uafs_GetAttr(struct usr_vnode *vp, struct stat *stats);
 
@@ -85,9 +85,11 @@ extern int uafs_open_r(char *path, int flags, int mode);
 extern int uafs_creat(char *path, int mode);
 extern int uafs_creat_r(char *path, int mode);
 extern int uafs_write(int fd, char *buf, int len);
-extern int uafs_write_r(int fd, char *buf, int len);
+extern int uafs_pwrite(int fd, char *buf, int len, off_t offset);
+extern int uafs_pwrite_r(int fd, char *buf, int len, off_t offset);
 extern int uafs_read(int fd, char *buf, int len);
-extern int uafs_read_r(int fd, char *buf, int len);
+extern int uafs_pread(int fd, char *buf, int leni, off_t offset);
+extern int uafs_pread_r(int fd, char *buf, int len, off_t offset);
 extern int uafs_fsync(int fd);
 extern int uafs_fsync_r(int fd);
 extern int uafs_close(int fd);
@@ -102,6 +104,8 @@ extern int uafs_truncate(char *path, int len);
 extern int uafs_truncate_r(char *path, int len);
 extern int uafs_ftruncate(int fd, int len);
 extern int uafs_ftruncate_r(int fd, int len);
+extern int uafs_lseek(int fd, int offset, int whence);
+extern int uafs_lseek_r(int fd, int offset, int whence);
 extern int uafs_chmod(char *path, int mode);
 extern int uafs_chmod_r(char *path, int mode);
 extern int uafs_fchmod(int fd, int mode);
@@ -122,16 +126,16 @@ extern int uafs_FlushFile(char *path);
 extern int uafs_FlushFile_r(char *path);
 extern usr_DIR *uafs_opendir(char *path);
 extern usr_DIR *uafs_opendir_r(char *path);
-extern struct usr_dirent *uafs_readdir(usr_DIR *dirp);
-extern struct usr_dirent *uafs_readdir_r(usr_DIR *dirp);
+extern struct usr_dirent *uafs_readdir(usr_DIR * dirp);
+extern struct usr_dirent *uafs_readdir_r(usr_DIR * dirp);
 extern int uafs_getdents(int fd, struct min_direct *buf, int len);
 extern int uafs_getdents_r(int fd, struct min_direct *buf, int len);
-extern int uafs_closedir(usr_DIR *dirp);
-extern int uafs_closedir_r(usr_DIR *dirp);
+extern int uafs_closedir(usr_DIR * dirp);
+extern int uafs_closedir_r(usr_DIR * dirp);
 extern void uafs_ThisCell(char *namep);
 extern void uafs_ThisCell_r(char *namep);
-extern int uafs_klog(char *user,char *cell,char *passwd,char **reason);
-extern int uafs_klog_r(char *user,char *cell,char *passwd,char **reason);
+extern int uafs_klog(char *user, char *cell, char *passwd, char **reason);
+extern int uafs_klog_r(char *user, char *cell, char *passwd, char **reason);
 extern int uafs_unlog(void);
 extern int uafs_unlog_r(void);
 extern void uafs_SetRxPort(int);
@@ -140,5 +144,10 @@ extern int uafs_RPCStatsEnableProc(void);
 extern int uafs_RPCStatsDisableProc(void);
 extern int uafs_RPCStatsEnablePeer(void);
 extern int uafs_RPCStatsDisablePeer(void);
+extern int uafs_IsRoot(char *path);
+extern int uafs_statmountpoint_r(char *path);
+extern int uafs_statvfs(struct statvfs *buf);
+extern void uafs_Shutdown(void);
+extern void uafs_mount(void);
 
 #endif /* __AFS_USROPS_H__ */