|
|
/****************************************************************************/
|
|
|
/* Copyright (c) 2007,许继集团有限公司 */
|
|
|
/* All rights reserved. */
|
|
|
/* */
|
|
|
/* 模块描述: */
|
|
|
/** 文件服务模块
|
|
|
* @file ac_file.h */
|
|
|
/* */
|
|
|
/* 日期 作者 注释 */
|
|
|
/* 2007/10/09 ljg 创建文件 */
|
|
|
/****************************************************************************/
|
|
|
#ifndef IEC61850_AC_FILE_H
|
|
|
#define IEC61850_AC_FILE_H
|
|
|
|
|
|
|
|
|
#include "glbtypes.h"
|
|
|
#include "gen_list.h"
|
|
|
#include "ac_reqm.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
extern "C" {
|
|
|
#endif
|
|
|
|
|
|
/** 读文件服务请求所需信息结构定义*/
|
|
|
typedef struct
|
|
|
{
|
|
|
ST_CHAR *src_fname; /**< 读取的远方服务器中的文件名,可带路径 */
|
|
|
ST_CHAR *dest_fname; /**< 存到本地时用的名字 */
|
|
|
U_AC_REQ_DONE u_getf_done; /**< 用户回调 */
|
|
|
}AC_GETF_REQ_INFO;
|
|
|
|
|
|
/** 写文件服务请求所需信息结构定义*/
|
|
|
typedef struct
|
|
|
{
|
|
|
ST_CHAR *src_fname; /**< 本地文件系统中要写到服务器的文件,可带路径 */
|
|
|
ST_CHAR *dest_fname; /**< 存到服务器文件系统中用的名字 */
|
|
|
U_AC_REQ_DONE u_setf_done; /**< 用户回调 */
|
|
|
}AC_SETF_REQ_INFO;
|
|
|
|
|
|
/** 获得文件列表服务请求所需信息结构定义*/
|
|
|
typedef struct
|
|
|
{
|
|
|
ST_CHAR *file_name; /**< 请求的文件名或目录名 */
|
|
|
U_AC_REQ_DONE u_getf_done; /**< 用户回调 */
|
|
|
}AC_GETFAV_REQ_INFO;
|
|
|
|
|
|
/** 删除文件服务请求所需信息结构定义*/
|
|
|
typedef struct
|
|
|
{
|
|
|
ST_CHAR *file_name; /**< 要删除的服务器的文件,可带路径 */
|
|
|
U_AC_REQ_DONE u_getf_done; /**< 用户回调 */
|
|
|
}AC_DELF_REQ_INFO;
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 从服务器读取一个文件存到本地
|
|
|
* @param srv_id 服务器id
|
|
|
* @param src_fname 读取的文件名,可带路径
|
|
|
* @param dest_fname 存到本地时用的名字
|
|
|
* @param time_out 请求超时时间,如果time_out时间内文件没有传完则认为请求失败
|
|
|
* @param req_ctrl_out 传出的请求控制结构
|
|
|
*/
|
|
|
ST_RET ac_get_file(ST_INT srv_id, AC_GETF_REQ_INFO *getf_info,
|
|
|
ST_INT time_out, AC_REQ_CTRL **req_ctrl_out);
|
|
|
|
|
|
/**
|
|
|
* 发送读文件服务接口,请求已从链表中取出
|
|
|
* @param req_ctrl 请求结构
|
|
|
* @retval SD_SUCCESS 发送成功
|
|
|
* @retval SD_FAILURE 发送失败
|
|
|
*/
|
|
|
ST_RET ac_send_getfile_req(AC_REQ_CTRL * req_ctrl );
|
|
|
|
|
|
/**
|
|
|
* 将本地的一个文件写到服务器中
|
|
|
* @param srv_id 服务器id
|
|
|
* @param setf_info 写文件请求信息
|
|
|
* @param time_out 请求超时时间,如果time_out时间内文件没有传完则认为请求失败
|
|
|
* @param req_ctrl_out 传出的请求控制结构
|
|
|
*/
|
|
|
ST_RET ac_set_file(ST_INT srv_id, AC_SETF_REQ_INFO *setf_info,
|
|
|
ST_INT time_out, AC_REQ_CTRL **req_ctrl_out);
|
|
|
/**
|
|
|
* 发送写文件服务接口,请求已从链表中取出
|
|
|
* @param req_ctrl 请求结构
|
|
|
* @retval SD_SUCCESS 发送成功
|
|
|
* @retval SD_FAILURE 发送失败
|
|
|
*/
|
|
|
ST_RET ac_send_setfile_req(AC_REQ_CTRL * req_ctrl );
|
|
|
/**
|
|
|
* 读取某个文件的属性或目录下的所有文件的属性
|
|
|
* @param srv_id 服务器id
|
|
|
* @param getfav_info 读文件属性请求信息
|
|
|
* @param time_out 请求超时时间
|
|
|
* @param req_ctrl_out 传出的请求控制结构
|
|
|
*/
|
|
|
ST_RET ac_get_file_attr(ST_INT srv_id, AC_GETFAV_REQ_INFO *getfav_info,
|
|
|
ST_INT time_out, AC_REQ_CTRL **req_ctrl_out);
|
|
|
/**
|
|
|
* 发送读文件属性服务接口,请求已从链表中取出
|
|
|
* @param req_ctrl 请求结构
|
|
|
* @retval SD_SUCCESS 发送成功
|
|
|
* @retval SD_FAILURE 发送失败
|
|
|
*/
|
|
|
ST_RET ac_send_getfav_req(AC_REQ_CTRL * req_ctrl );
|
|
|
/**
|
|
|
* 释放AC_GETFAV_REQ_CTRL结构成员所占资源
|
|
|
* obj_vals、results成员资源
|
|
|
* @param reqCtrl 请求结构指针
|
|
|
* @return ST_VOID
|
|
|
*/
|
|
|
ST_VOID ac_cleanup_getFavReqCtrl(AC_GETFAV_REQ_CTRL *reqCtrl);
|
|
|
/**
|
|
|
* 删除文件请求
|
|
|
* @param srv_id 服务器id
|
|
|
* @param delf_info 删除文件请求信息
|
|
|
* @param time_out 请求超时时间
|
|
|
* @param req_ctrl_out 传出的请求控制结构
|
|
|
*/
|
|
|
ST_RET ac_delete_file(ST_INT srv_id, AC_DELF_REQ_INFO *delf_info,
|
|
|
ST_INT time_out, AC_REQ_CTRL **req_ctrl_out);
|
|
|
|
|
|
/**
|
|
|
* 发送删除文件服务接口,请求已从链表中取出
|
|
|
* @param req_ctrl 请求结构
|
|
|
* @retval SD_SUCCESS 发送成功
|
|
|
* @retval SD_FAILURE 发送失败
|
|
|
*/
|
|
|
ST_RET ac_send_delfile_req(AC_REQ_CTRL * req_ctrl );
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
}
|
|
|
#endif
|
|
|
#endif /** IEC61850_AC_file_H */
|