www.pudn.com > AirAPIF.rar > air_table.h


/* Copyright (C) FUJITSU LIMITED 1999-2001 */ 
/* $Id: air_table.h,v 1.18 2001/03/05 16:00:04 JST age Exp $ */ 
/* This header file is protected for developers */ 
/* 
 * $Log: air_table.h,v $ 
 * Revision 1.18  2001/03/05 16:00:04 JST  age 
 * SymbolPort 追加、AirDBSymbol に attribute 追加 
 * 
 * Revision 1.17  2001/02/13 16:34:37 JST  age 
 * 古川  AirDBArchitecture に techseries の追加 
 * 
 * Revision 1.16  2001/01/30 10:31:29 JST  age 
 * 古川  AirDBPage に lastblocksymbol の追加 
 * 
 * Revision 1.15  2000/08/11 11:55:08 JST  age 
 * 古川  AirDBNetInfo で 8 byte 境界合わせのために、順序を入れ替 
 * 
 * Revision 1.14  2000/07/14 15:32:45 JST  age 
 * 古川  AirDBBlock, AirDBComponent, AirDBPortInfo, 
 *       AirDBComponentPortInfo, AirDBNetInfo に attribute 追加 
 * 
 * Revision 1.13  2000/06/28 10:34:46 JST  age 
 * 古川  AirDBFigure に rotate の追加 
 * 
 * Revision 1.12  2000/05/22 18:53:32 JST  age 
 * 古川  AirDBArchitecture に h_ioblock の追加 
 * 
 * Revision 1.11  2000/05/15 14:26:08 JST  age 
 * 古川  8 byte 境界合わせのために、padding を挿入 
 *       AirDBPortInfo の tosamenetinfo_pref を tosamenetinfo_prev に変更 
 * 
 * Revision 1.10  2000/04/21 11:30:45 JST  age 
 * 古川  AirDBComponent から toblockinfo 削除 
 *       AirDBComponentInfo に tocomponent 追加 
 * 
 * Revision 1.9  2000/04/07 17:09:30 JST  age 
 * 古川  AirDBPage から date 削除、firstdate, currentdate 追加 
 * 
 * Revision 1.8  2000/03/28 11:27:00 JST  age 
 * 古川  AirDBBlockInfo の io_f を型変更 
 *       AirDBStack の io_f を型変更 
 * 
 * Revision 1.7  2000/03/22 16:59:45 JST  age 
 * 古川  AirDBBlockInfo に io_f の追加 
 *       AirDBStack に io_f の追加 
 *       AirDBPortInfo に tocomponentportinfo の追加 
 *       AirDBNet で tovector の削除 
 *       AirDBNetInfo に tovector の追加 
 *       AirDBGroup に togroupinfo_hier の追加 
 *       AirDBGroupInfo で togroupinfo の双方向化、togroup_hier, 
 *       togroupinfo_next_hier, togroupinfo_prev_hier の追加 
 * 
 * Revision 1.6  2000/03/17 16:56:19 JST  age 
 * AirDBPageComment で tonext を unusedlink に変更 
 * AirDBBlock に toprev の追加 
 * AirDBBlockInfo で tosamecomponent を双方向化 
 * AirDBBlockSymbol で tosymbol の削除、tocomponentinfo の追加 
 * AirDBStack で tonext, toprev の削除 
 * AirDBSymbol に toprev の追加 
 * AirDBNetInfo で tonetinfo_multi を双方向化、tonext, toprev の削除 
 * AirDBFigure で tonext を unusedlink に変更 
 * 
 * Revision 1.5  2000/03/13 17:19:36 JST  age 
 * ・AirDBSymbol に tonext の追加 
 * ・AirDBPageComment::tonext, AirDBFigure::tonext の型変更 
 * 
 * Revision 1.4  2000/03/13 16:06:05 JST  age 
 * ・AirDBArchitecture から h_blocksymbol, h_stack, h_netinfo の削除 
 * 
 * Revision 1.3  2000/03/13 15:52:33 JST  age 
 * APDB フォーマット の改版 
 *   ・AirDBArchitecture に h_block, h_symbol, h_group の追加 
 *   ・AirDBPageComment の変更(stub->comment に変更、tonext の追加) 
 *   ・AirDBBlock に tonext の追加 
 *   ・AirDBFigure に tonext の追加 
 * 
 * Revision 1.2  2000/03/03 17:09:46 JST  age 
 * *** empty log message *** 
 * 
 * $Com: 古川  SymbolPort 追加、AirDBSymbol に attribute 追加 
 */ 
