
/***************************************************************************
**
**    $Header:   D:/ECB2S/SRC/LOG/LDRUBROF.H__   1.2.1.4   17 Apr 1997 15:55:08   ZJRD  $
**
**    $Log:   D:/ECB2S/SRC/LOG/LDRUBROF.H__  $
** 
**    Rev 1.2.1.4   17 Apr 1997 15:55:08   ZJRD
** No change.
** 
**    Rev 1.2.1.3   16 Apr 1997 10:26:16   ZJRD
** No change.
** 
**    Rev 1.2.1.2   10 Apr 1997 15:36:58   ZJRD
** No change.
** 
**    Rev 1.2.1.1   03 Apr 1997 15:16:28   ZJRD
** No change.
** 
**    Rev 1.2.1.0   28 Mar 1997 10:21:34   ZJRD
** easy pack sld 2.09d
** 
**    Rev 1.1   19 Mar 1997 11:31:44   ZJRD
** No change.
** 
**    Rev 1.0   12 Mar 1997 14:47:34   ZJRD
** Initial revision.
** 
**    Rev 1.7.1.0.1.2   09 Dec 1996 10:17:24   ZJRD
** EasyPack/SLD Version 2.0P
** 
**    Rev 1.7.1.0.1.0   11 Nov 1996 13:00:40   ZJRD
** EasyPack/SLD Version 2.01
** 
**    Rev 1.7.1.4   09 Sep 1996 13:21:36   ZJRD
** No change.
** 
**    Rev 1.7.1.3   05 Sep 1996 11:33:04   ZJRD
** No change.
** 
**    Rev 1.7.1.2   02 Sep 1996 10:00:08   ZJRD
** No change.
** 
**    Rev 1.7.1.1   28 Aug 1996 15:49:56   ZJRD
** No change.
** 
**    Rev 1.7.1.0   12 Aug 1996 10:54:04   ZJRD
** EasyPack/SLD Version 1.98
** 
**    Rev 1.5   05 Jun 1996 14:57:12   ZJRD
** No change.
** 
**    Rev 1.4   29 May 1996 09:37:52   ZJRD
** No change.
** 
**    Rev 1.3   16 May 1996 09:01:02   ZJRD
** No change.
** 
**    Rev 1.2   10 May 1996 09:15:16   ZJRD
** No change.
** 
**    Rev 1.1   02 May 1996 10:29:36   ZJRD
** EasyPack/SLD Version 1.92
** 
**    Rev 1.31   18 Apr 1996 13:02:00   Shirley
** No change.
** 
**    Rev 1.30   12 Apr 1996 10:40:56   Shirley
** EasyPack/SLD Version 1.90
** 
**    Rev 1.28   15 Feb 1996 08:55:18   Shirley
** No change.
** 
**    Rev 1.27   12 Feb 1996 14:05:04   Shirley
** No change.
** 
**    Rev 1.26   06 Feb 1996 15:31:38   Shirley
** No change.
** 
**    Rev 1.25   06 Feb 1996 13:44:50   Shirley
** No change.
** 
**    Rev 1.24   01 Feb 1996 10:17:36   Shirley
** No change.
** 
**    Rev 1.23   26 Jan 1996 09:15:46   Shirley
** No change.
** 
**    Rev 1.22   25 Jan 1996 13:15:38   Shirley
** No change.
** 
**    Rev 1.21   24 Jan 1996 10:37:36   Shirley
** No change.
** 
**    Rev 1.20   23 Jan 1996 11:23:04   Shirley
** No change.
** 
**    Rev 1.19   18 Jan 1996 10:12:32   Shirley
** No change.
** 
**    Rev 1.18   15 Jan 1996 16:15:30   Shirley
** No change.
** 
**    Rev 1.17   04 Jan 1996 11:09:18   Shirley
** No change.
** 
**    Rev 1.16   30 Nov 1995 09:12:56   Shirley
** No change.
** 
**    Rev 1.15   28 Nov 1995 15:35:14   Shirley
** No change.
** 
**    Rev 1.14   21 Nov 1995 11:24:28   Shirley
** No change.
** 
**    Rev 1.13   13 Nov 1995 09:25:22   Shirley
** No change.
** 
**    Rev 1.12   12 Nov 1995 11:28:18   Shirley
** No change.
** 
**    Rev 1.11   08 Nov 1995 16:29:04   Shirley
** No change.
** 
**    Rev 1.10   08 Nov 1995 12:41:38   Shirley
** No change.
** 
**    Rev 1.9   02 Nov 1995 10:07:20   Shirley
** No change.
** 
**    Rev 1.8   27 Oct 1995 16:46:58   Shirley
** No change.
** 
**    Rev 1.7   27 Oct 1995 13:48:10   Shirley
** No change.
** 
**    Rev 1.6   25 Oct 1995 14:29:26   Shirley
** No change.
** 
**    Rev 1.5   18 Oct 1995 14:50:58   Shirley
** No change.
** 
**    Rev 1.4   13 Oct 1995 13:21:50   Shirley
** No change.
** 
**    Rev 1.3   29 Sep 1995 09:52:08   Shirley
** No change.
** 
**    Rev 1.2   20 Sep 1995 10:53:34   Shirley
** No change.
** 
**    Rev 1.1   15 Sep 1995 09:48:16   Shirley
** No change.
** 
**    Rev 1.0   07 Sep 1995 09:54:34   Shirley
** Initial revision.
**
****************************************************************************/

