1 /* Copyright 2000, International Business Machines Corporation and others.
4 * This software has been released under the terms of the IBM Public
5 * License. For details, see the LICENSE file in the top-level source
6 * directory or online at http://www.openafs.org/dl/license10.html
9 #ifndef _BUCOORD_INTERNAL_H
10 #define _BUCOORD_INTERNAL_H
14 extern void *statusWatcher(void *);
15 extern afs_int32 bc_jobNumber(void);
16 extern int waitForTask(afs_uint32 taskId);
19 extern char *bc_CopyString(char *astring);
20 extern afs_int32 getPortOffset(char *port);
21 extern afs_int32 bc_SafeATOI(char *anum);
22 extern int bc_WaitForNoJobs(void);
25 extern int bc_DumpCmd(struct cmd_syndesc *as, void *arock);
26 extern int bc_VolRestoreCmd(struct cmd_syndesc *as, void *arock);
27 extern int bc_DiskRestoreCmd(struct cmd_syndesc *as, void *arock);
28 extern int bc_QuitCmd(struct cmd_syndesc *as, void *arock);
29 extern int bc_VolsetRestoreCmd(struct cmd_syndesc *as, void *arock);
30 extern int bc_AddHostCmd(struct cmd_syndesc *as, void *arock);
31 extern int bc_DeleteHostCmd(struct cmd_syndesc *as, void *arock);
32 extern int bc_ListHostsCmd(struct cmd_syndesc *as, void *arock);
33 extern int bc_JobsCmd(struct cmd_syndesc *as, void *arock);
34 extern int bc_KillCmd(struct cmd_syndesc *as, void *arock);
35 extern int bc_ListVolSetCmd(struct cmd_syndesc *as, void *arock);
36 extern int bc_ListDumpScheduleCmd(struct cmd_syndesc *as, void *arock);
37 extern int bc_AddVolSetCmd(struct cmd_syndesc *as, void *arock);
38 extern int bc_GetTapeStatusCmd(struct cmd_syndesc *as, void *arock);
39 extern int bc_DeleteVolSetCmd(struct cmd_syndesc *as, void *arock);
40 extern int bc_AddVolEntryCmd(struct cmd_syndesc *as, void *arock);
41 extern int bc_DeleteVolEntryCmd(struct cmd_syndesc *as, void *arock);
42 extern int bc_AddDumpCmd(struct cmd_syndesc *as, void *arock);
43 extern int bc_DeleteDumpCmd(struct cmd_syndesc *as, void *arock);
44 extern int bc_LabelTapeCmd(struct cmd_syndesc *as, void *arock);
45 extern int bc_ReadLabelCmd(struct cmd_syndesc *as, void *arock);
46 extern int bc_ScanDumpsCmd(struct cmd_syndesc *as, void *arock);
47 extern int bc_dblookupCmd(struct cmd_syndesc *as, void *arock);
48 extern int bc_SetExpCmd(struct cmd_syndesc *as, void *arock);
49 extern int bc_saveDbCmd(struct cmd_syndesc *as, void *arock);
50 extern int bc_restoreDbCmd(struct cmd_syndesc *as, void *arock);
51 extern int bc_dumpInfoCmd(struct cmd_syndesc *as, void *arock);
52 extern int bc_dbVerifyCmd(struct cmd_syndesc *as, void *arock);
53 extern int bc_deleteDumpCmd(struct cmd_syndesc *as, void *arock);
56 extern int bc_AddTapeHost(struct bc_config *aconfig, char *aname,
58 extern int bc_DeleteTapeHost(struct bc_config *aconfig, char *aname,
60 extern int bc_InitConfig(char *apath);
63 extern char *tailCompPtr(char *pathNamePtr);
66 extern struct bc_volumeSet *bc_FindVolumeSet(struct bc_config *aconfig,
68 extern void FreeVolumeSet(struct bc_volumeSet *);
69 extern int bc_AddVolumeItem(struct bc_config *aconfig, char *avolName,
70 char *ahost, char *apart, char *avol);
71 extern int bc_CreateVolumeSet(struct bc_config *aconfig, char *avolName,
73 extern int bc_DeleteVolumeItem(struct bc_config *aconfig, char *avolName,
75 extern int bc_DeleteVolumeSet(struct bc_config *aconfig, char *avolName,
77 extern int bc_ParseHost(char *aname, struct sockaddr_in *asockaddr);
78 extern afs_int32 bc_GetPartitionID(char *aname, afs_int32 *aval);
79 extern int bc_CreateDumpSchedule(struct bc_config *aconfig, char *adumpName,
80 afs_int32 expDate, afs_int32 expType);
81 extern int bc_DeleteDumpSchedule(struct bc_config *aconfig, char *adumpName);
82 extern int FindDump(struct bc_config *aconfig, char *nodeString,
83 struct bc_dumpSchedule **parentptr,
84 struct bc_dumpSchedule **nodeptr);
85 extern int bc_ProcessDumpSchedule(struct bc_config *aconfig);
86 extern struct bc_dumpSchedule * bc_FindDumpSchedule(struct bc_config *aconfig,
91 extern int CheckTCVersion(struct rx_connection *tconn);
92 extern int ConnectButc(struct bc_config *config, afs_int32 port,
93 struct rx_connection **tconn);
94 extern int bc_StartDmpRst(struct bc_config *aconfig, char *adname,
95 char *avname, struct bc_volumeDump *avolsToDump,
96 struct sockaddr_in *adestServer,
97 afs_int32 adestPartition, afs_int32 afromDate,
98 char *anewExt, int aoldFlag, afs_int32 aparent,
99 afs_int32 alevel, int (*aproc) (int),
100 afs_int32 *ports, afs_int32 portCount,
101 struct bc_dumpSchedule *dsptr, int append,
103 extern int bc_Dumper(int);
104 extern int bc_LabelTape(char *afsname, char *pname, afs_int32 size,
105 struct bc_config *config, afs_int32 port);
106 extern int bc_ReadLabel(struct bc_config *config, afs_int32 port);
107 extern int bc_ScanDumps(struct bc_config *config, afs_int32 dbAddFlag,
114 extern afs_int32 bc_UpdateDumpSchedule(void);
115 extern int bc_SaveDumpSchedule(void);
119 extern afs_int32 bc_ParseExpiration(struct cmd_parmdesc *paramPtr,
120 afs_int32 *expType, afs_int32 *expDate);
122 extern afs_int32 doDispatch(afs_int32, char *[], afs_int32);
123 extern void bc_HandleMisc(afs_int32 code);
126 extern char *re_comp(const char *sp);
127 extern int re_exec(const char *p1);
130 extern int BackupName(char *);
131 extern int bc_Restorer(afs_int32);
134 extern void initStatus(void);
135 extern void lock_cmdLine(void);
136 extern void unlock_cmdLine(void);
137 extern void clearStatus(afs_uint32, afs_uint32);
140 extern afs_int32 bc_UpdateHosts(void);
141 extern int bc_SaveHosts(void);
144 extern afs_int32 filesize(FILE *stream);
145 extern int bc_CheckTextVersion(udbClientTextP ctPtr);
146 extern int bc_openTextFile(udbClientTextP ctPtr, char *tmpFileName);
147 extern int bcdb_GetTextFile(register udbClientTextP ctPtr);
148 extern afs_int32 bcdb_FindVolumes(afs_int32 dumpID, char *volumeName,
149 struct budb_volumeEntry *returnArray,
150 afs_int32 last, afs_int32 *next,
151 afs_int32 maxa, afs_int32 *nEntries);
152 extern int bcdb_FindDump(char *volumeName, afs_int32 beforeDate,
153 struct budb_dumpEntry *deptr);
154 extern afs_int32 bcdb_FindLastVolClone(char *volSetName, char *dumpName,
155 char *volName, afs_int32 *clonetime);
156 extern afs_int32 bcdb_listDumps (afs_int32 sflags, afs_int32 groupId,
157 afs_int32 fromTime, afs_int32 toTime,
158 budb_dumpsList *dumps, budb_dumpsList *flags);
159 extern afs_int32 bcdb_DeleteVDP(char *, char *, afs_int32 );
160 extern afs_int32 bcdb_FindClone(afs_int32, char *, afs_int32 *);
161 extern afs_int32 bcdb_LookupVolume(char *volumeName,
162 struct budb_volumeEntry *returnArray,
163 afs_int32 last, afs_int32 *next,
164 afs_int32 maxa, afs_int32 *nEntries);
165 extern int bcdb_FindTape(afs_int32 dumpid, char *tapeName,
166 struct budb_tapeEntry *teptr);
168 extern afs_int32 udbClientInit(int noAuthFlag, int localauth, char *cellName);
171 extern int vldbClientInit(int noAuthFlag, int localauth, char *cellName,
172 struct ubik_client **cstruct,
173 struct ktc_token *ttoken);
176 extern afs_int32 bc_UpdateVolumeSet(void);
177 extern int bc_SaveVolumeSet(void);
181 extern afs_int32 volImageTime(afs_int32 serv, afs_int32 part, afs_int32 volid,
182 afs_int32 voltype, afs_int32 *clDatePtr);