"file server shut down" - The given bnode's getstat() routine from its individual ops array will be called in the course of this execution via the BOP GETSTAT() macro.
- Error Codes
- BZNOENT The given process instance is not registered with the BOS Server.
\subsubsection sec3-6-2-2 Section 3.6.2.2: BOZO EnumerateInstance - Get
instance name from i'th bnode
int BOZO EnumerateInstance(IN struct rx connection *z conn,
IN long instance,
OUT char **iname);
- Description
- This routine will find the bnode describing process instance number instance and return that instance's name in the buffer to which the iname parameter points. This function is meant to be used to enumerate all process instances at a BOS Server. The first legal instance number value is zero, which will return the instance name from the first registered bnode. Successive values for instance will return information from successive bnodes. When all bnodes have been thus enumerated, the BOZO EnumerateInstance() function will return BZDOM, indicating that the list of bnodes has been exhausted.
- Error Codes
- BZDOM The instance number indicated in the instance parameter does not exist.
\subsubsection sec3-6-2-3 Section 3.6.2.3: BOZO GetInstanceInfo - Get
information on the given process instance
int BOZO GetInstanceInfo(IN struct rx connection *z conn,
IN char *instance,
OUT char **type,
OUT struct bozo status *status)
- Description
- Given the string name of a BOS Server instance, this interface function returns the type of the instance and its associated status descriptor. The set of values that may be placed into the type parameter are simple, fs, and cron (see Section 2.1 for a detailed examination of the types of bnodes available). The status structure filled in by the call includes such information as the goal and file goals, the process start time, the number of times the process has started, exit information, and whether or not the process has a core file.
- Error Codes
- BZNOENT The given process instance is not registered with the BOS Server.
\subsubsection sec3-6-2-4 Section 3.6.2.4: BOZO GetInstanceParm - Get
text of command line associated with the given process instance
int BOZO GetInstanceParm(IN struct rx connection *z conn,
IN char *instance,
IN long num,
OUT char **parm)
- Description
- Given the string name of a BOS Server process instance and an index identifying the associated command line of interest, this routine returns the text of the desired command line. The first associated command line text for the instance may be acquired by setting the index parameter, num, to zero. If an index is specified for which there is no matching command line stored in the bnode, then the function returns BZDOM.
- Error Codes
- BZNOENT The given process instance is not registered with the BOS Server.
BZDOM There is no command line text associated with index num for this bnode. \subsubsection sec3-6-2-5 Section 3.6.2.5: BOZO GetRestartTime - Get
one of the BOS Server restart times
int BOZO GetRestartTime(IN struct rx connection *z conn,
IN long type,
OUT struct bozo netKTime *restartTime)
- Description
- The BOS Server maintains two different restart times, for itself and all server processes it manages, as described in Section 2.4. Given which one of the two types of restart time is desired, this routine fetches the information from the BOS Server. The type argument is used to specify the exact restart time to fetch. If type is set to one (1), then the general restart time for all agents on the machine is fetched. If type is set to two (2), then the new-binary restart time is returned. A value other than these two for the type parameter results in a return value of BZDOM.
- Error Codes
- BZDOM All illegal value was passed in via the type parameter.
\subsubsection sec3-6-2-6 Section 3.6.2.6: BOZO SetRestartTime - Set
one of the BOS Server restart times
int BOZO SetRestartTime(IN struct rx connection *z conn,
IN long type,
IN struct bozo netKTime *restartTime)
- Description
- This function is the inverse of the BOZO GetRestartTime() interface routine described in Section 3.6.2.5 above. Given the type of restart time and its new value, this routine will set the desired restart time at the BOS Server receiving this call. The values for the type parameter are identical to those used by BOZO GetRestartTime(), namely one (1) for the general restart time and two (2) for the new-binary restart time.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to set its restart times.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
BZDOM All illegal value was passed in via the type parameter. \subsubsection sec3-6-2-7 Section 3.6.2.7: BOZO GetDates - Get the
modification times for versions of a server binary file
int BOZO GetDates(IN struct rx connection *z conn,
IN char *path,
OUT long *newtime,
OUT long *baktime,
OUT long *oldtime)
- Description
- Given a fully-qualified pathname identifying the particular server binary to examine in the path argument, this interface routine returns the modification time of that file, along with the modification times for the intermediate (.BAK) and old (.OLD) versions. The above-mentioned times are deposited into the newtime, baktime and oldtime arguments. Any one or all of the reported times may be set to zero, indicating that the associated file does not exist.
- Error Codes
- —None.
\subsubsection sec3-6-2-8 Section 3.6.2.8: StartBOZO GetLog - Pass the
IN params when fetching a BOS Server log file
int BOZO StartGetLog(IN struct rx connection *z conn, IN char *name)
- Description
- The BOZO GetLog() function defined in the BOS Server Rxgen interface file is used to acquire the contents of the given log file from the machine processing the call. It is defined to be a streamed function, namely one that can return an arbitrary amount of data. For full details on the definition and use of streamed functions, please refer to the Streamed Function Calls section in [4].
- This function is created by Rxgen in response to the BOZO GetLog() interface definition in the bosint.xg file. The StartBOZO GetLog() routine handles passing the IN parameters of the streamed call to the BOS Server. Specifically, the name parameter is used to convey the string name of the desired log file. For the purposes of opening the specified files at the machine being contacted, the current working directory for the BOS Server is considered to be /usr/afs/logs. If the caller is included in the locally-maintained UserList file, any pathname may be specified in the name parameter, and the contents of the given file will be fetched. All other callers must provide a string that does not include the slash character, as it might be used to construct an unauthorized request for a file outside the /usr/afs/logs directory.
- Error Codes
- RXGEN CC MARSHAL The transmission of the GetLog() IN parameters failed. This and all rxgen constant definitions are available from the rxgen consts.h include file.
\subsubsection sec3-6-2-9 Section 3.6.2.9: EndBOZO GetLog - Get the OUT
params when fetching a BOS Server log file
int BOZO EndGetLog(IN struct rx connection *z conn)
- Description
- This function is created by Rxgen in response to the BOZO GetLog() interface definition in the bosint.xg file. The EndBOZO GetLog() routine handles the recovery of the OUT parameters for this interface call (of which there are none). The utility of such functions is often the value they return. In this case, however, EndBOZO GetLog() always returns success. Thus, it is not even necessary to invoke this particular function, as it is basically a no-op.
- Error Codes
- —Always returns successfully.
\subsubsection sec3-6-2-10 Section 3.6.2.10: BOZO GetInstanceStrings -
Get strings related to a given process instance
int BOZO GetInstanceStrings(IN struct rx connection *z conn,
IN char *instance,
OUT char **errorName,
OUT char **spare1,
OUT char **spare2,
OUT char **spare3)
- Description
- This interface function takes the string name of a BOS Server instance and returns a set of strings associated with it. At the current time, there is only one string of interest returned by this routine. Specifically, the errorName parameter is set to the error string associated with the bnode, if any. The other arguments, spare1 through spare3, are set to the null string. Note that memory is allocated for all of the OUT parameters, so the caller should be careful to free them once it is done.
- Error Codes
- BZNOENT The given process instance is not registered with the BOS Server.
\subsection sec3-6-3 Section 3.6.3: Starting, Stopping, and Restarting
Processes
- The eight interface functions described in this section allow BOS Server clients to manipulate the execution of the process instances the BOS Server controls.
\subsubsection sec3-6-3-1 Section 3.6.3.1: BOZO SetStatus - Set process
instance status and goal
int BOZO SetStatus(IN struct rx connection *z conn,
IN char *instance,
IN long status)
- Description
- This routine sets the actual status field, as well as the "file goal", of the given instance to the value supplied in the status parameter. Legal values for status are taken from the set described in Section 3.2.3, specifically BSTAT NORMAL and BSTAT SHUTDOWN. For more information about these constants (and about goals/file goals), please refer to Section 3.2.3.
- The given bnode's setstat() routine from its individual ops array will be called in the course of this execution via the BOP SETSTAT() macro.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to perform this operation. If successfully modified, the BOS Server bnode defining the given instance will be written out to the BosConfig file kept on the machine's local disk.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
BZNOENT The given instance name not registered with the BOS Server. \subsubsection sec3-6-3-2 Section 3.6.3.2: BOZO SetTStatus -
Temporarily set process instance status and goal
int BOZO SetTStatus(IN struct rx connection *z conn,
IN char *instance,
IN long status)
- Description
- This interface routine is much like the BOZO SetStatus(), defined in Section 3.6.3.1 above, except that its effect is to set the instance status on a temporary basis. Specifically, the status field is set to the given status value, but the "file goal" field is not changed. Thus, the instance's stated goal has not changed, just its current status.
- The given bnode's setstat() routine from its individual ops array will be called in the course of this execution via the BOP SETSTAT() macro.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to perform this operation. If successfully modified, the BOS Server bnode defining the given instance will be written out to the BosConfig file kept on the machine's local disk.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
BZNOENT The given instance name not registered with the BOS Server. \subsubsection sec3-6-3-3 Section 3.6.3.3: BOZO StartupAll - Start all
existing process instances
int BOZO StartupAll(IN struct rx connection *z conn)
- Description
- This interface function examines all bnodes and attempts to restart all of those that have not been explicitly been marked with the BSTAT SHUTDOWN file goal. Specifically, BOP SETSTAT() is invoked, causing the setstat() routine from each bnode's ops array to be called. The bnode's flags field is left with the BNODE ERRORSTOP bit turned off after this call.
- The given bnode's setstat() routine from its individual ops array will be called in the course of this execution via the BOP SETSTAT() macro.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to start up bnode process instances.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
\subsubsection sec3-6-3-4 Section 3.6.3.4: BOZO ShutdownAll - Shut down
all process instances
int BOZO ShutdownAll(IN struct rx connection *z conn)
- Description
- This interface function iterates through all bnodes and attempts to shut them all down. Specifically, the BOP SETSTAT() is invoked, causing the setstat() routine from each bnode's ops array to be called, setting that bnode's goal field to BSTAT SHUTDOWN.
- The given bnode's setstat() routine from its individual ops array will be called in the course of this execution via the BOP SETSTAT() macro.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to perform this operation.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
\subsubsection sec3-6-3-5 Section 3.6.3.5: BOZO RestartAll - Shut down,
then restart all process instances
int BOZO RestartAll(IN struct rx connection *z conn)
- Description
- This interface function shuts down every BOS Server process instance, waits until the shutdown is complete (i.e., all instances are registered as being in state BSTAT SHUTDOWN), and then starts them all up again. While all the processes known to the BOS Server are thus restarted, the invocation of the BOS Server itself does not share this fate. For simulation of a truly complete machine restart, as is necessary when an far-reaching change to a database file has been made, use the BOZO ReBozo() interface routine defined in Section 3.6.3.6 below.
- The given bnode's getstat() and setstat() routines from its individual ops array will be called in the course of this execution via the BOP GETSTAT() and BOP SETSTAT() macros.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to restart bnode process instances.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
\subsubsection sec3-6-3-6 Section 3.6.3.6: BOZO ReBozo - Shut down,
then restart all process instances and the BOS Server itself
int BOZO ReBozo(IN struct rx connection *z conn)
- Description
- This interface routine is identical to the BOZO RestartAll() call, defined in Section 3.6.3.5 above, except for the fact that the BOS Server itself is restarted in addition to all the known bnodes. All of the BOS Server's open file descriptors are closed, and the standard BOS Server binary image is started via execve().
- The given bnode's getstat() and setstat() routines from its individual ops array will be called in the course of this execution via the BOP GETSTAT() and BOP SETSTAT() macros.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to restart bnode process instances.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
\subsubsection sec3-6-3-7 Section 3.6.3.7: BOZO Restart - Restart a
given process instance
int BOZO Restart(IN struct rx connection *z conn, IN char *instance)
- Description
- This interface function is used to shut down and then restart the process instance identified by the instance string passed as an argument.
- The given bnode's getstat() and setstat() routines from its individual ops array will be called in the course of this execution via the BOP GETSTAT() and BOP SETSTAT() macros.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to restart bnode process instances.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
BZNOENT The given instance name not registered with the BOS Server. \subsubsection sec3-6-3-8 Section 3.6.3.8: BOZO WaitAll - Wait until
all process instances have reached their goals
int BOZO WaitAll(IN struct rx connection *z conn)
- Description
- This interface function is used to synchronize with the status of the bnodes managed by the BOS Server. Specifically, the BOZO WaitAll() call returns when each bnode's current status matches the value in its short-term goal field. For each bnode it manages, the BOS Server thread handling this call invokes the BOP GETSTAT() macro, waiting until the bnode's status and goals line up.
- Typically, the BOZO WaitAll() routine is used to allow a program to wait until all bnodes have terminated their execution (i.e., all goal fields have been set to BSTAT SHUTDOWN and all corresponding processes have been killed). Note, however, that this routine may also be used to wait until all bnodes start up. The true utility of this application of BOZO WaitAll() is more questionable, since it will return when all bnodes have simply commenced execution, which does not imply that they have completed their initialization phases and are thus rendering their normal services.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to wait on bnodes through this interface function.
- The given bnode's getstat() routine from its individual ops array will be called in the course of this execution via the BOP GETSTAT() macro.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
\subsection sec3-6-4 Section 3.6.4: Security Configuration
- This section describes the seven BOS Server interface functions that allow a properly-authorized person to examine and modify certain data relating to system security. Specifically, it allows for manipulation of the list of adminstratively 'privileged' individuals, the set of Kerberos keys used for file service, and whether authenticated connections should be required by the BOS Server and all other AFS server agents running on the machine.
\subsubsection sec3-6-4-1 Section 3.6.4.1: BOZO AddSUser - Add a user
to the UserList
int BOZO AddSUser(IN struct rx connection *z conn, IN char *name);
- Description
- This interface function is used to add the given user name to the UserList file of priviledged BOS Server principals. Only individuals already appearing in the UserList are permitted to add new entries. If the given user name already appears in the file, the function fails. Otherwise, the file is opened in append mode and the name is written at the end with a trailing newline.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
EEXIST The individual specified by name is already on the UserList.
EIO If the UserList file could not be opened or closed. \subsubsection sec3-6-4-2 Section 3.6.4.2: BOZO DeleteSUser - Delete a
user from the UserList
int BOZO DeleteSUser(IN struct rx connection *z conn, IN char *name)
- Description
- This interface function is used to delete the given user name from the UserList file of priviledged BOS Server principals. Only individuals already appearing in the UserList are permitted to delete existing entries. The file is opened in read mode, and a new file named UserList.NXX is created in the same directory and opened in write mode. The original UserList is scanned, with each entry copied to the new file if it doesn't match the given name. After the scan is done, all files are closed, and the UserList.NXX file is renamed to UserList, overwriting the original.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
-1 The UserList file could not be opened.
EIO The UserList.NXX file could not be opened, or an error occured in the file close operations.
ENOENT The given name was not found in the original UserList file. \subsubsection sec3-6-4-3 Section 3.6.4.3: BOZO ListSUsers - Get the
name of the user in the given position in the UserList file
int BOZO ListSUsers(IN struct rx connection *z conn,
IN long an,
OUT char **name)
- Description
- This interface function is used to request the name of priviledged user in the an'th slot in the BOS Server's UserList file. The string placed into the name parameter may be up to 256 characters long, including the trailing null.
- Error Codes
- The UserList file could not be opened, or an invalid value was specified for an.
\subsubsection sec3-6-4-4 Section 3.6.4.4: BOZO ListKeys - List info
about the key at a given index in the key file
int BOZO ListKeys(IN struct rx connection *z conn,
IN long an,
OUT long *kvno,
OUT struct bozo key *key,
OUT struct bozo keyInfo *keyinfo)
- Description
- This interface function allows its callers to specify the index of the desired AFS encryption key, and to fetch information regarding that key. If the caller is properly authorized, the version number of the specified key is placed into the kvno parameter. Similarly, a description of the given key is placed into the keyinfo parameter. When the BOS Server is running in noauth mode, the key itself will be copied into the key argument, otherwise the key structure will be zeroed. The data placed into the keyinfo argument, declared as a struct bozo keyInfo as defined in Section 3.3.3, is obtained as follows. The mod sec field is taken from the value of st mtime after stat()ing /usr/afs/etc/KeyFile, and the mod usec field is zeroed. The keyCheckSum is computed by an Authentication Server routine, which calculates a 32-bit cryptographic checksum of the key, encrypting a block of zeros and then using the first 4 bytes as the checksum.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to obtain information regarding the list of AFS keys held by the given BOS Server.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
BZDOM An invalid index was found in the an parameter.
KABADKEY Defined in the exported kautils.h header file corresponding to the Authentication Server, this return value indicates a problem with generating the checksum field of the keyinfo parameter. \subsubsection sec3-6-4-5 Section 3.6.4.5: BOZO AddKey - Add a key to
the key file
int BOZO AddKey(IN struct rx connection *z conn,
IN long an,
IN struct bozo key *key)
- Description
- This interface function allows a properly-authorized caller to set the value of key version number an to the given AFS key. If a slot is found in the key file /usr/afs/etc/KeyFile marked as key version number an, its value is overwritten with the key provided. If an entry for the desired key version number does not exist, the key file is grown, and the new entry filled with the specified information.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to add new entries into the list of AFS keys held by the BOS Server.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
AFSCONF FULL The system key file already contains the maximum number of keys (AFSCONF MAXKEYS, or 8). These two constant defintions are available from the cellconfig.h and keys.h AFS include files respectively. \subsubsection sec3-6-4-6 Section 3.6.4.6: BOZO DeleteKey - Delete the
entry for an AFS key
int BOZO DeleteKey(IN struct rx connection *z conn,
IN long an)
- Description
- This interface function allows a properly-authorized caller to delete key version number an from the key file, /usr/afs/etc/KeyFile. The existing keys are scanned, and if one with key version number an is found, it is removed. Any keys occurring after the deleted one are shifted to remove the file entry entirely.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to delete entries from the list of AFS keys held by the BOS Server.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
AFSCONF NOTFOUND An entry for key version number an was not found. This constant defintion is available from the cellconfig.h AFS include file. \subsubsection sec3-6-4-7 Section 3.6.4.7: BOZO SetNoAuthFlag - Enable
or disable requirement for authenticated calls
int BOZO SetNoAuthFlag(IN struct rx connection *z conn,
IN long flag)
- Description
- This interface routine controls the level of authentication imposed on the BOS Server and all other AFS server agents on the machine by manipulating the NoAuth file in the /usr/afs/local directory on the server. If the flag parameter is set to zero (0), the NoAuth file will be removed, instructing the BOS Server and AFS agents to authenenticate the RPCs they receive. Otherwise, the file is created as an indication to honor all RPC calls to the BOS Server and AFS agents, regardless of the credentials carried by callers.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
\subsection sec3-6-5 Section 3.6.5: Cell Configuration
- The five interface functions covered in this section all have to do with manipulating the configuration information of the machine on which the BOS Server runs. In particular, one may get and set the cell name for that server machine, enumerate the list of server machines running database servers for the cell, and add and delete machines from this list.
\subsubsection sec3-6-5-1 Section 3.6.5.1: BOZO GetCellName - Get the
name of the cell to which the BOS Server belongs
int BOZO GetCellName(IN struct rx connection *z conn, OUT char **name)
- Description
- This interface routine returns the name of the cell to which the given BOS Server belongs. The BOS Server consults a file on its local disk, /usr/afs/etc/ThisCell to obtain this information. If this file does not exist, then the BOS Server will return a null string.
- Error Codes
- AFSCONF UNKNOWN The BOS Server could not access the cell name file. This constant defintion is available from the cellconfig.h AFS include file.
\subsubsection sec3-6-5-2 Section 3.6.5.2: BOZO SetCellName - Set the
name of the cell to which the BOS Server belongs
int BOZO SetCellName(IN struct rx connection *z conn, IN char *name)
- Description
- This interface function allows the caller to set the name of the cell to which the given BOS Server belongs. The BOS Server writes this information to a file on its local disk, /usr/afs/etc/ThisCell. The current contents of this file are first obtained, along with other information about the current cell. If this operation fails, then BOZO SetCellName() also fails. The string name provided as an argument is then stored in ThisCell.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to set the name of the cell to which the machine executing the given BOS Server belongs.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
AFSCONF NOTFOUND Information about the current cell could not be obtained. This constant definition, along with AFSCONF FAILURE appearing below, is availabel from the cellconfig.h AFS include file.
AFSCONF FAILURE New cell name could not be written to file. \subsubsection sec3-6-5-3 Section 3.6.5.3: BOZO GetCellHost - Get the
name of a database host given its index
int BOZO GetCellHost(IN struct rx connection *z conn,
IN long awhich,
OUT char **name)
- Description
- This interface routine allows the caller to get the name of the host appearing in position awhich in the list of hosts acting as database servers for the BOS Server's cell. The first valid position in the list is index zero. The host's name is deposited in the character buffer pointed to by name. If the value of the index provided in awhich is out of range, the function fails and a null string is placed in name.
- Error Codes
- BZDOM The host index in awhich is out of range.
AFSCONF NOTFOUND Information about the current cell could not be obtained. This constant defintion may be found in the cellconfig.h AFS include file. \subsubsection sec3-6-5-4 Section 3.6.5.4: BOZO AddCellHost - Add an
entry to the list of database server hosts
int BOZO AddCellHost(IN struct rx connection *z conn, IN char *name)
- Description
- This interface function allows properly-authorized callers to add a name to the list of hosts running AFS database server processes for the BOS Server's home cell. If the given name does not already appear in the database server list, a new entry will be created. Regardless, the mapping from the given name to its IP address will be recomputed, and the cell database file, /usr/afs/etc/CellServDB will be updated.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to add an entry to the list of host names providing database services for the BOS Server's home cell.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
AFSCONF NOTFOUND Information about the current cell could not be obtained. This constant defintion may be found in the cellconfig.h AFS include file. \subsubsection sec3-6-5-5 Section 3.6.5.5: BOZO DeleteCellHost - Delete
an entry from the list of database server hosts
int BOZO DeleteCellHost(IN struct rx connection *z conn, IN char *name)
- Description
- This interface routine allows properly-authorized callers to remove a given name from the list of hosts running AFS database server processes for the BOS Server's home cell. If the given name does not appear in the database server list, this function will fail. Otherwise, the matching entry will be removed, and the cell database file, /usr/afs/etc/CellServDB will be updated.
- The BOS Server will only allow individuals listed in its locally-maintained UserList file to delete an entry from the list of host names providing database services for the BOS Server's home cell.
- Error Codes
- BZACCESS The caller is not authorized to perform this operation.
AFSCONF NOTFOUND Information about the current cell could not be obtained. This constant defintion may be found in the cellconfig.h AFS include file. \subsection sec3-6-6 Section 3.6.6: Installing/Uninstalling Server
Binaries
- There are four BOS Server interface routines that allow administrators to install new server binaries and to roll back to older, perhaps more reliable, executables. They also allow for stored images of the old binaries (as well as core files) to be 'pruned', or selectively deleted.
3.6.6.1 StartBOZO Install - Pass the IN params when installing a server binary