/* 
 * air_table.h: 2001/02/21 :: APDB フォーマット 0.18 版 
 */ 
 
 
#ifndef AIR_TABLE_H 
#define AIR_TABLE_H 
 
/* 型定義 */ 
#include "air_tabledef.h" 
 
/* 現在の DBフォーマットの版数 */ 
#define CURRENT_FORMATREVISION "0.18" 
 
/* 管理 */ 
struct AirDBEnv { 
  /* 各種情報 */ 
  AirDBInt n_arch;                      /* ARCH 管理 の数 */ 
}; 
 
 
/* ARCH 管理 */ 
struct AirDBArchitecture { 
  /* 各種情報 */ 
  AirDBString formatrevision;           /* DBフォーマットの版数 */ 
  AirDBInt    dbversion;                /* データベース版数 */ 
  AirDBString firstdate;                /* 初版日時 */ 
  AirDBString currentdate;              /* 最新版日時 */ 
  AirDBString techcode;                 /* テクノロジコード */ 
  AirDBString techseries;               /* テクノロジシリーズ */ 
  AirDBString userversion;              /* ユーザ管理版数 */ 
  AirDBString designer;                 /* 設計者名 */ 
  AirDBString division;                 /* 部署名 */ 
  AirDBString approval;                 /* 承認者名 */ 
  AirDBString approvaldate;             /* 承認日付 */ 
  AirDBString comment;                  /* コメント */ 
  AirDBString title;                    /* タイトル */ 
  AirDBString architecturename;         /* アーキテクチャ名 */ 
 
  AirDBBit physical_name_f;             /* 名前は半導体名 */ 
  AirDBBit sixtyfour_f;                 /* 64bit モード */ 
 
  /* リンク情報 */ 
  AirDBPageRef n_page;                  /* ページ の使用数 */ 
  AirDBPageRef m_page;                  /* ページ の最大数 */ 
  AirDBPageFigureRef n_pagefigure;      /* ページ図面 の使用数 */ 
  AirDBPageFigureRef m_pagefigure;      /* ページ図面 の最大数 */ 
  AirDBPageCommentRef n_pagecomment;    /* ページコメント の使用数 */ 
  AirDBPageCommentRef m_pagecomment;    /* ページコメント の最大数 */ 
  AirDBBlockRef n_block;                /* ブロック の使用数 */ 
  AirDBBlockRef m_block;                /* ブロック の最大数 */ 
  AirDBBlockRef n_ioblock;              /* IOブロック の使用数 */ 
  AirDBBlockRef m_ioblock;              /* IOブロック の最大数 */ 
  AirDBBlockInfoRef n_blockinfo;        /* ブロック情報 の使用数 */ 
  AirDBBlockInfoRef m_blockinfo;        /* ブロック情報 の最大数 */ 
  AirDBBlockSymbolRef n_blocksymbol;    /* ブロックシンボル の使用数 */ 
  AirDBBlockSymbolRef m_blocksymbol;    /* ブロックシンボル の最大数 */ 
  AirDBStackRef n_stack;                /* スタック の使用数 */ 
  AirDBStackRef m_stack;                /* スタック の最大数 */ 
  AirDBComponentRef n_component;        /* コンポーネント の使用数 */ 
  AirDBComponentRef m_component;        /* コンポーネント の最大数 */ 
  AirDBComponentInfoRef n_componentinfo; /* コンポーネント情報 の使用数 */ 
  AirDBComponentInfoRef m_componentinfo; /* コンポーネント情報 の最大数 */ 
  AirDBSymbolRef n_symbol;              /* シンボル の使用数 */ 
  AirDBSymbolRef m_symbol;              /* シンボル の最大数 */ 
  AirDBPortRef n_port;                  /* ポート の使用数 */ 
  AirDBPortRef m_port;                  /* ポート の最大数 */ 
  AirDBPortInfoRef n_portinfo;          /* ポートベクタ の使用数 */ 
  AirDBPortInfoRef m_portinfo;          /* ポートベクタ の最大数 */ 
  AirDBComponentPortRef n_componentport; /* コンポーネントポート の使用数 */ 
  AirDBComponentPortRef m_componentport; /* コンポーネントポート の最大数 */ 
  AirDBComponentPortInfoRef n_componentportinfo; /* コンポーネントポートベクタ の使用数 */ 
  AirDBComponentPortInfoRef m_componentportinfo; /* コンポーネントポートベクタ の最大数 */ 
  AirDBSymbolPortRef n_symbolport;      /* シンボルポート の使用数 */ 
  AirDBSymbolPortRef m_symbolport;      /* シンボルポート の最大数 */ 
  AirDBNetRef n_net;                    /* ネット の使用数 */ 
  AirDBNetRef m_net;                    /* ネット の最大数 */ 
  AirDBNetInfoRef n_netinfo;            /* ネット情報 の使用数 */ 
  AirDBNetInfoRef m_netinfo;            /* ネット情報 の最大数 */ 
  AirDBVectorRef n_vector;              /* バウンダリ の使用数 */ 
  AirDBVectorRef m_vector;              /* バウンダリ の最大数 */ 
  AirDBVectorInfoRef n_vectorinfo;      /* バウンダリ情報 の使用数 */ 
  AirDBVectorInfoRef m_vectorinfo;      /* バウンダリ情報 の最大数 */ 
  AirDBGroupRef n_group;                /* グループ の使用数 */ 
  AirDBGroupRef m_group;                /* グループ の最大数 */ 
  AirDBGroupInfoRef n_groupinfo;        /* グループ情報 の使用数 */ 
  AirDBGroupInfoRef m_groupinfo;        /* グループ情報 の最大数 */ 
  AirDBFigureRef n_figure;              /* 図面 の使用数 */ 
  AirDBFigureRef m_figure;              /* 図面 の最大数 */ 
  AirDBNameRef n_name;                  /* 名前 の使用数 */ 
  AirDBNameRef m_name;                  /* 名前 の最大数 */ 
  AirDBTextRef n_text;                  /* テキスト の使用バイト数 */ 
  AirDBTextRef m_text;                  /* テキスト の最大バイト数 */ 
  AirDBHashRef n_hash;                  /* ハッシュ の使用配列数 */ 
  AirDBHashRef m_hash;                  /* ハッシュ の最大配列数 */ 
  AirDBApplDefRef n_appldef;            /* アプリケーション定義 の使用バイト数 */ 
  AirDBApplDefRef m_appldef;            /* アプリケーション定義 の最大バイト数 */ 
 
