summaryrefslogtreecommitdiffstats
path: root/PICA_msgproc.h
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2012-06-17 21:15:12 +0000
commit8df9466ada46e4b07990b9cb7e8b1cd61b96844a (patch)
tree2cb652e5839bed672133ffa90e7ad477f55cfb6b /PICA_msgproc.h
downloadpica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.tar.gz
pica-pica-8df9466ada46e4b07990b9cb7e8b1cd61b96844a.zip
todo list update
git-svn-id: svn://localhost/project_picapica/trunk@128 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'PICA_msgproc.h')
-rwxr-xr-xPICA_msgproc.h24
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