NewtNSOF.c

Newton Streamed Object Format [詳細]

#include <string.h>
#include "NewtNSOF.h"
#include "NewtErrs.h"
#include "NewtObj.h"
#include "NewtEnv.h"
#include "NewtFns.h"
#include "NewtVM.h"
#include "NewtIconv.h"
#include "utils/endian_utils.h"

ソースコードを見る。

データ構造

struct  nsof_stream_t
 NSOFストリーム構造体 [詳細]

マクロ定義

#define NSOFIsNOS(verno)   ((verno == 1) || (verno == 2))
 Newton OS 互換の NSOF

関数

static bool NewtRefIsByte (newtRefArg r)
static bool NewtRefIsSmallRect (newtRefArg r)
static int32_t NewtArraySearch (newtRefArg array, newtRefArg r)
static newtErr NSOFWriteByte (nsof_stream_t *nsof, uint8_t value)
static newtErr NSOFWriteXlong (nsof_stream_t *nsof, int32_t value)
static uint8_t NSOFReadByte (nsof_stream_t *nsof)
static int32_t NSOFReadXlong (nsof_stream_t *nsof)
static newtErr NSOFWritePrecedent (nsof_stream_t *nsof, int32_t pos)
static newtErr NSOFWriteImmediate (nsof_stream_t *nsof, newtRefArg r)
static newtErr NSOFWriteCharacter (nsof_stream_t *nsof, newtRefArg r)
static newtErr NSOFWriteBinary (nsof_stream_t *nsof, newtRefArg r, uint16_t objtype)
static newtErr NSOFWriteSymbol (nsof_stream_t *nsof, newtRefArg r)
static newtErr NSOFWriteNamedMP (nsof_stream_t *nsof, newtRefArg r)
static newtErr NSOFWriteArray (nsof_stream_t *nsof, newtRefArg r)
static newtErr NSOFWriteFrame (nsof_stream_t *nsof, newtRefArg r)
static newtErr NSOFWriteSmallRect (nsof_stream_t *nsof, newtRefArg r)
static newtErr NewtWriteNSOF (nsof_stream_t *nsof, newtRefArg r)
static newtRef NSOFReadBinary (nsof_stream_t *nsof, int type)
static newtRef NSOFReadArray (nsof_stream_t *nsof, int type)
static newtRef NSOFReadFrame (nsof_stream_t *nsof)
static newtRef NSOFReadSymbol (nsof_stream_t *nsof)
static newtRef NSOFReadNamedMP (nsof_stream_t *nsof)
static newtRef NSOFReadSmallRect (nsof_stream_t *nsof)
static newtRef NSOFReadNSOF (nsof_stream_t *nsof)
newtRef NsMakeNSOF (newtRefArg rcvr, newtRefArg r, newtRefArg ver)
newtRef NewtReadNSOF (uint8_t *data, size_t size)
newtRef NsReadNSOF (newtRefArg rcvr, newtRefArg r)


説明

Newton Streamed Object Format

作者:
M.Nukui
日付:
2005-04-01
Copyright (C) 2005 M.Nukui All rights reserved.

NewtNSOF.c で定義されています。


関数

int32_t NewtArraySearch ( newtRefArg  array,
newtRefArg  r 
) [static]

配列からオブジェクトを探す

引数:
array [in] 配列
r [in] フレームオブジェクト
戻り値:
0以上 見つかった位置
-1 見つからなかった

NewtNSOF.c151 行で定義されています。

参照先 NewtArrayLengthNewtRefToSlots.

参照元 NewtWriteNSOF().

newtRef NewtReadNSOF ( uint8_t *  data,
size_t  size 
)

NSOFバイナリオブジェクトを読込む

引数:
data [in] NSOFデータ
size [in] NSOFデータサイズ
戻り値:
オブジェクト

NewtNSOF.c1171 行で定義されています。

参照先 kNewtRefUnbindNewtDefaultEncoding()NewtMakeArray()NSOFIsNOSNSOFReadByte()NSOFReadNSOF().

参照元 NsReadNSOF().

関数の呼び出しグラフ:

bool NewtRefIsByte ( newtRefArg  r  )  [static]

オブジェクトが 0〜255 の整数かチェックする

引数:
r [in] オブジェクト
戻り値:
true 0〜255 の整数
false 0〜255 の整数でない