  AirDBInt h_page;                      /* ページ の使用先頭 */ 
  AirDBInt h_block;                     /* ブロック の使用先頭 */ 
  AirDBInt h_ioblock;                   /* IOブロック の使用先頭 */ 
  AirDBInt h_component;                 /* コンポーネント の使用先頭 */ 
  AirDBInt h_symbol;                    /* シンボル の使用先頭 */ 
  AirDBInt h_net;                       /* ネット の使用先頭 */ 
  AirDBInt h_group;                     /* グループ の使用先頭 */ 
 
  /* 他 */ 
  AirDBInt relation;                    /* 関連づけ */ 
  AirDBApplDefRef appls;                /* アプリケーション定義 */ 
  AirDBBit textinfo_f;                  /* テキスト情報がある時 */ 
  AirDBInt exponent;                    /* mm の指数 */ 
  AirDBLetter caps;                     /* 大文字小文字 */ 
  AirDBByteOrder byteorder;             /* バイトオーダー(エンディアン) */ 
  AirDBBit master_arch_f;               /* 代表アーキテクチャフラグ */ 
}; 
 
/*==========================================================================*/ 
 
/* ページ */ 
struct AirDBPage { 
  /* 各種情報 */ 
  AirDBInt serialnumber;                /* 通しページ追番 */ 
  AirDBNameRef pagename;                /* ページ名 */ 
  AirDBNameRef firstdate;               /* 初版日時 */ 
  AirDBNameRef currentdate;             /* 最新版日時 */ 
  AirDBNameRef comment;                 /* コメント(ページタイトル) */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBPageFigureRef topagefigure;      /* ページ図面へのリンク */ 
  AirDBBlockSymbolRef toblocksymbol;    /* 同一ページ内ブロックシンボル */ 
  AirDBPageRef tonext;                  /* 作成順リンク(次) */ 
  AirDBPageRef toprev;                  /* 作成順リンク(前) */ 
  AirDBGroupInfoRef tosameobj;          /* 同一構成要素間グループ情報リンク */ 
  AirDBBlockSymbolRef lastblocksymbol;  /* 同一ページ内ブロックシンボル末尾 */ 
 
