Skip to content

Instantly share code, notes, and snippets.

@Signez
Created November 3, 2011 20:14
Show Gist options
  • Save Signez/1337658 to your computer and use it in GitHub Desktop.
Save Signez/1337658 to your computer and use it in GitHub Desktop.
Je ne fais pas d'ascii art dans mes rendus de TP. Nonon
#ifndef PILOTEBADBGES_H
#define PILOTEBADBGES_H
/**
_ _
| | | |
| |__ __ _ __| | __ _ ___ _ _ ___ ___
| '_ \ / _` |/ _` |/ _` |/ _ \ | | / __|/ _ \
| |_) | (_| | (_| | (_| | __/ |_| \__ \ __/
|_.__/ \__,_|\__,_|\__, |\___|\__,_|___/\___|
__/ | _ _ _
|___/ (_) | | |
_ __ _| | ___ | |_
Réalisé par | '_ \| | |/ _ \| __|
Mat. Sabourin | |_) | | | (_) | |_
et Stan. Signoud | .__/|_|_|\___/ \__|
| |
INSA 2011 / 4IF4 |_|
Ce pilote est placé sous licence GPL v2+.
Pour plus d'informations, consultez :
http://www.gnu.org/licenses/gpl-2.0.html
NB : Ce pilote est réalisé dans le cadre d'un TP au Département
Informatique de l'INSA de Lyon. Des restrictions de licence
peuvent s'appliquer.
*/
/***********************************
* Fonctions utilitaires *
***********************************/
/**
* Installe le pilote de badgeuses sur le système.
* @return 0 si tout va bien, ERROR sinon (errno est alors positionné).
*/
int bdgInstall();
/**
* Ajoute un périphérique badgeuse au système.
* @param nomperiph Le nom du périphérique à créer.
* @param nodevice Numéro matériel (à la MAC) de la badgeuse.
* @return 0 si tout va bien, ERROR sinon (errno est alors positionné).
*/
int bdgAdd(char * nomperiph, unsigned short nodevice);
/**
* Retire un périphérique de badgeuse du système.
* @param nomperiph Nom du périphérique à retirer du système.
* @return 0 si tout va bien, ERROR sinon (errno est alors positionné).
*/
int bdgRemove(char * nomperiph);
/**
* Désinstalle le pilote du système.
* @return 0 si tout va bien, ERROR sinon (errno est positionné par l'IOS).
*/
int bdgUninstall();
/***********************************
* Simulation *
***********************************/
#define BDG_SIMULATION 1
#ifdef BDG_SIMULATION
/**
* Handler d'IT simulé.
*
* Peut être utilisé pour simuler une interruption.
* @see BDGREG
*/
void bdgITHandler();
/**
* @var BDGREG Registre bas-niveau simulé contenant le dernier message
* reçu d'une badgeuse. Les deux premiers octets contiennent le numéro
* unique de la badgeuse (à-la-MAC), les deux derniers contiennent la
* donnée qui en provient.
*/
extern char bdgReg[4];
#define BDGREG bdgReg
#endif /* BDG_SIMULATION */
/***********************************
* Erreurs *
***********************************/
/* Le pilote est déjà installé. */
#define E_BDG_ALREADY_INSTALLED 1042
/* Le pilote n'est pas installé. */
#define E_BDG_NOT_INSTALLED 1043
/* De la mémoire n'a pas pu être allouée. */
#define E_BDG_CANT_ALLOCATE 1044
/* Le nombre maximum de périphériques supporté par
le pilote a été atteint. */
#define E_BDG_MAX_DEV 1045
/* Le système a refusé l'ajout du périphérique. */
#define E_BDG_CANT_ADD 1046
/* Le nom de périphérique est inconnu. */
#define E_BDG_WRONG_NAME 1047
/* Le périphérique est déjà ouvert. */
#define E_BDG_ALREADY_OPEN 1048
/* Impossible de faire rentrer ne serait-ce
qu'un message dans le buffer proposé. */
#define E_BDG_CANT_FIT 1050
/* Aucun message à lire.
(Votre lecture serait-elle trop fréquente ?) */
#define E_BDG_TOO_FAST 1051
/* Impossible de trouver le périphérique. */
#define E_BDG_DEV_NOT_FOUND 1052
/* Impossible de créer une sémaphore. */
#define E_BDG_CANT_CREATE_SEM 1052
#endif /* PILOTEBADBGES_H */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment