Solaris Trusted Extensions 開発ガイド

ラベルのためのメモリーの割り当てと解放

m_label_alloc()m_label_dup()、および m_label_free() ルーチンが、ラベルのためのメモリーの割り当てと解放に使用されます。次のルーチンの記述には、各ルーチンのプロトタイプ宣言が含まれます。

m_label_t *m_label_alloc(const m_label_type_t label_type);

m_label_alloc() ルーチンは、ヒープの m_label_t データ構造にラベルを割り当てます。getlabel()fgetlabel() などのルーチンを呼び出す前に、ラベルを割り当てる必要があります。str_to_label() などのルーチンでは、m_label_t 構造体が自動的に割り当てられます。

m_label_alloc() ルーチンを使用してラベルを作成する場合、機密ラベルまたは認可上限ラベルになるようにラベルタイプを設定できます。

int m_label_dup(m_label_t **dst, const m_label_t *src);

m_label_dup() ルーチンはラベルを複製します。

void m_label_free(m_label_t *label);

m_label_free() ルーチンは、ラベルに割り当てられたメモリーを解放します。

m_label_t 構造体を割り当てる場合、または m_label_t 構造体が自動的に割り当てられる別のルーチンを呼び出す場合、割り当てられたメモリーを解放する必要があります。m_label_free() ルーチンは、割り当てられたメモリーを解放します。

m_label(3TSOL) のマニュアルページを参照してください。