NewtNSOF.c99 行で定義されています。

参照先 NewtRefIsInteger()NewtRefToInteger().

参照元 NewtRefIsSmallRect().

関数の呼び出しグラフ:

bool NewtRefIsSmallRect ( newtRefArg  r  )  [static]

フレームが NSOF(smallRect) の条件を満たすかチェックする

引数:
r [in] フレームオブジェクト
戻り値:
true 条件を満たす
false 条件を満たさない

NewtNSOF.c124 行で定義されています。

参照先 NcGetSlotNewtFrameLengthNewtRefIsByte()NSSYM.

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NewtWriteNSOF ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

オブジェクトを NSOFバイナリオブジェクトに変換して書込む

引数:
nsof [i/o]NSOFバッファ
r [in] オブジェクト
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c668 行で定義されています。

参照先 kNewtArraykNewtFramekNewtMagicPointerkNewtRefNILkNewtSymbolkNSOFNILnsof_stream_t::lastErrNcAddArraySlot()NewtArraySearch()NewtGetRefType()NewtRefIsCharacterNewtRefIsImmediate()NewtRefIsSmallRect()NSOFWriteArray()NSOFWriteBinary()NSOFWriteByte()NSOFWriteCharacter()NSOFWriteFrame()NSOFWriteImmediate()NSOFWritePrecedent()NSOFWriteSmallRect()NSOFWriteSymbol()nsof_stream_t::precedents.

参照元 NsMakeNSOF()NSOFWriteArray()NSOFWriteBinary()NSOFWriteFrame().

関数の呼び出しグラフ:

newtRef NsMakeNSOF ( newtRefArg  rcvr,
newtRefArg  r,
newtRefArg  ver 
)

オブジェクトを NSOFバイナリオブジェクトに変換する

引数:
rcvr [in] レシーバ
r [in] オブジェクト
ver [in] バージョン
戻り値:
NSOFバイナリオブジェクト

NewtNSOF.c740 行で定義されています。

参照先 kNErrNonekNErrNotAnIntegerkNewtRefUnbindNewtDefaultEncoding()NewtMakeArray()NewtMakeBinary()NewtRefIsInteger()NewtRefIsNotNILNewtRefToBinaryNewtRefToInteger()NewtSetLength()NewtThrow()NewtWriteNSOF()NSOFIsNOSNSOFWriteByte()NSSYM.

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:

newtRef NSOFReadArray ( nsof_stream_t nsof,
int  type 
) [static]

NSOFバッファを読込んで配列オブジェクトに変換する

引数:
nsof [i/o]NSOFバッファ
type [in] NSOFのタイプ
戻り値:
配列オブジェクト

NewtNSOF.c895 行で定義されています。

参照先 kNErrNonekNewtRefUnbindkNSOFArraynsof_stream_t::lastErrNcAddArraySlot()NewtMakeArray()NewtRefIsNotNILNewtRefToSlotsNSOFReadNSOF()NSOFReadXlong()nsof_stream_t::precedents.

参照元 NSOFReadNSOF().

関数の呼び出しグラフ:

newtRef NSOFReadBinary ( nsof_stream_t nsof,
int  type 
) [static]

NSOFバッファを読込んでバイナリオブジェクトに変換する

引数:
nsof [i/o]NSOFバッファ
type [in] NSOFのタイプ
戻り値:
バイナリオブジェクト

NewtNSOF.c813 行で定義されています。

参照先 nsof_stream_t::datakNErrNonekNErrNSOFReadkNewtRefUnbindkNSOFStringnsof_stream_t::lastErrNewtIsSubclass()NewtMakeBinary()NewtMakeInteger()NewtMakeReal()NewtMakeString()NSOFIsNOSNSOFReadNSOF()NSOFReadXlong()NSSYM0ntohdnsof_stream_t::offsetnsof_stream_t::verno.

参照元 NSOFReadNSOF().

関数の呼び出しグラフ:

uint8_t NSOFReadByte ( nsof_stream_t nsof  )  [static]

NSOFバッファ からデータを 1byte 読込む

引数:
nsof [i/o]NSOFバッファ
戻り値:
1byte データ

NewtNSOF.c239 行で定義されています。

