| 1 | // =============================================================== // |
|---|
| 2 | // // |
|---|
| 3 | // File : client_privat.h // |
|---|
| 4 | // Purpose : // |
|---|
| 5 | // // |
|---|
| 6 | // Institute of Microbiology (Technical University Munich) // |
|---|
| 7 | // http://www.arb-home.de/ // |
|---|
| 8 | // // |
|---|
| 9 | // =============================================================== // |
|---|
| 10 | |
|---|
| 11 | #ifndef CLIENT_PRIVAT_H |
|---|
| 12 | #define CLIENT_PRIVAT_H |
|---|
| 13 | |
|---|
| 14 | #ifndef AISC_GLOBAL_H |
|---|
| 15 | #include "aisc_global.h" |
|---|
| 16 | #endif |
|---|
| 17 | |
|---|
| 18 | |
|---|
| 19 | #ifndef ARB_ASSERT_H |
|---|
| 20 | #include <arb_assert.h> |
|---|
| 21 | #endif |
|---|
| 22 | #ifndef SIGHANDLER_H |
|---|
| 23 | #include <SigHandler.h> |
|---|
| 24 | #endif |
|---|
| 25 | |
|---|
| 26 | #define AISC_MAX_ATTR 4095 |
|---|
| 27 | #define MAX_AISC_SET_GET 16 |
|---|
| 28 | #define AISC_MAX_STRING_LEN 1024 |
|---|
| 29 | #define AISC_MESSAGE_BUFFER_LEN ((AISC_MAX_STRING_LEN/4+3)*(16+2)) |
|---|
| 30 | |
|---|
| 31 | struct aisc_bytes_list { |
|---|
| 32 | char *data; |
|---|
| 33 | int size; |
|---|
| 34 | aisc_bytes_list *next; |
|---|
| 35 | }; |
|---|
| 36 | |
|---|
| 37 | struct aisc_com { |
|---|
| 38 | int socket; |
|---|
| 39 | int message_type; |
|---|
| 40 | char *message; |
|---|
| 41 | int *message_queue; |
|---|
| 42 | long magic; |
|---|
| 43 | const char *error; |
|---|
| 44 | |
|---|
| 45 | long aisc_mes_buffer[AISC_MESSAGE_BUFFER_LEN]; |
|---|
| 46 | aisc_bytes_list *aisc_client_bytes_first; |
|---|
| 47 | aisc_bytes_list *aisc_client_bytes_last; |
|---|
| 48 | SigHandler old_sigpipe_handler; |
|---|
| 49 | }; |
|---|
| 50 | |
|---|
| 51 | #define AISC_MAGIC_NUMBER 0 |
|---|
| 52 | |
|---|
| 53 | enum aisc_command_list { |
|---|
| 54 | AISC_GET = AISC_MAGIC_NUMBER + 0, |
|---|
| 55 | AISC_SET = AISC_MAGIC_NUMBER + 1, |
|---|
| 56 | AISC_NSET = AISC_MAGIC_NUMBER + 2, |
|---|
| 57 | AISC_CREATE = AISC_MAGIC_NUMBER + 3, |
|---|
| 58 | AISC_FIND = AISC_MAGIC_NUMBER + 4, |
|---|
| 59 | AISC_COPY = AISC_MAGIC_NUMBER + 5, |
|---|
| 60 | AISC_DELETE = AISC_MAGIC_NUMBER + 6, |
|---|
| 61 | AISC_INIT = AISC_MAGIC_NUMBER + 7, |
|---|
| 62 | AISC_DEBUG_INFO = AISC_MAGIC_NUMBER + 8, |
|---|
| 63 | AISC_FORK_SERVER = AISC_MAGIC_NUMBER + 9 |
|---|
| 64 | }; |
|---|
| 65 | |
|---|
| 66 | enum aisc_client_command_list { |
|---|
| 67 | AISC_CCOM_OK = AISC_MAGIC_NUMBER + 0, |
|---|
| 68 | AISC_CCOM_ERROR = AISC_MAGIC_NUMBER + 1, |
|---|
| 69 | AISC_CCOM_MESSAGE = AISC_MAGIC_NUMBER + 2 |
|---|
| 70 | }; |
|---|
| 71 | |
|---|
| 72 | #else |
|---|
| 73 | #error client_privat.h included twice |
|---|
| 74 | #endif // CLIENT_PRIVAT_H |
|---|