  /* 他 */ 
  AirDBInt relation;                    /* 関連づけ */ 
  AirDBInt dummy3;                      /* dummy */ 
  AirDBApplDefRef appls;                /* アプリケーション定義 */ 
}; 
 
 
/* ページ図面 */ 
struct AirDBPageFigure { 
  AirDBSize pagesize;                   /* ページサイズ */ 
  AirDBColor pagecolor;                 /* ページカラー */ 
  AirDBColor pagegroupcolor;            /* ページグループカラー */ 
  AirDBNameRef pagegroupname;           /* ページグループ名 */ 
  AirDBNameRef pageindex_x;             /* ページインデックス x */ 
  AirDBNameRef pageindex_y;             /* ページインデックス y */ 
  /* リンク情報 */ 
  AirDBPageCommentRef pagecomment;      /* ページコメントへのリンク */ 
  AirDBPageRef backtopage;              /* ページへの戻りリンク */ 
  AirDBPageFigureRef unusedlink;        /* 空きリンク */ 
  AirDBInt dummy1;                      /* dummy */ 
}; 
 
 
/* ページコメント */ 
struct AirDBPageComment { 
  /* 未定義 */ 
  /* 文字、線、矢印等が書けるようにする */ 
  AirDBString comment;                  /* コメント */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBPageCommentRef unusedlink;       /* 空きリンク */ 
  AirDBInt dummy2;                      /* dummy */ 
}; 
 
 
/* ブロック */ 
struct AirDBBlock { 
  /* 各種情報 */ 
  AirDBNameRef blockname;               /* ブロック名 */ 
  AirDBNameRef comment;                 /* コメント */ 
  AirDBNameRef attribute;               /* 属性 */ 
 
  AirDBBit stack_f;                     /* スタックの場合 */ 
  AirDBBit specialio_f;                 /* 特殊IO である */ 
  AirDBBit dummy1;                      /* dummy */ 
  AirDBBit dummy2;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBStackRef tostack;                /* スタックリンク */ 
  AirDBBlockInfoRef toblockinfo;        /* ブロック情報へのリンク */ 
  AirDBBlockRef tonext;                 /* 次リンク */ 
  AirDBBlockRef toprev;                 /* 前リンク */ 
}; 
 
 
/* ブロック情報 */ 
struct AirDBBlockInfo { 
  /* 各種情報 */ 
  AirDBInt libraryversion;              /* ライブラリ版数 */ 
  AirDBInt n_stack;                     /* スタックの個数 */ 
  AirDBBit io_f;                        /* IOブロックフラグ */ 
  AirDBBit dummy1;                      /* dummy */ 
  AirDBBit dummy2;                      /* dummy */ 
  AirDBBit dummy3;                      /* dummy */ 
  AirDBInt dummy4;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBBlockInfoRef tosamecomponent_next; /* 同一コンポーネント間リンク(次) */ 
  AirDBBlockInfoRef tosamecomponent_prev; /* 同一コンポーネント間リンク(前) */ 
  AirDBComponentRef tocomponent;        /* コンポーネントへのリンク */ 
  AirDBBlockRef toblock;                /* ブロックへのリンク */ 
  AirDBBlockInfoRef tosamestack;        /* ブロック情報間リンク */ 
  AirDBBlockSymbolRef toblocksymbol;    /* ブロックシンボルへのリンク */ 
}; 
 
 
/* ブロックシンボル */ 
struct AirDBBlockSymbol { 
  /* リンク情報 */ 
  AirDBBlockInfoRef toblockinfo;        /* ブロック情報へのリンク */ 
  AirDBBlockSymbolRef tonext;           /* 作成順リンク(次) */ 
  AirDBBlockSymbolRef toprev;           /* 作成順リンク(前) */ 
  AirDBComponentInfoRef tocomponentinfo; /* コンポーネント情報へのリンク */ 
  AirDBPageRef topage;                  /* ページへのリンク */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
  AirDBBlockSymbolRef toblocksymbol;    /* 複数シンボル用リンク */ 
  AirDBInt dummy1;                      /* dummy */ 
}; 
 
 
/* スタック */ 
struct AirDBStack { 
  /* 各種情報 */ 
  AirDBNameRef stackname;               /* スタック名 */ 
  AirDBNameRef attribute;               /* 属性 */ 
  AirDBNameRef variety;                 /* 形状識別名 */ 
  AirDBBit io_f;                        /* IOブロックフラグ */ 
  AirDBBit dummy1;                      /* dummy */ 
  AirDBBit dummy2;                      /* dummy */ 
  AirDBBit dummy3;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBStackRef tostack_next;           /* スタック間リンク(次) */ 
  AirDBStackRef tostack_prev;           /* スタック間リンク(前) */ 
  AirDBBlockRef toblock;                /* ブロックへのリンク */ 
  AirDBBlockInfoRef toblockinfo;        /* ブロック情報へのリンク */ 
  AirDBPortRef toport;                  /* ポートへのリンク */ 
  AirDBGroupInfoRef tosameobj;          /* 同一構成要素間グループ情報リンク */ 
  AirDBInt dummy4;                      /* dummy */ 
 
