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);
23 extern afs_int32
bc_ParseExpiration(struct cmd_parmdesc
*paramPtr
,
24 afs_int32
*expType
, afs_int32
*expDate
);
27 extern int bc_DumpCmd(struct cmd_syndesc
*as
, void *arock
);
28 extern int bc_VolRestoreCmd(struct cmd_syndesc
*as
, void *arock
);
29 extern int bc_DiskRestoreCmd(struct cmd_syndesc
*as
, void *arock
);
30 extern int bc_QuitCmd(struct cmd_syndesc
*as
, void *arock
);
31 extern int bc_VolsetRestoreCmd(struct cmd_syndesc
*as
, void *arock
);
32 extern int bc_AddHostCmd(struct cmd_syndesc
*as
, void *arock
);
33 extern int bc_DeleteHostCmd(struct cmd_syndesc
*as
, void *arock
);
34 extern int bc_ListHostsCmd(struct cmd_syndesc
*as
, void *arock
);
35 extern int bc_JobsCmd(struct cmd_syndesc
*as
, void *arock
);
36 extern int bc_KillCmd(struct cmd_syndesc
*as
, void *arock
);
37 extern int bc_ListVolSetCmd(struct cmd_syndesc
*as
, void *arock
);
38 extern int bc_ListDumpScheduleCmd(struct cmd_syndesc
*as
, void *arock
);
39 extern int bc_AddVolSetCmd(struct cmd_syndesc
*as
, void *arock
);
40 extern int bc_GetTapeStatusCmd(struct cmd_syndesc
*as
, void *arock
);
41 extern int bc_DeleteVolSetCmd(struct cmd_syndesc
*as
, void *arock
);
42 extern int bc_AddVolEntryCmd(struct cmd_syndesc
*as
, void *arock
);
43 extern int bc_DeleteVolEntryCmd(struct cmd_syndesc
*as
, void *arock
);
44 extern int bc_AddDumpCmd(struct cmd_syndesc
*as
, void *arock
);
45 extern int bc_DeleteDumpCmd(struct cmd_syndesc
*as
, void *arock
);
46 extern int bc_LabelTapeCmd(struct cmd_syndesc
*as
, void *arock
);
47 extern int bc_ReadLabelCmd(struct cmd_syndesc
*as
, void *arock
);
48 extern int bc_ScanDumpsCmd(struct cmd_syndesc
*as
, void *arock
);
49 extern int bc_dblookupCmd(struct cmd_syndesc
*as
, void *arock
);
50 extern int bc_SetExpCmd(struct cmd_syndesc
*as
, void *arock
);
51 extern int bc_saveDbCmd(struct cmd_syndesc
*as
, void *arock
);
52 extern int bc_restoreDbCmd(struct cmd_syndesc
*as
, void *arock
);
53 extern int bc_dumpInfoCmd(struct cmd_syndesc
*as
, void *arock
);
54 extern int bc_dbVerifyCmd(struct cmd_syndesc
*as
, void *arock
);
55 extern int bc_deleteDumpCmd(struct cmd_syndesc
*as
, void *arock
);
58 extern int bc_AddTapeHost(struct bc_config
*aconfig
, char *aname
,
60 extern int bc_DeleteTapeHost(struct bc_config
*aconfig
, char *aname
,
62 extern int bc_InitConfig(char *apath
);
65 extern char *tailCompPtr(char *pathNamePtr
);
68 extern struct bc_volumeSet
*bc_FindVolumeSet(struct bc_config
*aconfig
,
70 extern void FreeVolumeSet(struct bc_volumeSet
*);
71 extern int bc_AddVolumeItem(struct bc_config
*aconfig
, char *avolName
,
72 char *ahost
, char *apart
, char *avol
);
73 extern int bc_CreateVolumeSet(struct bc_config
*aconfig
, char *avolName
,
75 extern int bc_DeleteVolumeItem(struct bc_config
*aconfig
, char *avolName
,
77 extern int bc_DeleteVolumeSet(struct bc_config
*aconfig
, char *avolName
,
79 extern int bc_ParseHost(char *aname
, struct sockaddr_in
*asockaddr
);
80 extern afs_int32
bc_GetPartitionID(char *aname
, afs_int32
*aval
);
81 extern int bc_CreateDumpSchedule(struct bc_config
*aconfig
, char *adumpName
,
82 afs_int32 expDate
, afs_int32 expType
);
83 extern int bc_DeleteDumpSchedule(struct bc_config
*aconfig
, char *adumpName
);
84 extern int FindDump(struct bc_config
*aconfig
, char *nodeString
,
85 struct bc_dumpSchedule
**parentptr
,
86 struct bc_dumpSchedule
**nodeptr
);
87 extern int bc_ProcessDumpSchedule(struct bc_config
*aconfig
);
88 extern struct bc_dumpSchedule
* bc_FindDumpSchedule(struct bc_config
*aconfig
,
93 extern int CheckTCVersion(struct rx_connection
*tconn
);
94 extern int ConnectButc(struct bc_config
*config
, afs_int32 port
,
95 struct rx_connection
**tconn
);
96 extern int bc_StartDmpRst(struct bc_config
*aconfig
, char *adname
,
97 char *avname
, struct bc_volumeDump
*avolsToDump
,
98 struct sockaddr_in
*adestServer
,
99 afs_int32 adestPartition
, afs_int32 afromDate
,
100 char *anewExt
, int aoldFlag
, afs_int32 aparent
,
101 afs_int32 alevel
, int (*aproc
) (int),
102 afs_int32
*ports
, afs_int32 portCount
,
103 struct bc_dumpSchedule
*dsptr
, int append
,
105 extern int bc_Dumper(int);
106 extern int bc_LabelTape(char *afsname
, char *pname
, afs_int32 size
,
107 struct bc_config
*config
, afs_int32 port
);
108 extern int bc_ReadLabel(struct bc_config
*config
, afs_int32 port
);
109 extern int bc_ScanDumps(struct bc_config
*config
, afs_int32 dbAddFlag
,
116 extern afs_int32
bc_UpdateDumpSchedule(void);
117 extern int bc_SaveDumpSchedule(void);
120 extern time_t tokenExpires
;
121 extern afs_int32
doDispatch(afs_int32
, char *[], afs_int32
);
122 extern void bc_HandleMisc(afs_int32 code
);
125 extern char *re_comp(const char *sp
);
126 extern int re_exec(const char *p1
);
129 extern int BackupName(char *);
130 extern int bc_Restorer(afs_int32
);
133 extern void initStatus(void);
134 extern void lock_cmdLine(void);
135 extern void unlock_cmdLine(void);
136 extern void clearStatus(afs_uint32
, afs_uint32
);
139 extern afs_int32
bc_UpdateHosts(void);
140 extern int bc_SaveHosts(void);
143 extern afs_int32
filesize(FILE *stream
);
144 extern int bc_CheckTextVersion(udbClientTextP ctPtr
);
145 extern int bc_openTextFile(udbClientTextP ctPtr
, char *tmpFileName
);
146 extern int bcdb_GetTextFile(udbClientTextP ctPtr
);
147 extern afs_int32
bcdb_FindVolumes(afs_int32 dumpID
, char *volumeName
,
148 struct budb_volumeEntry
*returnArray
,
149 afs_int32 last
, afs_int32
*next
,
150 afs_int32 maxa
, afs_int32
*nEntries
);
151 extern int bcdb_FindDump(char *volumeName
, afs_int32 beforeDate
,
152 struct budb_dumpEntry
*deptr
);
153 extern afs_int32
bcdb_FindLastVolClone(char *volSetName
, char *dumpName
,
154 char *volName
, afs_int32
*clonetime
);
155 extern afs_int32
bcdb_listDumps (afs_int32 sflags
, afs_int32 groupId
,
156 afs_int32 fromTime
, afs_int32 toTime
,
157 budb_dumpsList
*dumps
, budb_dumpsList
*flags
);
158 extern afs_int32
bcdb_DeleteVDP(char *, char *, afs_int32
);
159 extern afs_int32
bcdb_FindClone(afs_int32
, char *, afs_int32
*);
160 extern afs_int32
bcdb_LookupVolume(char *volumeName
,
161 struct budb_volumeEntry
*returnArray
,
162 afs_int32 last
, afs_int32
*next
,
163 afs_int32 maxa
, afs_int32
*nEntries
);
164 extern int bcdb_FindTape(afs_int32 dumpid
, char *tapeName
,
165 struct budb_tapeEntry
*teptr
);
167 extern afs_int32
udbClientInit(int noAuthFlag
, int localauth
, char *cellName
);
170 extern afs_int32
bc_UpdateVolumeSet(void);
171 extern int bc_SaveVolumeSet(void);
175 extern afs_int32
volImageTime(afs_uint32 serv
, afs_int32 part
, afs_uint32 volid
,
176 afs_int32 voltype
, afs_int32
*clDatePtr
);