151 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			6.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| COmpile Insert Foreign.Subs.Equates
 | |
| *>>
 | |
| * FOREIGN.SUBS.EQUATES - equates for the subroutine handler supplied with
 | |
| *                        bond.
 | |
| *
 | |
| * Each environmental bond may supply a subroutine handler as part of its
 | |
| * bonding kit.  This subroutine has a name of the form XXXX.SUBS, where
 | |
| * 'XXXX' is the name of the bond (e.g. DBASE, ASCII, etc.).
 | |
| *<<
 | |
| !
 | |
| !
 | |
| *
 | |
| * FOREIGN.SUBS command codes
 | |
| *
 | |
| * The first argument to the subroutine handler is a code which specifies
 | |
| * the function to be performed:
 | |
| *
 | |
| EQU     FBS.TYPE.EXPAND$     TO        1
 | |
| *>>
 | |
| * FBS.TYPE.EXPAND$ - bond-specific fill-out of dictionary record.
 | |
| *
 | |
| * Syntax:
 | |
| *     $INSERT FOREIGN.SUBS.EQUATES
 | |
| *     CALL ____.SUBS(FBS.TYPE.EXPAND$, TYPE.ARGS, MAP.RECORD, FILE.ATTR
 | |
| *                    DICT.RECORD, STATUS)
 | |
| *
 | |
| * Where:
 | |
| *     TYPE.ARGS    -
 | |
| *         contains the fieldmark-separated argument values for the core
 | |
| *         generic type.  Note that, for derived types, this may be different
 | |
| *         than the argument list which appears in the 'D.E.GENERIC.TYPE'
 | |
| *         field of 'DICT.RECORD'.
 | |
| *     MAP.RECORD   -
 | |
| *         is the record from the type-mapping table which corresponds to the
 | |
| *         type mapping the user has (implicitly or explicitly) selected.
 | |
| *     FILE.ATTR    -
 | |
| *         contains the bond-specific file attributes as returned by the
 | |
| *         associated bond-specific collector window.  Each attribute value
 | |
| *         is separated by a fieldmark.  The first field is reserved for
 | |
| *         specifying the "file type".  If this argument is NULL, the default
 | |
| *         file attributes are to be assumed.
 | |
| *     DICT.RECORD  -
 | |
| *         contains the dictionary record to be filled out.  This may already
 | |
| *         have been partially filled out by the user and/or the generic type
 | |
| *         expansion routines.
 | |
| *     STATUS       -
 | |
| *
 | |
| * Description:
 | |
| *     FBS.TYPE.EXPAND$ may be called by BOND.SUBS when it is using a type
 | |
| * specification to fill out a dictionary record.  The bond designer specifies
 | |
| * which mappings require bond-specific manipulation of the dictionary record
 | |
| * by setting a flag (BSTM.CALL.EDIT$) in the corresponding record in the
 | |
| * type mappings file.
 | |
| *<<
 | |
| EQU     FBS.MAP.FILENAME$   TO        2
 | |
| *>>
 | |
| * FBS.MAP.FILENAME$ - Map filename into acceptable foreign filename.
 | |
| *
 | |
| * Syntax:
 | |
| *     $INSERT FOREIGN.SUBS.EQUATES
 | |
| *     CALL ____.SUBS(FBS.MAP.FILENAME$, NAME.IN, NAME.OUT, STATUS)
 | |
| *
 | |
| * Where:
 | |
| *     NAME.IN      -
 | |
| *         Contains a filename to be validated for the foreign
 | |
| *         environment.
 | |
| *     NAME.OUT     -
 | |
| *         Will contain a translated version of the input filename
 | |
| *         which would be acceptable to the foreign environment.  If
 | |
| *         the input filename did not require any translation, then
 | |
| *         NAME.OUT will be set to NAME.IN.
 | |
| *     STATUS       -
 | |
| *         ''                 - The input filename is acceptable to
 | |
| *                              the foreign environment as is.
 | |
| *         FS_INVALID_FILENAME_ERR$
 | |
| *                            - The input file name cannot be directly
 | |
| *                              represented in the foreign environment.
 | |
| * Description:
 | |