  /* 他 */ 
  AirDBInt relation;                    /* 関連づけ */ 
  AirDBInt dummy5;                      /* dummy */ 
  AirDBApplDefRef appls;                /* アプリケーション定義 */ 
}; 
 
 
/* コンポーネント */ 
struct AirDBComponent { 
  /* 各種情報 */ 
  AirDBLID lid;                         /* 論理識別ID */ 
  AirDBNameRef comment;                 /* コメント */ 
  AirDBNameRef componentname;           /* コンポーネント名 */ 
  AirDBNameRef reference;               /* 参照したライブラリの場所 */ 
  AirDBNameRef attribute;               /* 属性 */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBBlockInfoRef tosamecomponent;    /* 同一コンポーネント間リンク */ 
  AirDBComponentPortRef tocomponentport; /* 同一コンポーネントポート間リンク */ 
  AirDBComponentRef tonext;             /* 作成順リンク(次) */ 
  AirDBComponentRef toprev;             /* 作成順リンク(前) */ 
  AirDBComponentInfoRef tocomponentinfo; /* コンポーネント情報へのリンク */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
}; 
 
 
/* コンポーネント情報 */ 
struct AirDBComponentInfo { 
  /* リンク情報 */ 
  AirDBSymbolRef tosymbol;              /* シンボルへのリンク */ 
  AirDBComponentInfoRef tocomponentinfo; /* 複数シンボル用リンク */ 
  AirDBComponentRef tocomponent;        /* コンポーネントへのリンク */ 
  AirDBInt dummy1;                      /* dummy */ 
}; 
 
 
/* シンボル */ 
struct AirDBSymbol { 
  /* 各種情報 */ 
  AirDBNameRef symbolname;              /* シンボル名 */ 
  AirDBNameRef variety;                 /* 形状識別名 */ 
  AirDBNameRef attribute;               /* 属性 */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBSymbolRef duallink;              /* DUAL間リンク */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
  AirDBSymbolRef tonext;                /* 作成順リンク(次) */ 
  AirDBSymbolRef toprev;                /* 作成順リンク(前) */ 
  AirDBSymbolPortRef toport;            /* シンボルポートへのリンク */ 
  AirDBInt dummy2;                      /* dummy */ 
}; 
 
 
/* ポート */ 
struct AirDBPort { 
  /* 各種情報 */ 
  AirDBNameRef packagepinname;          /* 実装ピン名 */ 
  AirDBNameRef attribute;               /* 論理属性 */ 
 
  /* リンク情報 */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
  AirDBComponentPortRef tocomponentport; /* コンポーネントポートへのリンク */ 
  AirDBPortRef toport_next;             /* 同一ブロックポート間リンク(次) */ 
  AirDBPortRef toport_prev;             /* 同一ブロックポート間リンク(前) */ 
  AirDBStackRef tostack;                /* スタックへのリンク */ 
  AirDBInt dummy1;                      /* dummy */ 
  AirDBPortInfoRef toportinfo;          /* ポートベクタへのリンク */ 
}; 
 
 
/* ポートベクタ */ 
struct AirDBPortInfo { 
  /* 各種情報 */ 
  AirDBIO io;                           /* 入出力情報 */ 
  AirDBNameRef attribute;               /* 属性 */ 
 
  /* リンク情報 */ 
  AirDBPortRef toport;                  /* ポートへのリンク */ 
  AirDBPortInfoRef toportinfo_next;     /* 同一ベクタ内リンク(次) */ 
  AirDBPortInfoRef toportinfo_prev;     /* 同一ベクタ内リンク(前) */ 
  AirDBPortInfoRef tosamenetinfo_next;  /* 同一ネット情報内リンク(次) */ 
  AirDBPortInfoRef tosamenetinfo_prev;  /* 同一ネット情報内リンク(前) */ 
  AirDBNetInfoRef tonetinfo;            /* ネット情報へのリンク */ 
  AirDBGroupInfoRef tosameobj;          /* 同一構成要素間グループ情報リンク */ 
  AirDBComponentPortInfoRef tocomponentportinfo; /* コンポーネントポートベクタへのリンク */ 
  AirDBInt dummy2;                      /* dummy */ 
 
  /* 他 */ 
  AirDBInt relation;                    /* 関連づけ */ 
  AirDBInt dummy3;                      /* dummy */ 
  AirDBApplDefRef appls;                /* アプリケーション定義 */ 
}; 
 
 
/* コンポーネントポート */ 
struct AirDBComponentPort { 
  /* 各種情報 */ 
  AirDBNameRef portname;                /* 論理ピン名 */ 
  AirDBNameRef attribute;               /* 属性 */ 
 
