OpenOCD
helper/fileio.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
3 /***************************************************************************
4  * Copyright (C) 2007 by Dominic Rath *
5  * Dominic.Rath@gmx.de *
6  * *
7  * Copyright (C) 2007,2008 Øyvind Harboe *
8  * oyvind.harboe@zylin.com *
9  * *
10  * Copyright (C) 2008 by Spencer Oliver *
11  * spen@spen-soft.co.uk *
12  ***************************************************************************/
13 
14 #ifndef OPENOCD_HELPER_FILEIO_H
15 #define OPENOCD_HELPER_FILEIO_H
16 
17 #include "types.h"
18 
19 #define FILEIO_MAX_ERROR_STRING (128)
20 
24 };
25 
27  FILEIO_NONE, /* open without any access (invalid mode) */
28  FILEIO_READ, /* open for reading, position at beginning */
29  FILEIO_WRITE, /* open for writing, position at beginning */
30  FILEIO_READWRITE, /* open for writing, position at beginning, allow reading */
31  FILEIO_APPEND, /* open for writing, position at end */
32  FILEIO_APPENDREAD, /* open for writing, position at end, allow reading */
33 };
34 
35 struct fileio;
36 
37 int fileio_open(struct fileio **fileio, const char *url,
38  enum fileio_access access_type, enum fileio_type type);
39 int fileio_close(struct fileio *fileio);
40 int fileio_feof(struct fileio *fileio);
41 
42 int fileio_seek(struct fileio *fileio, size_t position);
43 int fileio_fgets(struct fileio *fileio, size_t size, void *buffer);
44 
45 int fileio_read(struct fileio *fileio,
46  size_t size, void *buffer, size_t *size_read);
47 int fileio_write(struct fileio *fileio,
48  size_t size, const void *buffer, size_t *size_written);
49 
50 int fileio_read_u32(struct fileio *fileio, uint32_t *data);
51 int fileio_write_u32(struct fileio *fileio, uint32_t data);
52 int fileio_size(struct fileio *fileio, size_t *size);
53 
54 #define ERROR_FILEIO_LOCATION_UNKNOWN (-1200)
55 #define ERROR_FILEIO_NOT_FOUND (-1201)
56 #define ERROR_FILEIO_OPERATION_FAILED (-1202)
57 #define ERROR_FILEIO_ACCESS_NOT_SUPPORTED (-1203)
58 #define ERROR_FILEIO_RESOURCE_TYPE_UNKNOWN (-1204)
59 #define ERROR_FILEIO_OPERATION_NOT_SUPPORTED (-1205)
60 
61 #endif /* OPENOCD_HELPER_FILEIO_H */
uint8_t type
Definition: esp_usb_jtag.c:0
fileio_access
Definition: helper/fileio.h:26
@ FILEIO_NONE
Definition: helper/fileio.h:27
@ FILEIO_WRITE
Definition: helper/fileio.h:29
@ FILEIO_READ
Definition: helper/fileio.h:28
@ FILEIO_APPENDREAD
Definition: helper/fileio.h:32
@ FILEIO_READWRITE
Definition: helper/fileio.h:30
@ FILEIO_APPEND
Definition: helper/fileio.h:31
int fileio_write(struct fileio *fileio, size_t size, const void *buffer, size_t *size_written)
int fileio_seek(struct fileio *fileio, size_t position)
int fileio_write_u32(struct fileio *fileio, uint32_t data)
int fileio_read(struct fileio *fileio, size_t size, void *buffer, size_t *size_read)
fileio_type
Definition: helper/fileio.h:21
@ FILEIO_TEXT
Definition: helper/fileio.h:22
@ FILEIO_BINARY
Definition: helper/fileio.h:23
int fileio_read_u32(struct fileio *fileio, uint32_t *data)
int fileio_close(struct fileio *fileio)
int fileio_size(struct fileio *fileio, size_t *size)
FIX!!!!
int fileio_fgets(struct fileio *fileio, size_t size, void *buffer)
int fileio_feof(struct fileio *fileio)
int fileio_open(struct fileio **fileio, const char *url, enum fileio_access access_type, enum fileio_type type)
size_t size
Size of the control block search area.
Definition: rtt/rtt.c:30
char * url
Definition: helper/fileio.c:24