mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.6 KiB
61 lines
1.6 KiB
#ifndef __NCB_H__
|
|
#define __NCB_H__
|
|
|
|
// definition for standard BSC interface
|
|
// and different ATRs and TYPs
|
|
#include <bsc.h>
|
|
#include "ncarray.h"
|
|
// TYP == BYTE
|
|
// ATR == USHORT
|
|
|
|
// various kind of streams:
|
|
#define SZ_NCB_TARGET_INFO "/ncb/targetinfo"
|
|
#define SZ_NCB_MODULE_INFO "/ncb/moduleinfo"
|
|
#define SZ_NCB_TARGET_PREFIX "/ncb/target/"
|
|
#define SZ_NCB_MODULE_PREFIX "/ncb/module/"
|
|
|
|
//#pragma pack(1)
|
|
|
|
struct NCB_ENTITY
|
|
{
|
|
NI m_ni; // name index, index used in the name table (nmt)
|
|
TYP m_typ; // type of the object, eg: function/var/typedef/class/etc and decl/defn
|
|
// same as in bsc.h
|
|
USHORT m_atr; // attribute value, eg: static, virtual, private, protected
|
|
// same as in bsc.h
|
|
};
|
|
|
|
|
|
struct NCB_PROP
|
|
{
|
|
NCB_ENTITY m_en; // entity (consists of:
|
|
// o index to name table (NI)
|
|
// o type of the object (TYP)
|
|
// o attribute of the object (ATR)
|
|
USHORT m_lnStart;// line number of the entity
|
|
USHORT m_iUse; // index to use (index to NCB_USE table) (iMac index)
|
|
USHORT m_iParam; // index to return type and params (index to NI table) (iMac index)
|
|
};
|
|
|
|
// this is used for lookup
|
|
struct NCB_USE
|
|
{
|
|
BYTE m_kind; // kind of uses
|
|
USHORT m_iProp; // index to prop table
|
|
};
|
|
|
|
// IN MEMORY representation of NCB_PROP (used when module content is loaded for
|
|
// write): (ie: loose version)
|
|
struct NCB_PROP_INMEM
|
|
{
|
|
NCB_ENTITY m_en; // entity (consists of:
|
|
// o index to name table (NI)
|
|
// o type of the object (TYP)
|
|
// o attribute of the object (ATR)
|
|
USHORT m_lnStart; // line number of the entity
|
|
Array<NCB_USE> m_rgUse; // array of NCB_USE (for each prop)
|
|
Array<NI> m_rgParam; // return value and parameters (for each prop)
|
|
};
|
|
|
|
|
|
#endif
|