#ifndef __listalibri_h #define __listalibri_h #include #include #include #define EXIT_SUCCESS 0 #define EXIT_WRONGCOMMANDLINE 1 #define EXIT_MEMORY 2 #define EXIT_OPENFILE 3 #define RIGA 80 enum _boolean { FALSE = 0, TRUE = 1}; typedef enum _boolean boolean; typedef struct _elemlibro elemlibro; typedef elemlibro *listalibri; typedef elemlibro *poslibro; struct _elemlibro { char AutoreTitolo[RIGA]; elemlibro *next, *prev; }; #define NO_ELEMENT NULL #define NO_LIST NULL listalibri crealista (); void distruggelista (listalibri *pL); poslibro primolista (listalibri L); poslibro ultimolista (listalibri L); boolean finelista (poslibro p, listalibri L); boolean listavuota (listalibri L); poslibro succlista (poslibro p, listalibri L); poslibro preclista (poslibro p, listalibri L); char *leggilista (poslibro p, listalibri L); void scrivilista (char *AutoreTitolo, poslibro p, listalibri L); void inslista (char *AutoreTitolo, poslibro p, listalibri L); void canclista (poslibro *p, listalibri L); #endif