1 Star 0 Fork 0

boysic/microADB

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
adb_frame.c 2.02 KB
一键复制 编辑 原始数据 按行查看 历史
zhangyuan21 提交于 2023-07-27 15:25 . adb: add adb log level
/*
* Copyright (C) 2020 Simon Piriou. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include "adb.h"
/****************************************************************************
* Private Functions
****************************************************************************/
static int adb_check_frame_magic(apacket *p)
{
if(p->msg.magic != (p->msg.command ^ 0xffffffff)) {
adb_err("invalid frame magic\n");
return -1;
}
return 0;
}
/****************************************************************************
* Public Functions
****************************************************************************/
int adb_check_frame_header(apacket *p)
{
int ret;
if ((ret = adb_check_frame_magic(p))) {
return ret;
}
if(p->msg.data_length > CONFIG_ADBD_PAYLOAD_SIZE) {
adb_err("invalid frame size %d\n", p->msg.data_length);
return -1;
}
return 0;
}
int adb_check_auth_frame_header(apacket *p)
{
int ret;
if ((ret = adb_check_frame_magic(p))) {
return ret;
}
if(p->msg.data_length > CONFIG_ADBD_CNXN_PAYLOAD_SIZE) {
adb_err("invalid frame size %d\n", p->msg.data_length);
return -1;
}
return 0;
}
int adb_check_frame_data(apacket *p)
{
unsigned count, sum;
unsigned char *x;
count = p->msg.data_length;
x = p->data;
sum = 0;
while(count-- > 0) {
sum += *x++;
}
if(sum != p->msg.data_check) {
return -1;
} else {
return 0;
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/boysic/microADB.git
git@gitee.com:boysic/microADB.git
boysic
microADB
microADB
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385