参照先 nsof_stream_t::datakNErrNotABinaryObjectnsof_stream_t::lastErrnsof_stream_t::lennsof_stream_t::offset.

参照元 NewtReadNSOF()NSOFReadNSOF()NSOFReadSmallRect()NSOFReadXlong().

newtRef NSOFReadFrame ( nsof_stream_t nsof  )  [static]

NSOFバッファを読込んでフレームオブジェクトに変換する

引数:
nsof [i/o]NSOFバッファ
戻り値:
フレームオブジェクト

NewtNSOF.c938 行で定義されています。

参照先 kNErrNonekNewtRefNILkNewtRefUnbindnsof_stream_t::lastErrNcAddArraySlot()NcMakeFrameNewtMakeFrame()NewtMakeMap()NewtRefToSlotsNSOFReadNSOF()NSOFReadXlong()nsof_stream_t::precedents.

参照元 NSOFReadNSOF().

関数の呼び出しグラフ:

newtRef NSOFReadNSOF ( nsof_stream_t nsof  )  [static]

NSOFバイナリオブジェクトを読込んでオブジェクトに変換する

引数:
nsof [i/o]NSOFバッファ
戻り値:
オブジェクト

NewtNSOF.c1088 行で定義されています。

参照先 kNErrNSOFReadkNewtRefNILkNewtRefUnbindkNSOFArraykNSOFBinaryObjectkNSOFCharacterkNSOFFramekNSOFImmediatekNSOFLargeBinarykNSOFNamedMagicPointerkNSOFNILkNSOFPlainArraykNSOFPrecedentkNSOFSmallRectkNSOFStringkNSOFSymbolkNSOFUnicodeCharacterNcAddArraySlot()NewtGetArraySlot()NewtMakeCharacterNSOFReadArray()NSOFReadBinary()NSOFReadByte()NSOFReadFrame()NSOFReadSmallRect()NSOFReadSymbol()NSOFReadXlong().

参照元 NewtReadNSOF()NSOFReadArray()NSOFReadBinary()NSOFReadFrame().

関数の呼び出しグラフ:

newtRef NSOFReadSmallRect ( nsof_stream_t nsof  )  [static]

NSOFバッファを読込んでフレームオブジェクト(smallRect)に変換する

引数:
nsof [i/o]NSOFバッファ
戻り値:
フレームオブジェクト(smallRect)

NewtNSOF.c1064 行で定義されています。

参照先 NcMakeFrameNcSetSlotNewtMakeInteger()NSOFReadByte()NSSYM.

参照元 NSOFReadNSOF().

関数の呼び出しグラフ:

newtRef NSOFReadSymbol ( nsof_stream_t nsof  )  [static]

NSOFバッファを読込んでシンボルオブジェクトに変換する

引数:
nsof [i/o]NSOFバッファ
戻り値:
シンボルオブジェクト

NewtNSOF.c983 行で定義されています。

参照先 nsof_stream_t::datakNewtRefUnbindNewtMakeSymbol()NSOFReadXlong()nsof_stream_t::offset.

参照元 NSOFReadNSOF().

関数の呼び出しグラフ:

int32_t NSOFReadXlong ( nsof_stream_t nsof  )  [static]

NSOFバッファ からデータを xlong 形式で読込む

引数:
nsof [i/o]NSOFバッファ
戻り値:
データ

NewtNSOF.c264 行で定義されています。

参照先 NSOFReadByte().

参照元 NSOFReadArray()NSOFReadBinary()NSOFReadFrame()NSOFReadNSOF()NSOFReadSymbol().

関数の呼び出しグラフ:

newtErr NSOFWriteArray ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

配列データを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] 配列オブジェクト
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c552 行で定義されています。

参照先 kNErrNonekNSOFArraykNSOFPlainArraynsof_stream_t::lastErrNcClassOf()NewtArrayLengthNewtRefToSlotsNewtWriteNSOF()NSOFWriteByte()NSOFWriteXlong()NSSYM0.

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteBinary ( nsof_stream_t nsof,
newtRefArg  r,
uint16_t  objtype 
) [static]

バイナリデータを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] バイナリオブジェクト
objtype [in] オブジェクトタイプ
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c368 行で定義されています。

