* <mit-copyright.h>.
*/
-#include <moira_site.h>
#include <mit-copyright.h>
+#include <moira_site.h>
+#include <moira_schema.h>
#define MODE_ASK 1
#define MODE_NO 2
#define MODE_YES 4
extern int debug, mode, fast, dcmenable, warn;
-extern struct hash *users, *machines, *clusters, *lists;
+extern struct hash *users, *machines, *clusters, *lists, *printservers;
extern struct hash *filesys, *nfsphys, *strings, *subnets, *string_dups;
#define MAX_ID_VALUE 32765
#define dprintf if (debug) printf
struct user {
- char login[9];
+ char login[USERS_LOGIN_SIZE];
char potype;
char *fullname;
int status;
};
struct machine {
- char name[33];
+ char name[MACHINE_NAME_SIZE];
char owner_type;
int owner_id;
int snet_id;
};
struct subnet {
- char name[33];
+ char name[SUBNET_NAME_SIZE];
char owner_type;
int owner_id;
int snet_id;
};
struct cluster {
- char name[33];
+ char name[CLUSTERS_NAME_SIZE];
int clu_id;
int modby;
};
struct list {
- char name[33];
+ char name[LIST_NAME_SIZE];
char acl_type;
+ char memacl_type;
int list_id;
- int acl_id;
+ int acl_id;
+ int memacl_id;
+ int modby;
int members;
};
};
struct filesys {
- char name[33];
- char dir[81];
+ char name[FILESYS_LABEL_SIZE];
+ char dir[FILESYS_NAME_SIZE];
char type;
int filsys_id;
int mach_id;
};
struct nfsphys {
- char dir[33];
+ char dir[NFSPHYS_DIR_SIZE];
int mach_id;
int nfsphys_id;
int allocated;
+ int modby;
int count;
};
+
+struct printserver {
+ int mach_id;
+ int printer_types;
+ char owner_type;
+ int owner_id;
+ int lpc_acl;
+ int modby;
+};
+
+void dbmserr(void);
+void out_of_mem(char *msg);
+void cleanup(void);
+
+void modified(char *table);
+
+void phase1(void);
+void phase2(void);
+void phase3(void);
+void phase4(void);
+void count_only_setup(void);
+
+/* prototypes from fix.pc */
+void generic_delete(struct save_queue *sq, int (*pfunc)(void *), char *table,
+ char *idfield, int preen);
+void single_delete(char *table, char *idfield, int id);
+void zero_fix(char *tbl, char *zrfield, char *idfield, int id);
+int single_fix(char *msg, int preen);
+void generic_fix(struct save_queue *sq, int (*pfunc)(void *), char *msg,
+ void (*ffunc)(void *), int preen);
+int prompt(char *msg);
+int set_next_object_id(char *object, char *tablename);
+int generic_fix_id(char *tbl, char *idfield, char *txtfield,
+ int oldid, char *name);
+
+/* prototypes from phase3.pc */
+struct string *string_check(int id);