| *     FBS.MAP.FILENAME$ can be used to map an Advanced Revelation
 | |
| * filename into a foreign filename.  It can also be used to
 | |
| * determine the validity of a foreign filename.  If the given
 | |
| * filename is legal in the foreign environment, then it is
 | |
| * returned and STATUS will be NULL.  If not, the bond will return
 | |
| * (in NAME.OUT) a similar filename which is legal and will set the
 | |
| * status to FS_INVALID_FILENAME_ERR$
 | |
| *<<
 | |
| EQU     FBS.MAP.FIELDNAME$   TO        3
 | |
| *>>
 | |
| * FBS.MAP.FIELDNAME$ - Map fieldname into acceptable foreign fieldname.
 | |
| *
 | |
| * Syntax:
 | |
| *     $INSERT FOREIGN.SUBS.EQUATES
 | |
| *     CALL ____.SUBS(FBS.MAP.FIELDNAME$, NAME.IN, NAME.OUT, STATUS)
 | |
| *
 | |
| * Where:
 | |
| *     NAME.IN      -
 | |
| *         Contains a fieldname to be validated for the foreign
 | |
| *         environment.
 | |
| *     NAME.OUT     -
 | |
| *         Will contain a translated version of the input fieldname
 | |
| *         which would be acceptable to the foreign environment.  If
 | |
| *         the input fieldname did not require any translation, then
 | |
| *         NAME.OUT will be set to NAME.IN.
 | |
| *     STATUS       -
 | |
| *         ''                 - The input fieldname is acceptable to
 | |
| *                              the foreign environment as is.
 | |
| *         FS_INVALID_FIELDNAME_ERR$
 | |
| *                            - The input file name cannot be directly
 | |
| *                              represented in the foreign environment.
 | |
| * Description:
 | |
| *     FBS.MAP.FIELDNAME$ can be used to map an Advanced Revelation
 | |
| * fieldname into a foreign fieldname.  It can also be used to
 | |
| * determine the validity of a foreign fieldname.  If the given
 | |
| * fieldname is legal in the foreign environment, then it is
 | |
| * returned and STATUS will be NULL.  If not, the bond will return
 | |
| * (in NAME.OUT) a similar fieldname which is legal and will set the
 | |
| * status to FS_INVALID_FIELDNAME_ERR$
 | |
| *<<
 | |
| EQU     FBS.SELECT.DERIVED$     TO      4
 | |
| *>>
 | |
| * FBS.SELECT.DERIVED$ - Select which type this one is derived from.
 | |
| *
 | |
| * Syntax:
 | |
| *     $INSERT FOREIGN.SUBS.EQUATES
 | |
| *     CALL ____.SUBS(FBS.SELECT.DERIVED$, TYPE.NAME, TYPE.ARGS,
 | |
| *                                         SELECTED.TYPE, STATUS)
 | |
| *
 | |
| * Where:
 | |
| *   TYPE.NAME -
 | |
| *       is an input variable containing the name of a data type in
 | |
| *       TYPE_TABLE.
 | |
| *   TYPE.ARGS -
 | |
| *       is an input variable containing the arguments to the data type
 | |
| *       specified in TYPE.NAME.  These arguments will be separated by
 | |
| *       field marks.
 | |
| *   SELECTED.TYPE -
 | |
| *       is an output variable containing a data type specification,
 | |
| *       including parameters, if any.
 | |
| *   STATUS -
 | |
| *       is either NULL if no error was encountered
 | |
| * Description:
 | |
| *   FBS.SELECT.DERIVED$ is used to dynamically decide what data type
 | |
| * a particular type is derived from.  When the "Derived From" field of
 | |
| * a TYPE_TABLE record contains the word "DYNAMIC", BOND.SUBS will call
 | |
| * FOREIGN.SUBS with this function code in order to obtain a dynamically-
 | |
| * generated value for the "Derived From" field.  This value may contain
 | |
| * insertable parameters (e.g. "%1%").
 | |
| *
 | |
| *<<
 | |
| * Source Date: 15:47:15  09 JAN 1991  Build ID: AREV*2.1.26  Level: 2.1
 |