You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mitlib.pub/MITLIB/Include/ETEL/esd10.h

153 lines
6.0 KiB
C

/*
* esd10.h
*
* Copyright (c) 2010 ETEL SA. All Rights Reserved.
*
* This software is the confidential and proprietary informatione of ETEL SA
* ("Confidential Information"). You shall not disclose such Confidential
* Information and shall use it only in accordance with the terms of the
* license agreement you entered into with ETEL.
*
* This software is provided "AS IS," without a warranty of any kind. ALL
* EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
* IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR
* NON-INFRINGEMENT, ARE HEREBY EXCLUDED. ETEL AND ITS LICENSORS SHALL NOT BE
* LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING
* OR DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL ETEL OR ITS
* LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR DIRECT,
* INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
* CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT OF THE USE OF
* OR INABILITY TO USE SOFTWARE, EVEN IF ETEL HAS BEEN ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*
* This software is not designed or intended for use in on-line control of
* aircraft, air traffic, aircraft navigation or aircraft communications; or in
* the design, construction, operation or maintenance of any nuclear
* facility. Licensee represents and warrants that it will not use or
* redistribute the Software for such purposes.
*
*/
/**
* This header file contains public declarations for the etel sequence downloader EDI library.\n
* This library is conformed to POSIX 1003.1c
* @file esd10.h
*/
#ifndef _GEN10_H
#define _GEN10_H
/**********************************************************************************************************/
/*- LIBRARIES */
/**********************************************************************************************************/
/*----------------------*/
/* common libraries */
#include <stdio.h>
#include <stddef.h>
#include <stdarg.h>
#include <time.h>
#include <string.h>
#if defined __cplusplus && !defined LINUX
#include <typeinfo.h>
#endif
#include <lib20.h>
/**
* @defgroup ESDAll ESD All functions
*/
/*@{*/
/*@}*/
/**
* @defgroup ESDErrorsAndWarnings ESD Error and warnings
*/
/*@{*/
/*@}*/
/**********************************************************************************************************/
/*- LITTERALS */
/**********************************************************************************************************/
#ifdef __WIN32__ /* defined by Borland C++ Builder */
#ifndef WIN32
#define WIN32
#endif
#endif
#ifdef __cplusplus
extern "C" {
#endif
/*------------------------------*/
/* WINDOWS type modifiers */
#ifdef WIN32
#define _ESD_EXPORT __cdecl /* function exported by static library */
#endif /* WIN32 */
/*------------------------------*/
/* POSIX type modifiers */
#ifdef POSIX
#define _ESD_EXPORT /* function exported by library */
#endif /* POSIX */
/*------------------------------------------------------------------------------
* error codes - c
*-----------------------------------------------------------------------------*/
#define ESD_ENOTAVAILABLE -2514 /**< the required element is not available */
#define ESD_EBADLABEL -2513 /**< the label numer is out of range */
#define ESD_EFORMAT -2509 /**< bad file format */
#define ESD_EEOF -2508 /**< unexpected end of file reached */
#define ESD_EIO -2507 /**< cannot access to the file */
#define ESD_EOVERFLOW -2506 /**< the buffer is too small */
#define ESD_EINTERNAL -2503 /**< some internal error in the etel software */
#define ESD_ESYSTEM -2501 /**< some system resource return an error */
#define ESD_EBADPARAM -2500 /**< one of the parameter is not valid */
/*------------------------------------------------------------------------------
* hidden structures for library clients
*-----------------------------------------------------------------------------*/
#ifndef ESD_XML_STREAM
#define ESD_XML_STREAM void
#endif
#define ESD_MAX_SEQ_FLASH_SIZE 1048576 /* Size of the available flash for sequence and source in the drive */
/**********************************************************************************************************/
/*- PROTOTYPES */
/**********************************************************************************************************/
/**
* @addtogroup ESDAll
* @{
*/
dword _ESD_EXPORT esd_get_version(void);
dword _ESD_EXPORT esd_get_edi_version(void);
time_t _ESD_EXPORT esd_get_build_time(void);
char_cp _ESD_EXPORT esd_translate_error(int code);
int _ESD_EXPORT esd_xml_create_input_stream(ESD_XML_STREAM **s, char *filename);
int _ESD_EXPORT esd_xml_destroy_stream(ESD_XML_STREAM *s);
int _ESD_EXPORT esd_xml_read_tag(ESD_XML_STREAM *s, char *buff, int len);
int _ESD_EXPORT esd_xml_read_text(ESD_XML_STREAM *s, char *buff, int len);
int _ESD_EXPORT esd_xml_reset(ESD_XML_STREAM *s);
int _ESD_EXPORT esd_get_source_code(char *stream_data, int stream_data_size, char **source_code_begin, long *source_code_size);
bool _ESD_EXPORT esd_check_stream_data_crc(char *stream_data, int stream_data_size);
int _ESD_EXPORT esd_build_eseq_file(char *src_file_name, char *xml_file_name, char *eseq_file_name);
int _ESD_EXPORT esd_build_stream_data(char *src_file_name, char *xml_file_name, char *stream_data, long stream_data_max, long *stream_data_size);
int _ESD_EXPORT esd_build_stream_data2(char *xml_file_name, char *stream_data, long stream_data_max, long *stream_data_size);
int _ESD_EXPORT esd_extract_source_code(char *eseq_file_name, char *src_file_name);
/** @} */
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _GEN10_H */