49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
/**
|
|
* @file
|
|
* @brief Interprétation des arguments (options et opérandes) passés
|
|
* au programme
|
|
*/
|
|
|
|
#ifndef __HUFFMAN_ARGUMENTS_H_INCLUDED__
|
|
#define __HUFFMAN_ARGUMENTS_H_INCLUDED__
|
|
|
|
#include <stdio.h>
|
|
#include <argp.h>
|
|
|
|
/**
|
|
* @brief Valeurs des arguments (options et opérandes) passés au programme.
|
|
*/
|
|
typedef struct Args {
|
|
/**
|
|
* Lance-t-on le programme en mode verbeux ? (informations de débogage)
|
|
*/
|
|
int verbose;
|
|
|
|
/**
|
|
* Compresse-t-on la source ou bien la décompresse-t-on ?
|
|
*/
|
|
int compress;
|
|
|
|
/**
|
|
* Fichier source de l'opération à effectuer
|
|
*/
|
|
FILE* source;
|
|
|
|
/**
|
|
* Fichier de sortie de l'opération effectuée
|
|
*/
|
|
FILE* dest;
|
|
} Args;
|
|
|
|
/**
|
|
* @brief Interpréter l'argument @p key de valeur @p arg dans
|
|
* la structure argp d'état @p state
|
|
*
|
|
* @param key Clé de l'option, ou clé spéciale pour indiquer une opérande
|
|
* @param arg Valeur de l'option ou de l'opérande
|
|
* @param state État actuel de argp
|
|
*/
|
|
error_t parseArgument(int key, char* arg, struct argp_state* state);
|
|
|
|
#endif // __HUFFMAN_ARGUMENTS_H_INCLUDED__
|