  AirDBBit multi_f;                     /* マルチの場合 */ 
  AirDBBit dummy1;                      /* dummy */ 
  AirDBBit dummy2;                      /* dummy */ 
  AirDBBit dummy3;                      /* dummy */ 
  AirDBInt dummy4;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBComponentRef tocomponent;        /* コンポーネントへのリンク */ 
  AirDBComponentPortRef tocomponentport_next; /* 同一コンポーネントポート間リンク(次) */ 
  AirDBComponentPortRef tocomponentport_prev; /* 同一コンポーネントポート間リンク(前) */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
  AirDBComponentPortInfoRef tocomponentportinfo; /* コンポーネントポートベクタへのリンク */ 
  AirDBVectorRef tovector;              /* バウンダリ管理へのリンク */ 
}; 
 
 
/* コンポーネントポートベクタ */ 
struct AirDBComponentPortInfo { 
  /* 各種情報 */ 
  AirDBIO io;                           /* 入出力情報 */ 
  AirDBNameRef attribute;               /* 属性 */ 
 
  /* リンク情報 */ 
  AirDBComponentPortRef tocomponentport; /* コンポーネントポートへのリンク */ 
  AirDBComponentPortInfoRef tocomponentportinfo_next; /* ベクタ間リンク(次) */ 
  AirDBComponentPortInfoRef tocomponentportinfo_prev; /* ベクタ間リンク(前) */ 
  AirDBVectorInfoRef tovectorinfo;      /* バウンダリへのリンク */ 
}; 
 
 
/* シンボルポート */ 
struct AirDBSymbolPort { 
  /* 各種情報 */ 
  AirDBNameRef portname;                /* シンボルポート名 */ 
  AirDBDirection direction;             /* 方向 */ 
 
  /* リンク情報 */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
  AirDBSymbolPortRef tonext;            /* 同一シンボルポート間リンク(次) */ 
  AirDBSymbolPortRef toprev;            /* 同一シンボルポート間リンク(前) */ 
  AirDBSymbolRef tosymbol;              /* シンボルへのリンク */ 
}; 
 
 
/* ネット */ 
struct AirDBNet { 
  /* 各種情報 */ 
  AirDBNameRef attribute;               /* 属性 */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBNetInfoRef tonetinfo;            /* ネット情報へのリンク */ 
  AirDBNetRef tonext;                   /* 作成順リンク(次) */ 
  AirDBNetRef toprev;                   /* 作成順リンク(前) */ 
  AirDBInt dummy2;                      /* dummy */ 
}; 
 
 
/* ネット情報 */ 
struct AirDBNetInfo { 
  /* 各種情報 */ 
  AirDBNameRef netname;                 /* ネット名 */ 
  AirDBInt n_step;                      /* 段数 */ 
  AirDBNameRef attribute;               /* 属性 */ 
 
  /* リンク情報 */ 
  AirDBNetRef tonet;                    /* ネットへのリンク */ 
  AirDBFigureRef tofigure;              /* 図面へのリンク */ 
  AirDBNetInfoRef tomulti_next;         /* マルチネット間リンク(次) */ 
  AirDBNetInfoRef tomulti_prev;         /* マルチネット間リンク(前) */ 
  AirDBVectorRef tovector;              /* バウンダリ管理へのリンク */ 
  AirDBVectorInfoRef tovectorinfo;      /* バウンダリへのリンク */ 
  AirDBNetInfoRef tonetinfo_next;       /* 同一ネット情報間リンク(次) */ 
  AirDBNetInfoRef tonetinfo_prev;       /* 同一ネット情報間リンク(前) */ 
  AirDBGroupInfoRef tosameobj;          /* 同一構成要素間グループ情報リンク */ 
  AirDBPortInfoRef toportinfo;          /* ポートベクタへのリンク */ 
 
  /* 他 */ 
  AirDBInt relation;                    /* 関連づけ */ 
  AirDBInt dummy2;                      /* dummy */ 
  AirDBApplDefRef appls;                /* アプリケーション定義 */ 
}; 
 
 
/* バウンダリ管理 */ 
struct AirDBVector { 
  /* 各種情報 */ 
  AirDBKind kind;                       /* 種別 */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBVectorInfoRef tovectorinfo;      /* バウンダリのスタート値 */ 
  AirDBInt dummy2;                      /* dummy */ 
  AirDBAnyRef backlink;                 /* 戻りリンク */ 
}; 
 
