merge ntops and namei
[openafs.git] / src / vol / namei_ops.h
index 6705ebb..1d5d560 100644 (file)
 
 #ifdef AFS_NAMEI_ENV
 
-#ifdef notdef
-/* We don't include Unix afssyscalls.h, so: */
-#define VALID_INO(I) ((I != (__int64)-1) && (I != (__int64)0))
-
-/* minimum size of string to hand to PrintInode */
-#define AFS_INO_STR_LENGTH 32
-typedef char afs_ino_str_t[AFS_INO_STR_LENGTH];
-
-char *PrintInode(char *s, Inode ino);
-#endif
-
 /* Basic file operations */
 extern FILE *namei_fdopen(IHandle_t * h, char *fdperms);
 extern int namei_unlink(char *name);
 
 /* Inode operations */
 extern Inode namei_MakeSpecIno(int volid, int type);
-extern Inode namei_icreate(IHandle_t * h, char *p, int p1, int p2, int p3,
-                          int p4);
+extern Inode namei_icreate(IHandle_t * lh, char *part, afs_uint32 p1,
+                          afs_uint32 p2, afs_uint32 p3, afs_uint32 p4);
 extern FD_t namei_iopen(IHandle_t * h);
 extern int namei_irelease(IHandle_t * h);
 afs_sfsize_t namei_iread(IHandle_t * h, afs_foff_t offset, char *buf,
@@ -41,7 +30,7 @@ afs_sfsize_t namei_iwrite(IHandle_t * h, afs_foff_t offset, char *buf,
                          afs_fsize_t size);
 extern int namei_dec(IHandle_t * h, Inode ino, int p1);
 extern int namei_inc(IHandle_t * h, Inode ino, int p1);
-extern int namei_GetLinkCount(FdHandle_t * h, Inode ino, int lockit);
+extern int namei_GetLinkCount(FdHandle_t * h, Inode ino, int lockit, int fixup, int nowrite);
 extern int namei_SetLinkCount(FdHandle_t * h, Inode ino, int count, int locked);
 extern int namei_ViceREADME(char *partition);
 #include "nfs.h"
@@ -59,10 +48,22 @@ int ListViceInodes(char *devname, char *mountedOn, FILE *inodeFile,
                   afs_uint32 singleVolumeNumber, int *forcep, int forceR,
                   char *wpath, void *rock);
 
-
 #define NAMEI_LCOMP_LEN 32
-#define NAMEI_SCOMP_LEN 12
 #define NAMEI_PATH_LEN 256
+
+#ifdef AFS_NT40_ENV
+#define NAMEI_DRIVE_LEN 3
+#define NAMEI_HASH_LEN 2
+#define NAMEI_COMP_LEN 18
+typedef struct {
+    char n_drive[NAMEI_DRIVE_LEN];
+    char n_voldir[NAMEI_COMP_LEN];
+    char n_dir[NAMEI_HASH_LEN];
+    char n_inode[NAMEI_COMP_LEN];
+    char n_path[NAMEI_PATH_LEN];
+} namei_t;
+#else
+#define NAMEI_SCOMP_LEN 12
 typedef struct {
     char n_base[NAMEI_LCOMP_LEN];
     char n_voldir1[NAMEI_SCOMP_LEN];
@@ -72,6 +73,7 @@ typedef struct {
     char n_inode[NAMEI_LCOMP_LEN];
     char n_path[NAMEI_PATH_LEN];
 } namei_t;
+#endif
 
 void namei_HandleToName(namei_t * name, IHandle_t * h);
 int namei_ConvertROtoRWvolume(char *pname, afs_uint32 volumeId);