1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
/* Copyright (C) 2001-2005 by Hans Reiser, licensing governed by
reiser4progs/COPYING.
key_common.c -- reiser4 common for all keys functions. */
#include "key_common.h"
/* Minimal possible key */
static reiser4_key_t minimal_key = {
.plug = NULL,
.body = {0ull, 0ull, 0ull, 0ull},
#ifndef ENABLE_MINIMAL
.adjust = 0
#endif
};
/* Maximal possible key */
static reiser4_key_t maximal_key = {
.plug = NULL,
.body = {MAX_UINT64, MAX_UINT64, MAX_UINT64, MAX_UINT64},
#ifndef ENABLE_MINIMAL
.adjust = 0
#endif
};
/* Translates key type from libreiser4 type to key_common one */
key_minor_t key_common_type2minor(key_type_t type) {
switch (type) {
case KEY_FILENAME_TYPE:
return KEY_FILENAME_MINOR;
case KEY_STATDATA_TYPE:
return KEY_STATDATA_MINOR;
case KEY_ATTRNAME_TYPE:
return KEY_ATTRNAME_MINOR;
case KEY_ATTRBODY_TYPE:
return KEY_ATTRBODY_MINOR;
case KEY_FILEBODY_TYPE:
return KEY_FILEBODY_MINOR;
default:
return MAX_UINT8;
}
}
/* Translates key type from key_common to libreiser4 one */
key_type_t key_common_minor2type(key_minor_t minor) {
switch (minor) {
case KEY_FILENAME_MINOR:
return KEY_FILENAME_TYPE;
case KEY_STATDATA_MINOR:
return KEY_STATDATA_TYPE;
case KEY_ATTRNAME_MINOR:
return KEY_ATTRNAME_TYPE;
case KEY_ATTRBODY_MINOR:
return KEY_ATTRBODY_TYPE;
case KEY_FILEBODY_MINOR:
return KEY_FILEBODY_TYPE;
default:
return MAX_UINT8;
}
}
/* Key minor names. They are used key_print() function */
static const char *const minor_names[] = {
"NAME", "SD", "AN", "AB", "FB", "?"
};
/* Translates passed minor into corresponding name */
const char *key_common_minor2name(key_minor_t type) {
if (type > KEY_LAST_MINOR)
type = KEY_LAST_MINOR;
return minor_names[type];
}
/* Returns minimal key */
reiser4_key_t *key_common_minimal(reiser4_key_plug_t *plug) {
minimal_key.plug = plug;
return &minimal_key;
}
/* Returns maximal key */
reiser4_key_t *key_common_maximal(reiser4_key_plug_t *plug) {
maximal_key.plug = plug;
return &maximal_key;
}
|