#ifndef ESCPOS_H #define ESCPOS_H #include #include const char *escpos_version(void); typedef struct escpos_buffer escpos_buffer; /* * Crea un buffer vacío. Devuelve un puntero al buffer, o NULL si no hay * memoria. * El que llama es el dueño y debe liberarlo con escpos_buffer_free. * Por ejemplo: si main.c llama a escpos_buffer_new, main.c es EL DUEÑO. */ escpos_buffer *escpos_buffer_new(void); /* * Libera el buffer y toda su memoria. Si recibe NULL no hace nada. * Propiedad: después de llamarla, el puntero ya no es válido. */ void escpos_buffer_free(escpos_buffer *buffer); /* * Añade un byte al final del buffer. * Devuelve 0 si va bien, o -1 si no hay memoria; en ese caso el buffer * queda intacto. */ int escpos_buffer_append_byte(escpos_buffer *buffer, uint8_t byte); /* * Añade los bytes al final del buffer */ int escpos_buffer_append(escpos_buffer *buffer, uint8_t byte[], size_t size); #endif