2 * Copyright (c) 1995 - 2001 Kungliga Tekniska Högskolan
3 * (Royal Institute of Technology, Stockholm, Sweden).
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
17 * 3. Neither the name of the Institute nor the names of its contributors
18 * may be used to endorse or promote products derived from this software
19 * without specific prior written permission.
21 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
22 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24 * ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
25 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
38 #include <sys/types.h>
39 #include <sys/socket.h>
40 #include <netinet/in.h>
41 #include <arpa/inet.h>
44 #include <rx/rx_null.h>
51 #include <openssl/des.h>
73 #include <msecurity.h>
82 #include "rx/rxgencon.h"
88 extern int vl_database
;
89 extern vital_vlheader vl_header
;
91 void vldb_write_header (void);
92 void vldb_read_header (void);
93 int vldb_write_entry(const disk_vlentry
*vldb_entry
);
94 int vldb_read_entry (const char *name
, disk_vlentry
*entry
);
95 int vldb_delete_entry (const char *name
);
96 int vldb_id_to_name (const int32_t volid
, char **name
);
97 int vldb_write_id (const char *name
, const uint32_t volid
);
98 int vldb_delete_id (const char *name
, const uint32_t volid
);
99 void vldb_close(void);
100 void vldb_flush(void);
103 unsigned long vldb_get_id_hash (long id
);
104 unsigned long vldb_get_name_hash (const char *name
);
105 void vldb_create (char *databaseprefix
);
106 void vldb_init (char *databaseprefix
);
107 int vldb_print_entry (vldbentry
*entry
, int long_print
);
109 void vldb_entry_to_disk(const struct vldbentry
*newentry
,
110 struct disk_vlentry
*diskentry
);
111 void vldb_nentry_to_disk(const struct nvldbentry
*entry
,
112 struct disk_vlentry
*diskentry
);
113 void vldb_disk_to_entry(const struct disk_vlentry
*diskentry
,
114 struct vldbentry
*entry
);
115 void vldb_disk_to_nentry(const struct disk_vlentry
*diskentry
,
116 struct nvldbentry
*entry
);
118 void vldb_free_diskentry(struct disk_vlentry
*diskentry
);