Skip to content

SIPF_OBJECT

Fuminori OKUHARA edited this page Mar 15, 2022 · 6 revisions

SIPF_OBJECT: オブジェクト送受信クライアント

sipf/sipf_object.h

マクロ

SIPF_OBJECTデータ型

マクロ 意味
OBJ_TYPE_UINT8 符号なし8bit整数 0x00
OBJ_TYPE_INT8 符号付き8bit整数 0x01
OBJ_TYPE_UINT16 符号なし16bit整数 0x02
OBJ_TYPE_INT16 符号付き16bit整数 0x03
OBJ_TYPE_UINT32 符号なし32bit整数 0x04
OBJ_TYPE_INT32 符号付き32bit整数 0x05
OBJ_TYPE_UINT64 符号なし64bit整数 0x06
OBJ_TYPE_INT64 符号付き64bit整数 0x07
OBJ_TYPE_FLOAT32 単精度浮動小数点数 0x08
OBJ_TYPE_FLOAT64 倍精度浮動小数点数 0x09
OBJ_TYPE_BIN バイナリ(バイト列) 0x10
OBJ_TYPE_STR_UTF8 文字列(UTF-8) 0x20

型定義

オブジェクト

typedef struct
{
    uint8_t obj_type;
    uint8_t obj_tagid;
    uint8_t value_len;
    uint8_t *value;
} SipfObjectObject;

OTID

typedef struct
{
    uint8_t value[16];
} SipfObjectOtid;

関数定義

オブジェクト送信

バッファで指定された内容を送信する。
送信内容はSIPF_OBJECTプロトコルOBJ_UPコマンドの仕様に従う必要があります。

送信内容の生成はSipfObjectCreateObjUpPayload()で生成することも可能です。

int SipfObjClientObjUpRaw(uint8_t *payload_buffer, uint16_t size, SipfObjectOtid *otid);

オブジェクト受信

SIPF_OBJECTプロトコルOBJ_DOWNコマンドでオブジェクトを受信します。
受信内容は[

int SipfObjClientObjDown(SipfObjectOtid *otid, uint8_t *remains, uint8_t *objqty, uint8_t **p_objs, uint8_t **p_user_send_datetime, uint8_t **p_recv_datetime);

オブジェクト受信結果の解析

int SipfObjectParse(uint8_t *raw_buff, const uint16_t raw_len, SipfObjectObject *obj);

オブジェクト送信データの生成

オブジェクト送信時に送るデータを生成する。

int SipfObjectCreateObjUpPayload(uint8_t *raw_buff, uint16_t sz_raw_buff, SipfObjectObject *objs, uint8_t obj_qty);
Clone this wiki locally