bucoord-prototypes-20090316
[openafs.git] / src / bucoord / bucoord_prototypes.h
1 /* Copyright 2000, International Business Machines Corporation and others.
2  * All Rights Reserved.
3  * 
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
7  */
8
9 #ifndef _BUCOORD_PROTOTYPES_H
10 #define _BUCOORD_PROTOTYPES_H
11
12 /* bc_status.c */
13
14 extern void *statusWatcher(void *);
15 extern afs_int32 bc_jobNumber(void);
16 extern int waitForTask(afs_uint32 taskId);
17
18 /* command.c */
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);
23
24 struct cmd_syndesc;
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);
54
55
56
57
58
59
60
61
62
63 /* config.c */
64 extern int bc_AddTapeHost(struct bc_config *aconfig, char *aname, 
65                           afs_int32 aport);
66 extern int bc_DeleteTapeHost(struct bc_config *aconfig, char *aname, 
67                              afs_int32 aport);
68
69 /* dlq.c */
70 extern int dlqEmpty(dlqlinkP headptr );
71 extern int dlqInit(dlqlinkP headptr );
72 extern void dlqUnlink(dlqlinkP );
73 extern int dlqLinkb(dlqlinkP headptr, dlqlinkP entryptr);
74
75 /* dsstub.c */
76 extern char *tailCompPtr(char *pathNamePtr);
77
78 /* dsvs.c */
79 extern struct bc_volumeSet *bc_FindVolumeSet(struct bc_config *aconfig, 
80                                              char *aname);
81 extern void FreeVolumeSet(struct bc_volumeSet *);
82 extern int bc_AddVolumeItem(struct bc_config *aconfig, char *avolName, 
83                             char *ahost, char *apart, char *avol);
84 extern int bc_CreateVolumeSet(struct bc_config *aconfig, char *avolName,
85                               afs_int32 aflags);
86 extern int bc_DeleteVolumeItem(struct bc_config *aconfig, char *avolName,
87                                afs_int32 anumber);
88 extern int bc_DeleteVolumeSet(struct bc_config *aconfig, char *avolName,
89                               afs_int32 *flags);
90 extern int bc_ParseHost(char *aname, struct sockaddr_in *asockaddr);
91 extern afs_int32 bc_GetPartitionID(char *aname, afs_int32 *aval);
92 extern int bc_CreateDumpSchedule(struct bc_config *aconfig, char *adumpName,
93                                  afs_int32 expDate, afs_int32 expType);
94 extern int bc_DeleteDumpSchedule(struct bc_config *aconfig, char *adumpName);
95 extern int FindDump(struct bc_config *aconfig, char *nodeString,
96                     struct bc_dumpSchedule **parentptr,
97                     struct bc_dumpSchedule **nodeptr);
98 extern int bc_ProcessDumpSchedule(struct bc_config *aconfig);
99 extern struct bc_dumpSchedule * bc_FindDumpSchedule(struct bc_config *aconfig, 
100                                                     char *aname);
101         
102
103 /* dump.c */
104 extern int CheckTCVersion(struct rx_connection *tconn);
105 extern int ConnectButc(struct bc_config *config, afs_int32 port,
106                        struct rx_connection **tconn);
107 extern int bc_StartDmpRst(struct bc_config *aconfig, char *adname, 
108                           char *avname, struct bc_volumeDump *avolsToDump,
109                           struct sockaddr_in *adestServer,
110                           afs_int32 adestPartition, afs_int32 afromDate, 
111                           char *anewExt, int aoldFlag, afs_int32 aparent, 
112                           afs_int32 alevel, int (*aproc) (int), 
113                           afs_int32 *ports, afs_int32 portCount,
114                           struct bc_dumpSchedule *dsptr, int append, 
115                           int dontExecute);
116 extern int bc_Dumper(int);
117 extern int bc_LabelTape(char *afsname, char *pname, afs_int32 size,
118                         struct bc_config *config, afs_int32 port);
119 extern int bc_ReadLabel(struct bc_config *config, afs_int32 port);
120 extern int bc_ScanDumps(struct bc_config *config, afs_int32 dbAddFlag, 
121                         afs_int32 port);
122         
123         
124
125
126 /* dump_sched.c */
127 extern afs_int32 bc_UpdateDumpSchedule(void);
128 extern int bc_SaveDumpSchedule(void);
129
130 /* expire.c */
131 struct cmd_parmdesc;
132 extern afs_int32 bc_ParseExpiration(struct cmd_parmdesc *paramPtr, 
133                                     afs_int32 *expType, afs_int32 *expDate);
134 /* main.c */
135 extern afs_int32 doDispatch(afs_int32, char *[], afs_int32);
136 extern void bc_HandleMisc(afs_int32 code);
137
138 /* regex.c */
139 extern char *re_comp(const char *sp);
140 extern int re_exec(const char *p1);
141
142 /* restore.c */
143 extern int BackupName(char *);
144 extern int bc_Restorer(afs_int32);
145
146 /* status.c */
147 extern void initStatus(void);
148 extern void lock_Status(void);
149 extern void unlock_Status(void);
150 extern void lock_cmdLine(void);
151 extern void unlock_cmdLine(void);
152 extern void clearStatus(afs_uint32, afs_uint32);
153 extern statusP createStatusNode(void);
154 extern void deleteStatusNode(statusP ptr);
155 extern statusP findStatus(afs_uint32);
156
157 /* tape_hosts.c */
158 extern afs_int32 bc_UpdateHosts(void);
159 extern int bc_SaveHosts(void);
160
161 /* ubik_db_if.c */
162 extern int bc_LockText(udbClientTextP ctPtr);
163 extern int bc_UnlockText(udbClientTextP ctPtr);
164 extern int bcdb_SaveTextFile(udbClientTextP ctPtr);
165 extern afs_int32 filesize(FILE *stream);
166 extern int bc_CheckTextVersion(udbClientTextP ctPtr);
167 extern int bc_openTextFile(udbClientTextP ctPtr, char *tmpFileName);
168 extern int bcdb_GetTextFile(register udbClientTextP ctPtr);
169 extern int bcdb_FindDumpByID(afs_int32 dumpID, struct budb_dumpEntry *deptr);
170 extern afs_int32 bcdb_FindVolumes(afs_int32 dumpID, char *volumeName, 
171                                   struct budb_volumeEntry *returnArray, 
172                                   afs_int32 last, afs_int32 *next, 
173                                   afs_int32 maxa, afs_int32 *nEntries);
174 extern int bcdb_FindDump(char *volumeName, afs_int32 beforeDate, 
175                          struct budb_dumpEntry *deptr);
176 extern afs_int32 bcdb_FindLastVolClone(char *volSetName, char *dumpName, 
177                                        char *volName, afs_int32 *clonetime);
178 extern int bcdb_FindLatestDump(char *volSetName, char *dumpPath, 
179                                struct budb_dumpEntry *deptr);
180 extern afs_int32 bcdb_FindClone(afs_int32 dumpID, char *volName, 
181                                 afs_int32 *clonetime);
182 extern afs_int32 bcdb_AddVolume(register struct budb_volumeEntry *);
183 extern afs_int32 bcdb_AddVolumes(register struct budb_volumeEntry *, 
184                                  afs_int32 );
185 extern afs_int32 bcdb_CreateDump(register struct budb_dumpEntry *) ;
186 extern afs_int32 bcdb_deleteDump(afs_int32 dumpID, afs_int32 fromTime, 
187                                  afs_int32 toTime, budb_dumpsList *dumps);
188 extern afs_int32 bcdb_listDumps (afs_int32 sflags, afs_int32 groupId, 
189                                  afs_int32 fromTime, afs_int32 toTime, 
190                                  budb_dumpsList *dumps, budb_dumpsList *flags);
191 extern afs_int32 bcdb_DeleteVDP(char *, char *, afs_int32 );
192 extern afs_int32 bcdb_FindClone(afs_int32, char *, afs_int32 *);
193 extern afs_int32 bcdb_LookupVolume(char *volumeName, 
194                                    struct budb_volumeEntry *returnArray, 
195                                    afs_int32 last, afs_int32 *next, 
196                                    afs_int32 maxa, afs_int32 *nEntries);
197 extern int bcdb_FindTape(afs_int32 dumpid, char *tapeName, 
198                          struct budb_tapeEntry *teptr);
199 extern int bcdb_FindTapeSeq(afs_int32 dumpid, afs_int32 tapeSeq, 
200                             struct budb_tapeEntry *teptr);
201
202 /* vol_sets.c */
203 extern afs_int32 bc_UpdateVolumeSet(void);
204 extern int bc_SaveVolumeSet(void);
205
206 /* volstub.c */
207
208 extern afs_int32 volImageTime(afs_int32 serv, afs_int32 part, afs_int32 volid, 
209                               afs_int32 voltype, afs_int32 *clDatePtr);
210 #endif
211