VFP_T
extern int pkgdbmerg __P((PKGserver server, VFP_T *tmpvfp,
extern int ocfile __P((PKGserver *serverp, VFP_T **tmpvfp,
extern int swapcfile __P((PKGserver server, VFP_T **a_tmpvfp,
extern struct cfent **procmap __P((VFP_T *vfp, int mapflag, char *ir));
extern struct cfextra **pkgobjmap __P((VFP_T *vfp, int mapflag, char *ir));
check_db_entry(VFP_T *vfpo, struct cfextra *entry, int rmflag, char *myclass,
static char *check_db_entry(VFP_T *, struct cfextra *, int, char *, int *);
dofinal(PKGserver server, VFP_T *vfpo, int rmflag, char *myclass, char *prog)
(void) gpkgmapvfp(ept, (VFP_T *)NULL); /* This just clears stuff. */
extern int dofinal(PKGserver, VFP_T *, int, char *, char *);
VFP_T *cfTmpVfp;
ocfile(PKGserver *server, VFP_T **r_tmpvfp, fsblkcnt_t map_blks)
VFP_T *tmpvfp = (VFP_T *)NULL;
(*r_tmpvfp) = (VFP_T *)NULL;
swapcfile(PKGserver server, VFP_T **a_cfTmpVfp, char *pkginst, int dbchg)
static int do_new_ent(VFP_T *vfpo, struct cfextra *el_ent, int ctrl);
output(VFP_T *vfpo, struct cfent *ent, struct pinfo *pinfo)
static void output(VFP_T *vfpo, struct cfent *ent, struct pinfo *pinfo);
pkgdbmerg(PKGserver server, VFP_T *tmpvfp, struct cfextra **extlist)
do_like_ent(VFP_T *vfpo, struct cfextra *el_ent, struct cfent *cf_ent, int ctrl)
do_new_ent(VFP_T *vfpo, struct cfextra *el_ent, int ctrl)
static int do_like_ent(VFP_T *vfpo, struct cfextra *el_ent,
pkgobjmap(VFP_T *vfp, int mapflag, char *ir)
procmap(VFP_T *vfp, int mapflag, char *ir)
VFP_T *vfp = (VFP_T *)NULL;
extern int ckentry(int, int, struct cfent *, VFP_T *, PKGserver);
xdir(int maptyp, VFP_T *vfp, PKGserver server, char *dirname)
static int xdir(int maptyp, VFP_T *vfp, PKGserver server, char *dirname);
ckentry(int envflag, int maptyp, struct cfent *ept, VFP_T *vfp,
VFP_T *vfp;
int ckflag, PKGserver server, VFP_T **a_cfTmpVfp);
PKGserver pkgserver, VFP_T **a_cfTmpVfp)
int nparts, PKGserver pkgserver, VFP_T **a_cfTmpVfp,
VFP_T *cfTmpVfp = NULL; /* temporary */
VFP_T *pkgmapVfp; /* "../pkgmap" file */
extern int sortmap __P((struct cfextra ***extlist, VFP_T *pkgmapVfp,
PKGserver serv, VFP_T *tmpvfp, char *a_zoneName));
int nparts, PKGserver server, VFP_T **a_cfTmpVfp,
sortmap(struct cfextra ***extlist, VFP_T *pkgmapVfp,
PKGserver pkgserver, VFP_T *tmpvfp, char *a_zoneName)
VFP_T *vfp;
delmap(int flag, char *pkginst, PKGserver *pkgserver, VFP_T **tmpfp)
VFP_T *tmpfp;
extern int delmap(int flag, char *pkginst, PKGserver *server, VFP_T **tfp);
gpkgmapvfp(struct cfent *ept, VFP_T *vfp)
if (vfp == (VFP_T *)NULL) {
extern int gpkgmapvfp(struct cfent *ept, VFP_T *fpv);
extern int putcvfpfile(struct cfent *ept, VFP_T *vfp);
extern int vfpCheckpointFile(VFP_T **r_destVfp, VFP_T **a_vfp,
extern int vfpCheckpointOpen(VFP_T **a_cvfp, VFP_T **r_vfp, char *a_path,
extern int vfpClearModified(VFP_T *a_vfp);
extern int vfpClose(VFP_T **r_vfp);
extern int vfpGetModified(VFP_T *a_vfp);
extern int vfpOpen(VFP_T **r_vfp, char *a_path, char *a_mode,
extern void vfpRewind(VFP_T *a_vfp);
extern int vfpSetFlags(VFP_T *a_vfp, VFPFLAGS_T a_flags);
extern int vfpSetModified(VFP_T *a_vfp);
extern int vfpSetSize(VFP_T *a_vfp, size_t a_size);
extern void vfpTruncate(VFP_T *a_vfp);
extern int vfpWriteToFile(VFP_T *a_vfp, char *a_path);
extern int pkgservercommitfile(VFP_T *, PKGserver);
pkgservercommitfile(VFP_T *a_vfp, PKGserver server)
putcvfpfile(struct cfent *a_ept, VFP_T *a_vfp)
vfp = (VFP_T *)malloc(sizeof (VFP_T));
if (vfp == (VFP_T *)NULL) {
(void) memcpy(vfp, cpVfp, sizeof (VFP_T));
(*a_cpVfp) = (VFP_T *)NULL;
vfpClearModified(VFP_T *a_vfp)
vfpSetModified(VFP_T *a_vfp)
vfpGetModified(VFP_T *a_vfp)
vfpOpen(VFP_T **r_vfp, char *a_path, char *a_mode, VFPFLAGS_T a_flags)
VFP_T *vfp;
(*r_vfp) = (VFP_T *)NULL;
vfp = (VFP_T *)calloc(sizeof (VFP_T), 1);
if (vfp == (VFP_T *)NULL) {
vfpClose(VFP_T **r_vfp)
VFP_T *vfp;
if (r_vfp == (VFP_T **)NULL) {
if (vfp == (VFP_T *)NULL) {
*r_vfp = (VFP_T *)NULL;
vfpSetFlags(VFP_T *a_vfp, VFPFLAGS_T a_flags)
if (a_vfp == (VFP_T *)NULL) {
vfpRewind(VFP_T *a_vfp)
if (a_vfp == (VFP_T *)NULL) {
vfpSetSize(VFP_T *a_vfp, size_t a_size)
if (a_vfp == (VFP_T *)NULL) {
vfpTruncate(VFP_T *a_vfp)
if (a_vfp == (VFP_T *)NULL) {
vfpWriteToFile(VFP_T *a_vfp, char *a_path)
if (a_vfp == (VFP_T *)NULL) {
vfpCheckpointFile(VFP_T **r_cpVfp, VFP_T **a_vfp, char *a_path)
VFP_T *vfp; /* newly allocated checkpointed VFP */
VFP_T *avfp; /* local -> to a_vfp */
if (r_cpVfp == (VFP_T **)NULL) {
(*r_cpVfp) = (VFP_T *)NULL;
if (a_vfp == (VFP_T **)NULL) {
if (avfp == (VFP_T *)NULL) {
vfp = (VFP_T *)malloc(sizeof (VFP_T));
if (vfp == (VFP_T *)NULL) {
(void) memcpy(vfp, avfp, sizeof (VFP_T));
*a_vfp = (VFP_T *)NULL;
vfpCheckpointOpen(VFP_T **a_cpVfp, VFP_T **r_vfp, char *a_path,
VFP_T *cpVfp; /* local -> to a_cpVfp checkpointed VFP */
VFP_T *vfp; /* new VFP open on checkpointed backing store */
if ((a_cpVfp == (VFP_T **)NULL) || (*a_cpVfp == (VFP_T *)NULL) ||