diff options
Diffstat (limited to 'PICA_msgproc.h')
| -rwxr-xr-x | PICA_msgproc.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/PICA_msgproc.h b/PICA_msgproc.h new file mode 100755 index 0000000..5bcab20 --- /dev/null +++ b/PICA_msgproc.h @@ -0,0 +1,24 @@ +// структуры и функции для обработки сообщений протокола +// +#ifndef PICA_MSGPROC_H +#define PICA_MSGPROC_H + +#define PICA_MSG_FIXED_SIZE 0 +#define PICA_MSG_VAR_SIZE 1 +#define PICA_MSG_VARSIZE_INT8 1 +#define PICA_MSG_VARSIZE_INT16 2 + +struct PICA_msginfo +{ +unsigned int msgid; +unsigned int fixedsz;//фиксированный или переменный размер +unsigned int sz;//фиксированный размер всего пакета либо кол-во байт, определяющих размер хвостовой части пакета +unsigned int (*msgprocfn)(unsigned char*,unsigned int,void*);//функция-обработчик данного типа сообщений +}; + +unsigned int PICA_msggetsize(unsigned char *buf,unsigned int nb,struct PICA_msginfo *msgs,unsigned int nmsg); + +unsigned int PICA_processmsg(unsigned char *buf,unsigned int size,void* arg,struct PICA_msginfo *msgs,unsigned int nmsg); + +unsigned int PICA_processdatastream(unsigned char *buf,unsigned int *read_pos,void* arg,struct PICA_msginfo *msgs,unsigned int nmsg); +#endif |
