forked from xuos/xiuos
60 lines
1.6 KiB
C
Executable File
60 lines
1.6 KiB
C
Executable File
/*
|
|
* Copyright (c) 2022 AIIT XUOS Lab
|
|
* XiUOS is licensed under Mulan PSL v2.
|
|
* You can use this software according to the terms and conditions of the Mulan PSL v2.
|
|
* You may obtain a copy of Mulan PSL v2 at:
|
|
* http://license.coscl.org.cn/MulanPSL2
|
|
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
|
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
|
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
|
* See the Mulan PSL v2 for more details.
|
|
*/
|
|
|
|
/**
|
|
* @file control_file.h
|
|
* @brief control relative API
|
|
* @version 1.0
|
|
* @author AIIT XUOS Lab
|
|
* @date 2022-03-17
|
|
*/
|
|
|
|
#ifndef __CONTROL_FILE_H_
|
|
#define __CONTROL_FILE_H_
|
|
|
|
#define CTL_FILE_LEN 1000 // control file size
|
|
#define CTL_CMD_NUM 10 // support command number
|
|
#define CTL_CMD_LEN 100 // control command length
|
|
#define CTL_IP_LEN 32 // IP address length
|
|
#define CTL_FILE_NAME_LEN 100 // file name length
|
|
|
|
#define PLC_SOCK_FILE_NAME "/plc/socket_param.json"
|
|
|
|
#define ctl_print //KPrintf
|
|
#define ctl_error KPrintf
|
|
|
|
// for running plc socket
|
|
typedef struct CtlPlcSockParamStruct
|
|
{
|
|
char ip[CTL_IP_LEN];
|
|
int port;
|
|
int tcp; // 1: TCP 0: UDP
|
|
int cmd_num; //command number
|
|
int cmd_len[CTL_CMD_NUM]; // command length
|
|
char cmd[CTL_CMD_NUM][CTL_CMD_LEN];
|
|
}CtlPlcSockParamType;
|
|
|
|
extern CtlPlcSockParamType ctl_file_param;
|
|
extern int sd_mount_flag;
|
|
|
|
FILE *CtlFileInit(char *file);
|
|
void CtlFileClose(FILE *fd);
|
|
void CtlFileRead(FILE *fd, int size, char *buf);
|
|
void CtlFileWrite(FILE *fd, int size, char *buf);
|
|
int CtlFileReadWithFilename(char *file_name, int size, char *buf);
|
|
|
|
#ifdef LIB_USING_CJSON
|
|
void CtlParseJsonData(char *buf);
|
|
#endif
|
|
#endif
|
|
|