Lines Matching refs:msg
805 int do_read_op_tlv(struct lwm2m_message *msg, int content_format) in do_read_op_tlv() argument
811 engine_set_out_user_data(&msg->out, &fd); in do_read_op_tlv()
812 ret = lwm2m_perform_read_op(msg, content_format); in do_read_op_tlv()
813 engine_clear_out_user_data(&msg->out); in do_read_op_tlv()
817 static int do_write_op_tlv_dummy_read(struct lwm2m_message *msg) in do_write_op_tlv_dummy_read() argument
822 oma_tlv_get(&tlv, &msg->in, false); in do_write_op_tlv_dummy_read()
824 if (buf_read_u8(&read_char, CPKT_BUF_READ(msg->in.in_cpkt), in do_write_op_tlv_dummy_read()
825 &msg->in.offset) < 0) { in do_write_op_tlv_dummy_read()
833 static int do_write_op_tlv_item(struct lwm2m_message *msg) in do_write_op_tlv_item() argument
842 ret = lwm2m_get_or_create_engine_obj(msg, &obj_inst, &created); in do_write_op_tlv_item()
847 ret = lwm2m_engine_validate_write_access(msg, obj_inst, &obj_field); in do_write_op_tlv_item()
852 ret = lwm2m_engine_get_create_res_inst(&msg->path, &res, &res_inst); in do_write_op_tlv_item()
856 if ((msg->ctx->bootstrap_mode || in do_write_op_tlv_item()
857 msg->operation == LWM2M_OP_CREATE) && in do_write_op_tlv_item()
867 ret = lwm2m_write_handler(obj_inst, res, res_inst, obj_field, msg); in do_write_op_tlv_item()
870 do_write_op_tlv_dummy_read(msg); in do_write_op_tlv_item()
877 do_write_op_tlv_dummy_read(msg); in do_write_op_tlv_item()
881 static int write_tlv_resource(struct lwm2m_message *msg, struct oma_tlv *tlv) in write_tlv_resource() argument
885 if (msg->in.block_ctx) { in write_tlv_resource()
886 msg->in.block_ctx->path.res_id = tlv->id; in write_tlv_resource()
889 msg->path.res_id = tlv->id; in write_tlv_resource()
890 msg->path.level = 3U; in write_tlv_resource()
891 ret = do_write_op_tlv_item(msg); in write_tlv_resource()
900 (msg->ctx->bootstrap_mode || in write_tlv_resource()
901 msg->operation == LWM2M_OP_CREATE))) { in write_tlv_resource()
909 static int write_tlv_resource_instance(struct lwm2m_message *msg, struct oma_tlv *tlv) in write_tlv_resource_instance() argument
913 if (msg->in.block_ctx) { in write_tlv_resource_instance()
914 msg->in.block_ctx->path.res_inst_id = tlv->id; in write_tlv_resource_instance()
917 msg->path.res_inst_id = tlv->id; in write_tlv_resource_instance()
918 msg->path.level = LWM2M_PATH_LEVEL_RESOURCE_INST; in write_tlv_resource_instance()
919 ret = do_write_op_tlv_item(msg); in write_tlv_resource_instance()
929 static int lwm2m_multi_resource_tlv_parse(struct lwm2m_message *msg, in lwm2m_multi_resource_tlv_parse() argument
937 if (msg->in.block_ctx) { in lwm2m_multi_resource_tlv_parse()
938 msg->in.block_ctx->path.res_id = multi_resource_tlv->id; in lwm2m_multi_resource_tlv_parse()
943 return write_tlv_resource(msg, multi_resource_tlv); in lwm2m_multi_resource_tlv_parse()
947 (len2 = oma_tlv_get(&tlv_resource_instance, &msg->in, true))) { in lwm2m_multi_resource_tlv_parse()
954 msg->path.res_id = multi_resource_tlv->id; in lwm2m_multi_resource_tlv_parse()
955 msg->path.res_inst_id = tlv_resource_instance.id; in lwm2m_multi_resource_tlv_parse()
956 msg->path.level = LWM2M_PATH_LEVEL_RESOURCE_INST; in lwm2m_multi_resource_tlv_parse()
957 ret = do_write_op_tlv_item(msg); in lwm2m_multi_resource_tlv_parse()
964 (msg->ctx->bootstrap_mode || msg->operation == LWM2M_OP_CREATE))) { in lwm2m_multi_resource_tlv_parse()
974 int do_write_op_tlv(struct lwm2m_message *msg) in do_write_op_tlv() argument
987 if (msg->in.block_ctx != NULL && msg->in.block_ctx->ctx.current > 0) { in do_write_op_tlv()
988 msg->path.res_id = msg->in.block_ctx->path.res_id; in do_write_op_tlv()
989 msg->path.level = 3U; in do_write_op_tlv()
990 ret = do_write_op_tlv_item(msg); in do_write_op_tlv()
1002 len = oma_tlv_get(&tlv, &msg->in, true); in do_write_op_tlv()
1012 oma_tlv_get(&tlv, &msg->in, false); in do_write_op_tlv()
1013 msg->path.obj_inst_id = tlv.id; in do_write_op_tlv()
1017 msg->path.obj_id, in do_write_op_tlv()
1018 msg->path.obj_inst_id, in do_write_op_tlv()
1024 if (!msg->ctx->bootstrap_mode) { in do_write_op_tlv()
1030 (len2 = oma_tlv_get(&tlv2, &msg->in, true))) { in do_write_op_tlv()
1032 ret = write_tlv_resource(msg, &tlv2); in do_write_op_tlv()
1037 oma_tlv_get(&tlv2, &msg->in, false); in do_write_op_tlv()
1038 ret = lwm2m_multi_resource_tlv_parse(msg, &tlv2); in do_write_op_tlv()
1050 if (msg->path.level < LWM2M_PATH_LEVEL_OBJECT_INST) { in do_write_op_tlv()
1053 ret = write_tlv_resource(msg, &tlv); in do_write_op_tlv()
1058 if (msg->path.level < LWM2M_PATH_LEVEL_OBJECT_INST) { in do_write_op_tlv()
1061 oma_tlv_get(&tlv, &msg->in, false); in do_write_op_tlv()
1062 ret = lwm2m_multi_resource_tlv_parse(msg, &tlv); in do_write_op_tlv()
1068 if (msg->path.level < LWM2M_PATH_LEVEL_OBJECT_INST) { in do_write_op_tlv()
1071 ret = write_tlv_resource_instance(msg, &tlv); in do_write_op_tlv()