Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/kernel/mempfix.h

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-chdr to text/x-chdr;charset=UTF-8
    r388 r389  
    99 *              Graduate School of Information Science, Nagoya Univ., JAPAN
    1010 *
    11  *  上記著作権è€
    12 ã¯ï¼Œä»¥ä¸‹ã®(1)~(4)の条件を満たす場合に限り,本ソフトウェ
    13  *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
    14  *  変・再é
    15 å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
    16  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    17  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    18  *      スコード中に含まれていること.
    19  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    20  *      用できる形で再é
    21 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    22 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    23  *      è€
    24 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    25  *      の無保証規定を掲載すること.
    26  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    27  *      用できない形で再é
    28 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
    29  *      と.
    30  *    (a) 再é
    31 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    32 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    33  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    34  *    (b) 再é
    35 å¸ƒã®å½¢æ
    36 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    37  *        報告すること.
    38  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    39  *      害からも,上記著作権è€
    40 ãŠã‚ˆã³TOPPERSプロジェクトをå
    41 è²¬ã™ã‚‹ã“と.
    42  *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
    43  *      由に基づく請求からも,上記著作権è€
    44 ãŠã‚ˆã³TOPPERSプロジェクトを
    45  *      å
    46 è²¬ã™ã‚‹ã“と.
     11 *  上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ
     12 *  ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
     13 *  変・再配布(以下,利用と呼ぶ)することを無償で許諾する.
     14 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     15 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     16 *      スコード中に含まれていること.
     17 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     18 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     19 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     20 *      の無保証規定を掲載すること.
     21 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     22 *      用できない形で再配布する場合には,次のいずれかの条件を満たすこ
     23 *      と.
     24 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     25 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     26 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     27 *        報告すること.
     28 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     29 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     30 *      また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
     31 *      由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを
     32 *      免責すること.
    4733 *
    48  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    49 ãŠ
    50  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
    51  *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
    52  *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
    53  *  の責任を負わない.
     34 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     35 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
     36 *  に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
     37 *  アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
     38 *  の責任を負わない.
    5439 *
    5540 *  $Id$
     
    5742
    5843/*
    59  *              固定長メモリプール機能
     44 *              固定長メモリプール機能
    6045 */
    6146
     
    6853
    6954/*
    70  *  固定長メモリブロック管理ブロック
     55 *  固定長メモリブロック管理ブロック
    7156 *
    72  *  nextフィールドには,メモリブロックが割当て済みの場合はINDEX_ALLOCを,
    73  *  未割当ての場合は次の未割当てブロックのインデックス番号を格納する.
    74  *  最後の未割当てブロックの場合には,INDEX_NULLを格納する.
     57 *  nextフィールドには,メモリブロックが割当て済みの場合はINDEX_ALLOCを,
     58 *  未割当ての場合は次の未割当てブロックのインデックス番号を格納する.
     59 *  最後の未割当てブロックの場合には,INDEX_NULLを格納する.
    7560 */
    7661typedef struct fixed_memoryblock_management_block {
    77         uint_t          next;                   /* 次の未割当てブロック */
     62        uint_t          next;                   /* 次の未割当てブロック */
    7863} MPFMB;
    7964
    8065/*
    81  *  固定長メモリプール初期化ブロック
     66 *  固定長メモリプール初期化ブロック
    8267 *
    83  *  この構造体は,同期・通信オブジェクトの初期化ブロックのå
    84 ±é€šéƒ¨åˆ†
    85  *  (WOBJINIB)を拡張(オブジェクト指向言語の継承に相当)したもので,
    86  *  最初のフィールドがå
    87 ±é€šã«ãªã£ã¦ã„る.
     68 *  この構造体は,同期・通信オブジェクトの初期化ブロックの共通部分
     69 *  (WOBJINIB)を拡張(オブジェクト指向言語の継承に相当)したもので,
     70 *  最初のフィールドが共通になっている.
    8871 */
    8972typedef struct fixed_memorypool_initialization_block {
    90         ATR                     mpfatr;                 /* 固定長メモリプール属性 */
    91         uint_t          blkcnt;                 /* メモリブロック数 */
    92         uint_t          blksz;                  /* メモリブロックのサイズ(丸めた値) */
    93         void            *mpf;                   /* 固定長メモリプール領域のå
    94 ˆé ­ç•ªåœ° */
    95         MPFMB           *p_mpfmb;               /* 固定長メモリプール管理領域のå
    96 ˆé ­ç•ªåœ° */
     73        ATR                     mpfatr;                 /* 固定長メモリプール属性 */
     74        uint_t          blkcnt;                 /* メモリブロック数 */
     75        uint_t          blksz;                  /* メモリブロックのサイズ(丸めた値) */
     76        void            *mpf;                   /* 固定長メモリプール領域の先頭番地 */
     77        MPFMB           *p_mpfmb;               /* 固定長メモリプール管理領域の先頭番地 */
    9778} MPFINIB;
    9879
    9980/*
    100  *  固定長メモリプール管理ブロック
     81 *  固定長メモリプール管理ブロック
    10182 *
    102  *  この構造体は,同期・通信オブジェクトの管理ブロックのå
    103 ±é€šéƒ¨åˆ†ï¼ˆWOBJCB)
    104  *  を拡張(オブジェクト指向言語の継承に相当)したもので,最初の2つの
    105  *  フィールドがå
    106 ±é€šã«ãªã£ã¦ã„る.
     83 *  この構造体は,同期・通信オブジェクトの管理ブロックの共通部分(WOBJCB)
     84 *  を拡張(オブジェクト指向言語の継承に相当)したもので,最初の2つの
     85 *  フィールドが共通になっている.
    10786 */
    10887typedef struct fixed_memorypool_control_block {
    109         QUEUE           wait_queue;             /* 固定長メモリプールå¾
    110 ã¡ã‚­ãƒ¥ãƒ¼ */
    111         const MPFINIB *p_mpfinib;       /* 初期化ブロックへのポインタ */
    112         uint_t          fblkcnt;                /* 未割当てブロック数 */
    113         uint_t          unused;                 /* 未使用ブロックのå
    114 ˆé ­ */
    115         uint_t          freelist;               /* 未割当てブロックのリスト */
     88        QUEUE           wait_queue;             /* 固定長メモリプール待ちキュー */
     89        const MPFINIB *p_mpfinib;       /* 初期化ブロックへのポインタ */
     90        uint_t          fblkcnt;                /* 未割当てブロック数 */
     91        uint_t          unused;                 /* 未使用ブロックの先頭 */
     92        uint_t          freelist;               /* 未割当てブロックのリスト */
    11693} MPFCB;
    11794
    11895/*
    119  *  固定長メモリプールå¾
    120 ã¡æƒ
    121 å ±ãƒ–ロックの定義
     96 *  固定長メモリプール待ち情報ブロックの定義
    12297 *
    123  *  この構造体は,同期・通信オブジェクトのå¾
    124 ã¡æƒ
    125 å ±ãƒ–ロックのå
    126 ±é€šéƒ¨åˆ†
    127  *  (WINFO_WOBJ)を拡張(オブジェクト指向言語の継承に相当)したもので,
    128  *  最初の2つのフィールドがå
    129 ±é€šã«ãªã£ã¦ã„る.
     98 *  この構造体は,同期・通信オブジェクトの待ち情報ブロックの共通部分
     99 *  (WINFO_WOBJ)を拡張(オブジェクト指向言語の継承に相当)したもので,
     100 *  最初の2つのフィールドが共通になっている.
    130101 */
    131102typedef struct fixed_memorypool_waiting_information {
    132         WINFO           winfo;                  /* 標準のå¾
    133 ã¡æƒ
    134 å ±ãƒ–ロック */
    135         MPFCB           *p_mpfcb;               /* å¾
    136 ã£ã¦ã„る固定長メモリプールの管理ブロック*/
    137         void            *blk;                   /* 獲得したメモリブロック */
     103        WINFO           winfo;                  /* 標準の待ち情報ブロック */
     104        MPFCB           *p_mpfcb;               /* 待っている固定長メモリプールの管理ブロック*/
     105        void            *blk;                   /* 獲得したメモリブロック */
    138106} WINFO_MPF;
    139107
    140108/*
    141  *  使用していない固定長メモリプール管理ブロックのリスト
     109 *  使用していない固定長メモリプール管理ブロックのリスト
    142110 */
    143111extern QUEUE    free_mpfcb;
    144112
    145113/*
    146  *  固定長メモリプールIDの最大値(kernel_cfg.c)
     114 *  固定長メモリプールIDの最大値(kernel_cfg.c)
    147115 */
    148116extern const ID tmax_mpfid;
     
    150118
    151119/*
    152  *  固定長メモリプール初期化ブロックのエリア(kernel_cfg.c)
     120 *  固定長メモリプール初期化ブロックのエリア(kernel_cfg.c)
    153121 */
    154122extern const MPFINIB    mpfinib_table[];
     
    156124
    157125/*
    158  *  固定長メモリプール管理ブロックのエリア(kernel_cfg.c)
     126 *  固定長メモリプール管理ブロックのエリア(kernel_cfg.c)
    159127 */
    160128extern MPFCB    mpfcb_table[];
    161129
    162130/*
    163  *  固定長メモリプール管理ブロックから固定長メモリプールIDを取り出すた
    164  *  めのマクロ
     131 *  固定長メモリプール管理ブロックから固定長メモリプールIDを取り出すた
     132 *  めのマクロ
    165133 */
    166134#define MPFID(p_mpfcb)  ((ID)(((p_mpfcb) - mpfcb_table) + TMIN_MPFID))
    167135
    168136/*
    169  *  固定長メモリプール機能の初期化
     137 *  固定長メモリプール機能の初期化
    170138 */
    171139extern void     initialize_mempfix(void);
    172140
    173141/*
    174  *  固定長メモリプールからブロックを獲得
     142 *  固定長メモリプールからブロックを獲得
    175143 */
    176144extern void     get_mpf_block(MPFCB *p_mpfcb, void **p_blk);
Note: See TracChangeset for help on using the changeset viewer.