/* Header file for compression.c*/ /*ifndef makes sure this file is not used more than once*/ #ifndef COMPRESS_H /*Include standard libraris*/ #include #include #include /*Definitions*/ #define COMPRESS_H 1 #define TRUE 1 /*Define node for queue and tree*/ typedef struct node { char c; int priority; struct node *previous; struct node *next; struct node *left; struct node *right; }qtnode; typedef qtnode *qtptr; /*Prototypes for functions used in compression.c*/ qtptr createQueue (FILE *input, FILE *output); void encode(qtptr qfirst,FILE *input, FILE *output); /*Prototypes for functions used in queue.c*/ qtptr q_mknode(char c); qtptr q_enqueue(qtptr qfirst,qtptr qnode); qtptr q_dequeue(qtptr qfirst,qtptr *qnode); qtptr q_addchar(qtptr qfirst,char c); void q_filestore(qtptr qfirst, FILE *output); /*Prototypes for functions used in tree.c*/ qtptr t_create(qtptr qfirst); char *t_find(qtptr root, char c); char *t_recurfind(qtptr root, char c, char *ctemp,char *cval); void t_charencode(qtptr root, FILE *input, FILE *output); #endif