参照先 nsof_stream_t::datahtondkNErrNSOFWritekNewtInt32kNewtRealkNewtStringkNSOFBinaryObjectkNSOFStringnsof_stream_t::lastErrNcClassOf()NewtBinaryLength()NewtRefToBinaryNewtRefToInteger()NewtRefToReal()NewtRefToStringNewtWriteNSOF()NSOFIsNOSNSOFWriteByte()NSOFWriteXlong()NSSYM0nsof_stream_t::offsetnsof_stream_t::verno.

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteByte ( nsof_stream_t nsof,
uint8_t  value 
) [static]

1byte を NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
value [in] 1byte データ
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c182 行で定義されています。

参照先 nsof_stream_t::datakNErrNonekNErrOutOfRangensof_stream_t::lastErrnsof_stream_t::lennsof_stream_t::offset.

参照元 NewtWriteNSOF()NsMakeNSOF()NSOFWriteArray()NSOFWriteBinary()NSOFWriteCharacter()NSOFWriteFrame()NSOFWriteImmediate()NSOFWritePrecedent()NSOFWriteSmallRect()NSOFWriteSymbol()NSOFWriteXlong().

newtErr NSOFWriteCharacter ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

文字データを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] 文字データ
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c334 行で定義されています。

参照先 kNSOFCharacterkNSOFUnicodeCharacternsof_stream_t::lastErrNewtRefToCharacterNSOFWriteByte().

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteFrame ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

フレームデータを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] フレームオブジェクト
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c601 行で定義されています。

参照先 kNErrNonekNSOFFramensof_stream_t::lastErrNewtFrameLengthNewtFrameMap()NewtGetMapIndex()NewtRefToSlotsNewtWriteNSOF()NSOFWriteByte()NSOFWriteXlong().

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteImmediate ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

即値データを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] 即値データ
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c314 行で定義されています。

参照先 kNSOFImmediatensof_stream_t::lastErrNSOFWriteByte()NSOFWriteXlong().

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWritePrecedent ( nsof_stream_t nsof,
int32_t  pos 
) [static]

出現済みデータを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
pos [in] 出現位置
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c294 行で定義されています。

参照先 kNSOFPrecedentnsof_stream_t::lastErrNSOFWriteByte()NSOFWriteXlong().

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteSmallRect ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

フレームデータを NSOF(smallRect) でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] フレームオブジェクト
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c645 行で定義されています。

参照先 kNSOFSmallRectnsof_stream_t::lastErrNcGetSlotNewtRefToInteger()NSOFWriteByte()NSSYM.

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteSymbol ( nsof_stream_t nsof,
newtRefArg  r 
) [static]

シンボルデータを NSOF でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
r [in] シンボルオブジェクト
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c464 行で定義されています。

参照先 nsof_stream_t::datakNSOFSymbolnsof_stream_t::lastErrNewtRefToSymbolNewtSymbolLength()NSOFWriteByte()NSOFWriteXlong()nsof_stream_t::offset.

参照元 NewtWriteNSOF().

関数の呼び出しグラフ:

newtErr NSOFWriteXlong ( nsof_stream_t nsof,
int32_t  value 
) [static]

データを xlong 形式でバッファに書込む

引数:
nsof [i/o]NSOFバッファ
value [in] データ
戻り値:
エラーコード
覚え書き:
nsof->data が NULL の場合は nsof->offset のみ更新される

NewtNSOF.c212 行で定義されています。

参照先 nsof_stream_t::lastErrNSOFWriteByte().

参照元 NSOFWriteArray()NSOFWriteBinary()NSOFWriteFrame()NSOFWriteImmediate()NSOFWritePrecedent()NSOFWriteSymbol().

関数の呼び出しグラフ:

newtRef NsReadNSOF ( newtRefArg  rcvr,
newtRefArg  r 
)

NSOFバイナリオブジェクトを読込む

引数:
rcvr [in] レシーバ
r [in] NSOFバイナリオブジェクト
戻り値:
オブジェクト

NewtNSOF.c1219 行で定義されています。

参照先 kNErrNotABinaryObjectkNErrOutOfRangeNewtBinaryLength()NewtReadNSOF()NewtRefIsBinary()NewtRefToBinaryNewtThrow().

参照元 NVMInitExGlobalFns().

関数の呼び出しグラフ:


NEWT/0に対してThu Nov 23 17:03:40 2006に生成されました。  doxygen 1.5.0