1/* 2 * Interface to the cnid_dbd daemon that stores/retrieves CNIDs from a database. 3 */ 4 5 6#ifndef _ATALK_CNID_DBD_PRIVATE_H 7#define _ATALK_CNID_DBD_PRIVATE_H 1 8 9#include <sys/stat.h> 10#include <atalk/adouble.h> 11#include <sys/param.h> 12 13#include <atalk/cnid_private.h> 14 15#define CNID_DBD_OP_OPEN 0x01 16#define CNID_DBD_OP_CLOSE 0x02 17#define CNID_DBD_OP_ADD 0x03 18#define CNID_DBD_OP_GET 0x04 19#define CNID_DBD_OP_RESOLVE 0x05 20#define CNID_DBD_OP_LOOKUP 0x06 21#define CNID_DBD_OP_UPDATE 0x07 22#define CNID_DBD_OP_DELETE 0x08 23#define CNID_DBD_OP_MANGLE_ADD 0x09 24#define CNID_DBD_OP_MANGLE_GET 0x0a 25#define CNID_DBD_OP_GETSTAMP 0x0b 26#define CNID_DBD_OP_REBUILD_ADD 0x0c 27#define CNID_DBD_OP_SEARCH 0x0d 28 29#define CNID_DBD_RES_OK 0x00 30#define CNID_DBD_RES_NOTFOUND 0x01 31#define CNID_DBD_RES_ERR_DB 0x02 32#define CNID_DBD_RES_ERR_MAX 0x03 33#define CNID_DBD_RES_ERR_DUPLCNID 0x04 34#define CNID_DBD_RES_SRCH_CNT 0x05 35#define CNID_DBD_RES_SRCH_DONE 0x06 36 37#define DBD_MAX_SRCH_RSLTS 100 38 39struct cnid_dbd_rqst { 40 int op; 41 cnid_t cnid; 42 dev_t dev; 43 ino_t ino; 44 uint32_t type; 45 cnid_t did; 46 char *name; 47 size_t namelen; 48}; 49 50struct cnid_dbd_rply { 51 int result; 52 cnid_t cnid; 53 cnid_t did; 54 char *name; 55 size_t namelen; 56}; 57 58typedef struct CNID_private { 59 u_int32_t magic; 60 char db_dir[MAXPATHLEN + 1]; /* Database directory without /.AppleDB appended */ 61 char *cnidserver; 62 char *cnidport; 63 int fd; /* File descriptor to cnid_dbd */ 64 char stamp[ADEDLEN_PRIVSYN]; /* db timestamp */ 65 char *client_stamp; 66 size_t stamp_size; 67 int notfirst; /* already open before */ 68 int changed; /* stamp differ */ 69} CNID_private; 70 71 72#endif /* include/atalk/cnid_dbd.h */ 73