1 #ifndef _SD_WRITER_H 2 #define _SD_WRITER_H 3 4 #include <stdint.h> 5 6 typedef struct sd_writer_t sd_writer; 7 8 /** 9 * Open file for writing. If file exists, it will be overwritten. 10 */ 11 sd_writer* sd_writer_open(const char *file); 12 13 /** 14 * Check for errors 15 */ 16 int sd_writer_errno(const sd_writer *writer); 17 18 /** 19 * Close file. 20 */ 21 void sd_writer_close(sd_writer *writer); 22 23 /** 24 * Returns the position of the file pointer 25 */ 26 long sd_writer_pos(sd_writer *writer); 27 28 int sd_writer_seek_start(const sd_writer *writer, long offset); 29 int sd_writer_seek_cur(const sd_writer *writer, long offset); 30 int sd_writer_seek_end(const sd_writer *writer, long offset); 31 32 /** 33 * Write a buffer to file. 34 */ 35 int sd_write_buf(sd_writer *writer, const char *buf, int len); 36 37 int sd_write_fprintf(const sd_writer *writer, const char *format, ...); 38 39 void sd_write_ubyte(sd_writer *writer, uint8_t data); 40 void sd_write_uword(sd_writer *writer, uint16_t data); 41 void sd_write_udword(sd_writer *writer, uint32_t data); 42 void sd_write_byte(sd_writer *writer, int8_t data); 43 void sd_write_word(sd_writer *writer, int16_t data); 44 void sd_write_dword(sd_writer *writer, int32_t data); 45 void sd_write_float(sd_writer *writer, float data); 46 47 /** 48 * Writes len bytes of filler content 49 */ 50 void sd_write_fill(sd_writer *writer, char content, int len); 51 52 void sd_write_variable_str(sd_writer *w, const char *str); 53 54 #endif // _SD_WRITER_H 55