12 #include <libxml/tree.h>
13 #include <libxml/parser.h>
15 typedef struct _t_item_ {
21 typedef struct _facturas_ {
22 /* Dejo los campos numericos al principio para mayor facilidad de parseo. */
27 EMUFS_BLOCK_ID reg_nota;
38 typedef struct _reg_factura_ {
39 EMUFS_REG_ID num_reg; /* numero de registro en el archivo */
40 EMUFS_REG_ID texto_reg; /* numero de registro donde se encuentra el texto */
41 unsigned int numero; /* codigo de factura */
42 struct _reg_factura_ *sig, *ant;
45 typedef struct _lista_facturas_ {
46 t_Reg_Factura *primero;
47 EMUFS *fp; /* Filepointer al archivo donde estan los datos */
48 EMUFS *fp_texto; /* Filepointer al archivo donde estan los textos */
52 /** Crea la lista de facturas desde un archivo nuevo o existente
54 * \param filename Si es NULL trata de abrir un archivo existente, si no cargar el XML pasado
56 t_LstFacturas *fact_cargar(const char *filename, int tipo, int tam_bloque);
58 /** Elimina toda la memoria utilizada por las facturas */
59 int fact_liberar(t_LstFacturas *l);
61 /** Agregar una factura */
62 void fact_agregar(char *s);
64 /** Modificar una factura */
65 void fact_modificar(char *s);
67 /** Eliminar una factura */
68 void fact_eliminar(char *s);
70 /** Obtiene la list de facturas */
71 t_LstFacturas *fact_get_lst();