]> arthur.barton.de Git - netatalk.git/blobdiff - etc/cnid_dbd/pack.h
Merge from branch 2-1
[netatalk.git] / etc / cnid_dbd / pack.h
index 90add9dc764432185ec4f8576e8059a9a9f50656..e94ef0d9a11a827faf2aa3b3e4145ce52df0b52b 100644 (file)
@@ -1,47 +1,27 @@
 /*
- * $Id: pack.h,v 1.2 2005-04-28 20:49:49 bfernhomberg Exp $
- *
  * Copyright (C) Joerg Lenneis 2003
+ * Copyright (C) Frank Lahm 2010
  * All Rights Reserved.  See COPYING.
  */
 
 #ifndef CNID_DBD_PACK_H
 #define CNID_DBD_PACK_H 1
 
-
+#include <db.h>
 #include <atalk/cnid_dbd_private.h>
 
-#define CNID_OFS                 0
-#define CNID_LEN                 4
-#define CNID_DEV_OFS             CNID_LEN
-#define CNID_DEV_LEN             8
-  
-#define CNID_INO_OFS             (CNID_DEV_OFS + CNID_DEV_LEN)
-#define CNID_INO_LEN             8
-   
-#define CNID_DEVINO_OFS          CNID_LEN
-#define CNID_DEVINO_LEN          (CNID_DEV_LEN +CNID_INO_LEN)
-    
-#define CNID_TYPE_OFS            (CNID_DEVINO_OFS +CNID_DEVINO_LEN)
-#define CNID_TYPE_LEN            4
-     
-#define CNID_DID_OFS             (CNID_TYPE_OFS +CNID_TYPE_LEN)
-#define CNID_DID_LEN             CNID_LEN
-      
-#define CNID_NAME_OFS            (CNID_DID_OFS + CNID_DID_LEN)
-#define CNID_HEADER_LEN          (CNID_NAME_OFS)
-
-#if 0
-#define CNID_DBD_DEVINO_LEN          8
-#define CNID_DBD_DID_LEN             4
-#define CNID_DBD_HEADER_LEN          (CNID_DBD_DEVINO_LEN + CNID_DBD_DID_LEN)
-#endif
-
-extern char      *pack_cnid_data  __P((struct cnid_dbd_rqst *));
-
-#ifdef DEBUG
-extern char      *stringify_devino  __P((dev_t dev, ino_t ino));
-#endif
+#define ntoh64(x)       (((uint64_t)(x) << 56) | \
+                        (((uint64_t)(x) << 40) & 0xff000000000000ULL) | \
+                        (((uint64_t)(x) << 24) & 0xff0000000000ULL) | \
+                        (((uint64_t)(x) << 8)  & 0xff00000000ULL) | \
+                        (((uint64_t)(x) >> 8)  & 0xff000000ULL) | \
+                        (((uint64_t)(x) >> 24) & 0xff0000ULL) | \
+                        (((uint64_t)(x) >> 40) & 0xff00ULL) | \
+                        ((uint64_t)(x)  >> 56))
+
+extern unsigned char *pack_cnid_data(struct cnid_dbd_rqst *);
+extern int didname(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey);
+extern int devino(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey);
+extern int idxname(DB *dbp, const DBT *pkey, const DBT *pdata, DBT *skey);
 
 #endif /* CNID_DBD_PACK_H */