/* バウンダリ */ 
struct AirDBVectorInfo { 
  /* 各種情報 */ 
  AirDBInt dimension;                   /* 次元 */ 
  AirDBNameRef suffixname;              /* サフィックス名 */ 
 
  /* リンク情報 */ 
  AirDBVectorInfoRef tovectorinfo_up;   /* 上位へのリンク */ 
  AirDBVectorInfoRef tovectorinfo_next; /* 同じ階層をつなぐリンク(次) */ 
  AirDBVectorInfoRef tovectorinfo_prev; /* 同じ階層をつなぐリンク(前) */ 
  AirDBVectorInfoRef tovectorinfo_down; /* 下位へのリンク */ 
  AirDBVectorRef tovector;              /* バウンダリ管理へのリンク */ 
  AirDBInt dummy1;                      /* dummy */ 
  AirDBAnyRef backlink;                 /* 戻りリンク */ 
}; 
 
 
/* グループ */ 
struct AirDBGroup { 
  /* 各種情報 */ 
  AirDBNameRef groupname;               /* グループ名 */ 
  AirDBNameRef variety;                 /* 識別名 */ 
 
  /* リンク情報 */ 
  AirDBGroupInfoRef togroupinfo;        /* グループ情報へのリンク */ 
  AirDBNameRef togroupinfo_hier;        /* togroupinfo のある階層名 */ 
  AirDBGroupRef togroup_next;           /* 同一階層グループ間リンク(次) */ 
  AirDBGroupRef togroup_prev;           /* 同一階層グループ間リンク(前) */ 
  AirDBGroupRef togroup_down;           /* 下位階層グループへのリンク */ 
  AirDBGroupRef togroup_up;             /* 上位階層グループへのリンク */ 
 
  /* 他 */ 
  AirDBInt relation;                    /* 関連づけ */ 
  AirDBInt dummy1;                      /* dummy */ 
  AirDBApplDefRef appls;                /* アプリケーション定義 */ 
}; 
 
 
/* グループ情報 */ 
struct AirDBGroupInfo { 
  /* 各種情報 */ 
  AirDBKind kind;                       /* 種別 */ 
  AirDBInt dummy1;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBAnyRef toobj;                    /* 構成要素へのリンク */ 
  AirDBGroupRef togroup;                /* グループへのリンク */ 
  AirDBNameRef togroup_hier;            /* togroup のある階層名 */ 
  AirDBGroupInfoRef togroupinfo_next;   /* 同一グループ間リンク(次) */ 
  AirDBNameRef togroupinfo_next_hier;   /* togroupinfo_next のある階層名 */ 
  AirDBGroupInfoRef togroupinfo_prev;   /* 同一グループ間リンク(前) */ 
  AirDBNameRef togroupinfo_prev_hier;   /* togroupinfo_next のある階層名 */ 
  AirDBGroupInfoRef tosameobj;          /* 同一構成要素間リンク */ 
  AirDBInt dummy2;                      /* dummy */ 
}; 
 
 
/* 図面 */ 
struct AirDBFigure { 
  /* 各種情報 */ 
  AirDBString coord;                    /* 位置情報 */ 
  AirDBColor color;                     /* 色 */ 
  AirDBString font;                     /* フォント */ 
  AirDBString xysize;                   /* サイズ */ 
  AirDBBit invisible_f;                 /* 非表示フラグ */ 
  AirDBString width;                    /* 太さ */ 
  AirDBString shape;                    /* 線の形状 */ 
  AirDBString type;                     /* 端点のタイプ */ 
  AirDBString linecoord;                /* 線の座標 */ 
  AirDBString rotate;                   /* 回転角 */ 
 
  /* リンク情報 */ 
  AirDBFigureRef unusedlink;            /* 空きリンク */ 
}; 
 
 
/* 名前 */ 
struct AirDBName { 
  /* 各種情報 */ 
  AirDBInt byteoftext;                  /* 文字列バイト数 */ 
  AirDBKind kind;                       /* 種別 */ 
 
  AirDBBit alias_f;                     /* aliasの場合 */ 
  AirDBBit dummy_f;                     /* ダミーで付けられた場合 */ 
  AirDBBit dummy1;                      /* dummy */ 
  AirDBBit dummy2;                      /* dummy */ 
  AirDBInt dummy3;                      /* dummy */ 
 
