From 1ad9971d8a87721b8a6a98198e31b3b54d1be7ce Mon Sep 17 00:00:00 2001 From: Alexander Wenzel Date: Fri, 23 Sep 2011 21:12:51 +0200 Subject: Merged version for SHM now works. --- include/dlt/dlt_shm.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 include/dlt/dlt_shm.h (limited to 'include/dlt/dlt_shm.h') diff --git a/include/dlt/dlt_shm.h b/include/dlt/dlt_shm.h new file mode 100644 index 0000000..9727f4b --- /dev/null +++ b/include/dlt/dlt_shm.h @@ -0,0 +1,28 @@ + +#define DLT_SHM_KEY 10002 +#define DLT_SHM_SIZE (1024*4000) +#define DLT_SHM_SEM 20013 + +typedef struct +{ + int shmid; // Id of shared memory + int semid; // Id of semaphore + char* shm; // pointer to beginning of shared memory + int size; // size of data areay in shared memory + char* mem; // pointer to data area in shared memory +} DltShm; + +#define DLT_SHM_SEM_GET(id) dlt_shm_pv(id,-1) +#define DLT_SHM_SEM_FREE(id) dlt_shm_pv(id,1) + +extern int dlt_shm_init_client(DltShm *buf,int key,int size); +extern int dlt_shm_init_server(DltShm *buf,int key,int size); + +extern int dlt_shm_push(DltShm *buf,const char *data1, int size1,const char *data2, int size2,const char *data3, int size3); +extern int dlt_shm_pull(DltShm *buf,char *data, int size); + +extern void dlt_shm_info(DltShm *buf); +extern void dlt_shm_status(DltShm *buf); + +extern int dlt_shm_free_client(DltShm *buf); +extern int dlt_shm_free_server(DltShm *buf); -- cgit v1.2.1