/****************************************************************************
**
**  Name:  LDRUBROF.H
**
**  Description:
**      All UBROF API's (external entry points) have the prefix: LdrUbrof
**      Major header file used by UBROF Loader.
**
**  Status:  CODED
**
**    Rev 1.0   20 May 1995 12:00:00   Gates Hua
** Initial revision.
**
**  Copyright (C) 1995 Microtek International.  All rights reserved.
**
*****************************************************************************/
#ifndef _LDRUBROF_H_
#define _LDRUBROF_H_
                       /****************************
                        *                          *
                        *       INCLUDE FILES      *
                        *                          *
                        ****************************/


                       /****************************
                        *                          *
                        *        DEFINITIONS       *
                        *                          *
                        ****************************/

/* segment type */
#define SEGTYPE_UNTYPED     0
#define SEGTYPE_CODE        1
#define SEGTYPE_DATA        2
#define SEGTYPE_XDATA       3
#define SEGTYPE_IDATA       4
#define SEGTYPE_BIT         5
#define SEGTYPE_REG         6
#define SEGTYPE_CONST       7

/* register ID */
#define REG_R0      0
#define REG_R1      1
#define REG_R2      2
#define REG_R3      3
#define REG_R4      4
#define REG_R5      5
#define REG_R6      6
#define REG_R7      7
#define REG_A       8
#define REG_B       9
#define REG_DPL     10
#define REG_DPH     11
#define REG_C       12

/*
    UBROF from XLINK version 5

    Micro-Series Universal Binary Relocatable Object Format ,
    UBROF produced by the linker XLINK .

    UBROF_FILE  ::==    <starter><types><t_end><modules>
    starter     ::==    <t_beg_file>
                        <t_beg_file1>
    types       ::==    <t_size_type><types>
                        <t_type><types>
                        nil
    modules     ::==    <module><t_ubrof_eof>
                        <module><modules>
    module      ::==    <header><mod><trailer>
    header      ::==    <t_beg_lib>
                        <t_beg_prm>
    trailer     ::==    <t_end_abs>
                        <t_end>
    mod         ::==    <debug><aux><file><macros><variable def><code>
                        nil
    debug       ::==    <t_debug>
                        nil
    aux         ::==    <t_aux>
                        <t_aux><t_aux_1>
                        nil
    file        ::==    <t_file>
                        <t_file_ref><file>		// add by Jamoon 4/18/96
                        nil
    macros      ::==    <t_macro><macros>
                        nil
    variable def::==    <t_symbol_def><variable def>
                        <t_symbol_def1><variable def>
                        nil
    code        ::==    <t_abs_var><code>
                        <t_org><code>
                        <t_src_stat><t_func_begin><block><t_block_end><code>
                        <t_src_stat><t_func_begin1><block><t_block_end><code>
                        nil
    block       ::==    <t_src_stat><block>
                        <t_org><block>
                        <t_abs_var><block>
                        <t_block_begin><block><t_block_end><block>
                        <t_block_begin1><block><t_block_end><block>
                        nil
*/

#define t_beg_file      77      /* 0x4d */
#define t_beg_file1     165     /* 0xA5 */
#define t_beg_lib       0       /* 0x0  */
#define t_beg_pgm       1       /* 0x1  */
#define t_end_abs       61      /* 0x3d */
#define t_end           63      /* 0x3f */
#define t_debug         82      /* 0x52 */
#define t_aux           83      /* 0x53 */
#define t_aux_1         84      /* 0x54 */
#define t_file          70      /* 0x46 */

// add 2 records by Jamoon 4/18/96
#define t_file_ref      185		// 0xB9
#define t_new_file      186		// 0xBA

#define t_src_stat      71      /* 0x47 */
#define t_func_begin    80      /* 0x50 */
#define t_func_begin1   167     /* 0xA7 */
#define t_block_begin   72      /* 0x48 */
#define t_block_begin1  168     /* 0xA8 */
#define t_block_end     73      /* 0x49 */
#define t_type          74      /* 0x4A */
#define t_size_type     79      /* 0x4F */
#define t_symbol_def    76      /* 0x4C */
#define t_symbol_def1   166     /* 0xA6 */
#define t_macro         78      /* 0x4E */
#define t_abs_var       57      /* 0x39 */
#define t_org           81      /* 0x51 */
#define t_ubrof_eof     255     /* 0xFF */

#define t_type_pointer	15		/* 0x0F */
#define t_type_array	16		/* 0x10 */
#define t_type_struct	17		/* 0x11 */
#define t_type_union	18		/* 0x12 */
#define t_type_bits		19		/* 0x13 */
#define t_type_func		20		/* 0x14 */
#define t_type_func1	35		/* 0x23 */
#define t_type_attr		21		/* 0x15 */
#define t_type_attr1	36		/* 0x24 */
#define t_type_dptr0	23		/* 0x17 */
#define t_type_dptr1	24		/* 0x18 */
#define t_type_dptr2	25		/* 0x19 */
#define t_type_dptr3	26		/* 0x1A */
#define t_type_dptr4	27		/* 0x1B */
#define t_type_dptr5	28		/* 0x1C */
#define t_type_dptr6	29		/* 0x1D */
#define t_type_dptr7	30		/* 0x1E */
#define t_type_cptr0	31		/* 0x1F */
#define t_type_cptr1	32		/* 0x20 */
#define t_type_cptr2	33		/* 0x21 */
#define t_type_cptr3	34		/* 0x22 */


                       /****************************
                        *                          *
                        *        PROTOTYPES        *
                        *                          *
                        ****************************/

#endif
/******************************** E O F ***********************************/
