;******************************* MODULE HEADER *******************************;
;*                                                                           *;
;* FILE: UserSysCommonLabel.asm                                              *;
;*                                                                           *;
;* MACHINE: NGenSGen   LANGUAGE: ASSEMBLER  OS: CTOS                        *;
;*                                                                           *;
;* DESCRIPTION:                                                              *;
;*                                                                           *;
;* This module is to be used by users who are creating Installable System    *;
;* Common procedures using the SystemCommonInstall procedure.  The steps in  *;
;* creating an installable system common are as follows:                     *;
;*                                                                           *;
;*        1.  Decide on a procedure name for your new system common.  For    *;
;*            this example, we'll call it MySysComm.  Moreover, assume the   *;
;*            parameters are of the form: (pointer, returned pointer, word). *;
;*                                                                           *;
;*        2.  Decide whether you want to use an unrestricted or registered   *;
;*            system common. If your system common will be on a system with  *;
;*            other nonUnisys software, you may want to request a number    *;
;*            from the registry; otherwise you can use a number from the     *;
;*            unrestricted range.  Numbers in the range of 6000h  7FFFh are *;
;*            available for unrestricted customer use.                       *;
;*            To request a number from the registry, sumit a UCF or contact  *;
;*            the product CTOSRegistry and request the number of system     *;
;*            commons you require.                                           *;
;*                                                                           *;
;*            For this example, we'll use 6000h.								*;
;*                                                                           *;
;*        3.  Write the code which will implement MySysComm.  This code      *;
;*            should have an initialization section which is responsible for *;
;*            installing.  This code should make the following call:         *;
;*                                                                           *;
;*            call InstallSystemCommon(6000h, @MySysComm, @('pqw'), 3, ...)  *;
;*                                                                           *;
;*            where @MySysComm is the address of the public procedure which  *;
;*            implements the system common call, @('pqw') is a pointer to    *;
;*            the parameter string, and 3 is the length of the parameter     *;
;*            string. For further information, see the CTOS Reference Manual.*;
;*                                                                           *;
;*            This notifies CTOS of the location of the code which will      *;
;*            implement the 1808th system common procedure.                  *;
;*            The initialization code should then call ConvertToSys and wait *;
;*            on an exchange set up for deinstallation.                      *;
;*                                                                           *;
;*        4.  Create a command called InstallMySysComm to install the        *;
;*            service.                                                     *;
;*                                                                           *;
;* For an application program to actually make use of this new installed     *;
;* system common procedure, the following steps should be taken:             *;
;*                                                                           *;
;*        1.  In the source of the application make a call to MySysComm,     *;
;*            which should be declared EXTERNAL.                             *;
;*                                                                           *;
;*        2.  Edit this file by adding a macro call of the following form:   *;
;*                                                                           *;
'               OsSubLab(6000, MySysComm)
;*                ^                                                          *;
;*                \                                                         *;
;*                |                                                          *;
;*                |                                                          *;
;*             Start in column 1                                             *;
;*                                                                           *;
;*            This macro call will cause an ABSOLUTE PUBLIC symbol of        *;
;*            MySysComm to be created.  Its value will be resolved at load   *;
;*            time to the correct address of MySysComm.                      *;
;*                                                                           *;
;*        3.  Link the application program modules with the module created by*;
;*            assembling this module.                                        *;
;*                                                                           *;
;*        4.  Run InstallMySysComm                                           *;
;*                                                                           *;
;*        5.  Run your application program.                                  *;
;*                                                                           *;
;*                                                                           *;
;*                                                                           *;
;* HISTORY:                                                                  *;
;*                                                                           *;
;* MMDDYY VVVVMM PROGRAMMER    DESCRIPTION OF CHANGE (Most recent first) *;
;*                                                                           *;
;* TITLE:  CTOS SYSTEM SOFTWARE                                              *;
;*                                                                           *;
;*            PROPRIETARY PROGRAM MATERIAL                                   *;
;*                                                                           *;
;* THIS MATERIAL IS PROPRIETARY TO UNISYS CORPORATION AND IS NOT TO BE       *;
;* REPRODUCED, USED OR DISCLOSED EXCEPT IN ACCORDANCE WITH PROGRAM LICENSE   *;
;* OR UPON WRITTEN AUTHORIZATION OF THE PATENT DIVISION OF UNISYS            *;
;* CORPORATION, DETROIT, MICHIGAN 48232, USA.                                *;
;*                                                                           *;
;* COPYRIGHT (C) 1980, 1993 CONVERGENT INCORPORATED. ALL RIGHTS RESERVED     *;
;* COPYRIGHT (C) 1980, 1993 UNISYS CORPORATION. ALL RIGHTS RESERVED          *;
;* ************************************************************************* *;
;*                                                                           *;
;* UNISYS BELIEVES THAT THE SOFTWARE FURNISHED HEREWITH IS ACCURATE AND      *;
;* RELIABLE, AND MUCH CARE HAS BEEN TAKEN IN ITS PREPARATION.  HOWEVER,      *;
;* NO RESPONSIBILITY, FINANCIAL OR OTHERWISE, CAN BE ACCEPTED FOR ANY        *;
;* CONSEQUENCES ARISING OUT OF THE USE OF THIS MATERIAL, INCLUDING LOSS OF   *;
;* PROFIT, INDIRECT, SPECIAL, OR CONSEQUENTIAL DAMAGES, THERE ARE NO         *;
;* WARRANTIES WHICH EXTEND BEYOND THE PROGRAM SPECIFICATION.                 *;
;*                                                                           *;
;* THE CUSTOMER SHOULD EXERCISE CARE TO ASSURE THAT USE OF THE SOFTWARE      *;
;* WILL BE IN FULL COMPLIANCE WITH LAWS, RULES AND REGULATIONS OF THE        *;
;* JURISDICTIONS WITH RESPECT TO WHICH IT IS USED.                           *;
;*                                                                           *;
;*                                                                           *;
;*************************** END OF MODULE HEADER ****************************;




STACK SEGMENT STACK 'STACK'        ; default stack so programs won't crash 
    DB 512 DUP (?)
STACK ENDS

$include([Sys]<Sys>ossub.mdf)



;***************************************************************
;  EXAMPLE                                                     *
;                                                              *
'         OsSubLab(262, SystemCommonCheck)                 *
;                                                              *
;                                                              *
;***************************************************************
;
; ***** Put OsSubLab macros below this line





; The following macro is for backwards compatability with object
; modules compiled using old names for CTOS procedures.  The
; syntax is:
;
'        Same(SysCommonName, Alias)
;
; You will not need to worry about this unless you are replacing
; an existing system common procedure which was known by two
; names.
;
;***************************************************************
;  EXAMPLE                                                     *
;                                                              *
'        Same(SystemCommonCheck, GetUserNum)             *
;                                                              *
;                                                              *
;***************************************************************
;
; **** Put Same macros below this line


END
