次の例は、バイナリ認可上限を長形式の語句を使用した、 ASCII に変換します。TS A B で動作しているプロセスは、バイナリ認可上限に同等で、特権を必要としません。
ASCII の入出力形式、規則、およびフラグの詳細は、「バイナリと ASCII」を参照してください。
#include <tsol/label.h>
main()
{
int retval, length = 0;
bclear_t pclear;
char *string = (char *)0;
retval = getclearance(&pclear);
retval = bcleartos(&pclear, &string, length, LONG_WORDS);
printf("Process clearance = %s¥n", string);
}
printf(1) 文によって、次のように出力されます。
Process clearance = TS ABLE BAKER
次の例は、プロセスのラベルを 5 文字以内にクリッピング (長さを変更) します。クリッピングは、pclear 内の文字数が指定された長さを超える場合に行われます。
#include <tsol/label.h>
main()
{
int retval;
bclear_t pclear;
char *string = (char *)0;
retval = getclearance(&pclear);
string = sbcleartos(&pclear, 5);
printf("Clipped process clearance = %s¥n", string);
}
printf 文によって、次のように出力されます。<- は、名前がクリッピングされたことを示します。この <- は、2 文字としてクリッピング後の文字数に含まれます。
Clipped process clearance = TS<-
次の例は、ASCII 文字列をバイナリ認可上限に変換します。
#include <tsol/label.h>
main()
{
int retval, error;
bclear_t bclear;
char *labelstring = "TS ABLE BAKER";
retval = stobclear(labelstring, &bclear, NEW_LABEL, &error);
if (retval == 0)
printf("Error = %d¥n", error);
else
printf("Retval = %d¥n", retval);
}
printf(1) 文により、次のように出力されます。
Retval = 1