  /* リンク情報 */ 
  AirDBTextRef totext;                  /* テキストへのリンク */ 
  AirDBInt dummy4;                      /* dummy */ 
  AirDBAnyRef backlink;                 /* 戻りリンク */ 
  AirDBNameRef hashlink;                /* オーバーフローハッシュリンク */ 
  AirDBNameRef sortlink_next;           /* ソートリンク(次) */ 
  AirDBNameRef sortlink_prev;           /* ソートリンク(前) */ 
  AirDBNameRef aliaslink;               /* aliasリンク */ 
}; 
 
 
/* テキスト */ 
struct AirDBText; 
/* 
  次のテキストへのリンク 
  文字列データのサイズ 
  フラグ(下位1bitが使用フラグ) 
  文字列データ(可変長) (使用フラグが0の時,戻りリンク) 
  自分自身へのリンク 
  */ 
 
 
/* ハッシュ */ 
struct AirDBHash { 
  /* リンク情報 */ 
  AirDBNameRef toname;                  /* 名前へのリンク */ 
  AirDBInt dummy1;                      /* dummy */ 
}; 
 
 
/* アプリケーション定義領域 */ 
struct AirDBApplDef; 
/* 
  ヘッダ (ヘッダを含めたトータルバイト数、有効バイト数、 
          テキストかバイナリかのフラグ、ID、同一構成要素間リンク) 
  本体 
  */ 
 
 
/*==========================================================================*/ 
 
/* ARCH 管理実装 */ 
struct AirDBArchitecturePackage { 
  /* LSI 実装情報 */ 
  AirDBString assigndate;               /* I/Oピン割り付け日時 */ 
  AirDBString packagename;              /* M9IOASNで指示しているパッケージ名 */ 
 
  /* プリント板実装情報 */ 
  AirDBString packagedate;              /* 実装日時 */ 
  AirDBString boardcode;                /* ボードコード */ 
}; 
 
 
/* ポート実装 */ 
struct AirDBPortPackage { 
  /* 各種情報 */ 
  AirDBString attribute;                /* 実装属性 */ 
}; 
 
 
/* スタック実装 */ 
struct AirDBStackPackage { 
  /* プリント板実装情報 */ 
  AirDBString portion;                  /* ポーション名 */ 
  AirDBString assignclass;              /* 割り付け区分 */ 
}; 
 
 
/* ネット情報 */ 
struct AirDBNetInfoPackage { 
  /* プリント板実装情報 */ 
  AirDBString wire;                     /* WIRE分解 */ 
  AirDBString priorityorder;            /* 配線優先順序 */ 
  AirDBString signalcode;               /* 信号分解コード */ 
  AirDBString netexec;                  /* NET実行 */ 
}; 
 
 
/* C 用 */ 
#ifndef  __cplusplus 
typedef struct AirDBEnv AirDBEnv; 
typedef struct AirDBArchitecture AirDBArchitecture; 
typedef struct AirDBPage AirDBPage; 
typedef struct AirDBPageFigure AirDBPageFigure; 
typedef struct AirDBPageComment AirDBPageComment; 
typedef struct AirDBBlock AirDBBlock; 
typedef struct AirDBBlockInfo AirDBBlockInfo; 
typedef struct AirDBBlockSymbol AirDBBlockSymbol; 
typedef struct AirDBStack AirDBStack; 
typedef struct AirDBComponent AirDBComponent; 
typedef struct AirDBComponentInfo AirDBComponentInfo; 
typedef struct AirDBSymbol AirDBSymbol; 
typedef struct AirDBPort AirDBPort; 
typedef struct AirDBPortInfo AirDBPortInfo; 
typedef struct AirDBComponentPort AirDBComponentPort; 
typedef struct AirDBComponentPortInfo AirDBComponentPortInfo; 
typedef struct AirDBNet AirDBNet; 
typedef struct AirDBNetInfo AirDBNetInfo; 
typedef struct AirDBVector AirDBVector; 
typedef struct AirDBVectorInfo AirDBVectorInfo; 
typedef struct AirDBGroup AirDBGroup; 
typedef struct AirDBGroupInfo AirDBGroupInfo; 
typedef struct AirDBFigure AirDBFigure; 
typedef struct AirDBName AirDBName; 
typedef struct AirDBText AirDBText; 
typedef struct AirDBHash AirDBHash; 
typedef struct AirDBApplDef AirDBApplDef; 
typedef struct AirDBArchitecturePackage AirDBArchitecturePackage; 
typedef struct AirDBPortPackage AirDBPortPackage; 
typedef struct AirDBStackPackage AirDBStackPackage; 
typedef struct AirDBNetInfoPackage AirDBNetInfoPackage; 
#endif 
 
 
#endif /* AIR_TABLE_H */