Grelet Jacques / statis

Dependents:   Ni-MH_V3

Committer:
greletj
Date:
Wed Nov 28 18:52:43 2012 +0000
Revision:
0:b3a2e39a13ad
Child:
1:a4c87bc5b008
new statisic library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
greletj 0:b3a2e39a13ad 1 /*
greletj 0:b3a2e39a13ad 2 * bitmsk.h
greletj 0:b3a2e39a13ad 3 */
greletj 0:b3a2e39a13ad 4
greletj 0:b3a2e39a13ad 5 #ifndef bitmsk_H
greletj 0:b3a2e39a13ad 6 #define bitmsk_H
greletj 0:b3a2e39a13ad 7
greletj 0:b3a2e39a13ad 8 #include <string.h>
greletj 0:b3a2e39a13ad 9
greletj 0:b3a2e39a13ad 10 #define MAX_TACHES 32 // Maxi arbitraire
greletj 0:b3a2e39a13ad 11 #define BITMSK_SIZE MAX_TACHES / 8
greletj 0:b3a2e39a13ad 12 #define BITMSK_RIEN 0
greletj 0:b3a2e39a13ad 13 typedef unsigned char BITMSK;
greletj 0:b3a2e39a13ad 14
greletj 0:b3a2e39a13ad 15 typedef enum { ADD,
greletj 0:b3a2e39a13ad 16 REM,
greletj 0:b3a2e39a13ad 17 SETF,
greletj 0:b3a2e39a13ad 18 SETB,
greletj 0:b3a2e39a13ad 19 SETA,
greletj 0:b3a2e39a13ad 20 IS
greletj 0:b3a2e39a13ad 21 } TMODE; // cf Win::seta()
greletj 0:b3a2e39a13ad 22
greletj 0:b3a2e39a13ad 23 // #define NOPID -1 // DOS
greletj 0:b3a2e39a13ad 24
greletj 0:b3a2e39a13ad 25 #define NOPIDUNIX -1
greletj 0:b3a2e39a13ad 26 typedef int PID; // De NOPID a MAX_TACHES
greletj 0:b3a2e39a13ad 27
greletj 0:b3a2e39a13ad 28 #define BITMODE TMODE // cf. video.h
greletj 0:b3a2e39a13ad 29
greletj 0:b3a2e39a13ad 30 class Bitmsk
greletj 0:b3a2e39a13ad 31 {
greletj 0:b3a2e39a13ad 32 // Membres
greletj 0:b3a2e39a13ad 33 private:
greletj 0:b3a2e39a13ad 34 BITMSK bits[ BITMSK_SIZE ];
greletj 0:b3a2e39a13ad 35
greletj 0:b3a2e39a13ad 36 // Methodes
greletj 0:b3a2e39a13ad 37 public:
greletj 0:b3a2e39a13ad 38 bool requete( BITMODE mode,PID pid );
greletj 0:b3a2e39a13ad 39 void raz( void );
greletj 0:b3a2e39a13ad 40
greletj 0:b3a2e39a13ad 41 // Constructeurs
greletj 0:b3a2e39a13ad 42 public:
greletj 0:b3a2e39a13ad 43 Bitmsk( PID nb = 0,... );
greletj 0:b3a2e39a13ad 44 Bitmsk( Bitmsk &modele );
greletj 0:b3a2e39a13ad 45 };
greletj 0:b3a2e39a13ad 46
greletj 0:b3a2e39a13ad 47 /*****************************************************************************
greletj 0:b3a2e39a13ad 48 * Prototypes des fonctions d'interface *
greletj 0:b3a2e39a13ad 49 *****************************************************************************/
greletj 0:b3a2e39a13ad 50 BITMSK setmsk( BITMSK *bitmsk,BITMODE mode,BITMSK new_msk );
greletj 0:b3a2e39a13ad 51
greletj 0:b3a2e39a13ad 52 #endif