00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef BUFF_H
00022 #define BUFF_H
00023
00024 struct buff {
00025 int size;
00026 unsigned long val;
00027 unsigned char masque_dernier;
00028 unsigned char * message;
00029 int fin, dernier, courant, lock;
00030 };
00031
00032 #define BUFFSIZE (8 * sizeof (unsigned long))
00033
00034 typedef struct buff * bread_t;
00035 typedef struct buff * bwrite_t;
00036
00037 bread_t breadinit(unsigned char * message, int fin);
00038 bwrite_t bwriteinit(unsigned char * message, int fin);
00039 void breadclose(bread_t bin);
00040 void bwriteclose(bwrite_t bout);
00041
00042 void bread_retour(bread_t bin);
00043 int bread_available(bread_t bin);
00044 int bwrite_available(bwrite_t bout);
00045 int bread_unlocked(bread_t bin);
00046 int bwrite_unlocked(bwrite_t bout);
00047 void bread_changer_position(bread_t bin, int i);
00048 void bread_decaler_fin(bread_t bin, int i);
00049 void bwrite_changer_position(bwrite_t bout, int i);
00050 void bwrite_decaler_fin(bwrite_t bout, int i);
00051
00052 void bread_lock(int i, bread_t bin);
00053 void bwrite_lock(int i, bwrite_t bout);
00054
00055 unsigned bread(int i, bread_t bin);
00056 unsigned blook(int i, bread_t bin);
00057 void bstep(int i, bread_t bin);
00058 int bread_bit(bread_t bin);
00059 void bwrite(unsigned int x, int i, bwrite_t bout);
00060 void bwrite_bit(unsigned int x, bwrite_t bout);
00061 void bwrite_bits(unsigned int x, int n, bwrite_t bout);
00062
00063 #endif // BUFF_H