paquet.h (1190B)
1 #ifndef PAQUET_H 2 #define PAQUET_H 3 4 #include <stdint.h> 5 6 #define PQ_OPT_PRCH_VIEU 01 /* doit être un vieux, a préséance */ 7 #define PQ_OPT_PRCH_NOUV 02 /* peut être un nouveau */ 8 9 #define PQ_DRAP_NOUV 01 /* prendre en compte nfs */ 10 #define PQ_DRAP_QST 02 /* si on a posé une question */ 11 #define PQ_DRAP_MNC 04 /* si la nouvelle question se trouve dans le monceau */ 12 #define PQ_DRAP_ALEA 010 /* si les nouvelles fiches sont choisies aléatoirement */ 13 #define PQ_DRAP_GRAC 020 /* si les fiches qui ont moins de [pnpi] sont traitées */ 14 15 struct entete { 16 uint8_t version; 17 uint8_t draps; 18 uint32_t deb_s; 19 uint32_t deb_n; 20 uint32_t nb; 21 uint8_t pins; 22 uint16_t pipi; 23 uint16_t pnpi; 24 uint8_t fi; 25 uint64_t date; 26 uint16_t nfs; 27 }; 28 29 struct paquet { 30 int fd; 31 char *nom; 32 struct entete entete; 33 }; 34 35 struct fiche { 36 uint32_t prch; 37 uint32_t dern; 38 uint32_t id; 39 uint8_t fac; 40 uint16_t nsucc; 41 }; 42 43 int pq_init(char *); 44 int pq_ouvrir(char *, struct paquet *); 45 int pq_ajouter(struct paquet *, unsigned int); 46 int pq_prochain(struct paquet *, int); 47 int pq_reponse(struct paquet *, int); 48 int pq_entete_maj(struct paquet *); 49 50 int pq_fiches_afficher(struct paquet *); 51 52 #endif