TI Autonomous Driving Algorithms (TIADALG) Library User Guide
ti_file_io.h
Go to the documentation of this file.
1 /*
2 *
3 * Copyright (c) {2015 - 2019} Texas Instruments Incorporated
4 *
5 * All rights reserved not granted herein.
6 *
7 * Limited License.
8 *
9 * Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10 * license under copyrights and patents it now or hereafter owns or controls to make,
11 * have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12 * terms herein. With respect to the foregoing patent license, such license is granted
13 * solely to the extent that any such patent is necessary to Utilize the software alone.
14 * The patent license shall not apply to any combinations which include this software,
15 * other than combinations with devices manufactured by or for TI ("TI Devices").
16 * No hardware patent is licensed hereunder.
17 *
18 * Redistributions must preserve existing copyright notices and reproduce this license
19 * (including the above copyright notice and the disclaimer and (if applicable) source
20 * code license limitations below) in the documentation and/or other materials provided
21 * with the distribution
22 *
23 * Redistribution and use in binary form, without modification, are permitted provided
24 * that the following conditions are met:
25 *
26 * * No reverse engineering, decompilation, or disassembly of this software is
27 * permitted with respect to any software provided in binary form.
28 *
29 * * any redistribution and use are licensed by TI for use only with TI Devices.
30 *
31 * * Nothing shall obligate TI to provide you with source code for the software
32 * licensed and provided to you in object code.
33 *
34 * If software source code is provided to you, modification and redistribution of the
35 * source code are permitted provided that the following conditions are met:
36 *
37 * * any redistribution and use of the source code, including any resulting derivative
38 * works, are licensed by TI for use only with TI Devices.
39 *
40 * * any redistribution and use of any object code compiled from the source code
41 * and any resulting derivative works, are licensed by TI for use only with TI Devices.
42 *
43 * Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44 *
45 * may be used to endorse or promote products derived from this software without
46 * specific prior written permission.
47 *
48 * DISCLAIMER.
49 *
50 * THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53 * IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59 * OF THE POSSIBILITY OF SUCH DAMAGE.
60 *
61 */
62 
63 
64 #ifndef _FILE_IO_TEST_H_
65 #define _FILE_IO_TEST_H_
66 
67 #include <stdio.h>
68 
69 #if defined(__C7100__) || defined(__C7120__) || defined(BUILD_C7X_1)
70 #include <c7x.h>
71 #else
72 #if(!HOST_EMULATION)
73 #include <c6x.h>
74 #endif
75 #endif
76 
77 #if(!HOST_EMULATION)
78 //#define USE_HOST_FILE_IO
79 #endif
80 
81 #ifndef USE_HOST_FILE_IO
82 #define TI_FILE FILE
83 #define FOPEN fopen
84 #define FCLOSE fclose
85 #define FREAD fread
86 #define FWRITE fwrite
87 #define FSEEK fseek
88 #define FTELL ftell
89 #define FGETS fgets
90 #define FPRINTF fprintf
91 #define FSCANF fscanf
92 #else
93 
94 #include "ti_file_io_msg.h"
95 #define TI_FILE HOSTFILE
96 #define FOPEN ti_fileio_fopen
97 #define FCLOSE ti_fileio_fclose
98 #define FREAD ti_fileio_fread
99 #define FWRITE ti_fileio_fwrite
100 #define FSEEK ti_fileio_fseek
101 #define FTELL ti_fileio_ftell
102 #define FGETS ti_fileio_fgets
103 #define FPRINTF ti_fileio_fprintf
104 #define FSCANF ti_fileio_fscanf
105 
106 typedef enum {
107  TI_FILEIO_OPCODE_FOPEN = 1,
108  TI_FILEIO_OPCODE_FCLOSE,
109  TI_FILEIO_OPCODE_FREAD,
110  TI_FILEIO_OPCODE_FWRITE,
111  TI_FILEIO_OPCODE_FSEEK,
112  TI_FILEIO_OPCODE_FTELL,
113  TI_FILEIO_OPCODE_FGETS,
114  TI_FILEIO_OPCODE_FPRINTF,
115  TI_FILEIO_OPCODE_FSCANF
116 } TI_FILEIO_OPCODE;
117 
118 
119 HOSTFILE* ti_fileio_fopen(const char * filename, const char * mode);
120 int8_t ti_fileio_fclose(HOSTFILE * fp);
121 size_t ti_fileio_fread(void * ptr, size_t size, size_t count, HOSTFILE * fp);
122 size_t ti_fileio_fwrite(void * ptr, size_t size, size_t count, HOSTFILE * fp);
123 int8_t ti_fileio_fseek(HOSTFILE * fp, int32_t offset, int32_t origin);
124 int32_t ti_fileio_ftell(HOSTFILE * fp);
125 char * ti_fileio_fgets(char * str, int32_t num, HOSTFILE * fp);
126 int32_t ti_fileio_fprintf(HOSTFILE *fp, char *format, ...);
127 int32_t ti_fileio_fscanf(HOSTFILE *fp, char *format, ...);
128 void ti_fileio_init();
129 #endif
130 
131 #endif /* _FILE_IO_TEST_H_ */
Definition: ti_file_io_msg.h:76

© Copyright 2018 Texas Instruments Incorporated. All rights reserved.
Document generated by doxygen 1.8.6