Ecore_IPC - Ecore inter-process communication functions.

- Main Page
- Related Pages
- Modules
- Data Structures
- Files
- Examples

Modules | Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
Ecore_IPC - Ecore inter-process communication functions.
Ecore

Functions that set up and shut down the Ecore IPC Library. More...

## Modules
| IPC Server Functions
| Functions the deal with IPC server objects.
| IPC Client Functions
| Functions that deal with IPC client objects.

## Data Structures
struct | _Ecore_Ipc_Event_Client_Add
| An IPC structure for client_add event. More...
struct | _Ecore_Ipc_Event_Client_Del
| An IPC structure for client_del event. More...
struct | _Ecore_Ipc_Event_Server_Add
| An IPC structure for server_add event. More...
struct | _Ecore_Ipc_Event_Server_Del
| An IPC structure for server_del event. More...
struct | _Ecore_Ipc_Event_Client_Data
| An IPC structure for client_data event. More...
struct | _Ecore_Ipc_Event_Server_Data
| An IPC structure for server_data event. More...

## Macros
#define | ECORE_IPC_SWAP2NET64(x) (x)
#define | ECORE_IPC_SWAP2CPU64(x) (x)
#define | ECORE_IPC_SWAP2NET32(x) (x)
#define | ECORE_IPC_SWAP2CPU32(x) (x)
#define | ECORE_IPC_SWAP2NET16(x) (x)
#define | ECORE_IPC_SWAP2CPU16(x) (x)
#define | ECORE_IPC_SWAP2NET8(x) (x)
#define | ECORE_IPC_SWAP2CPU8(x) (x)
#define | ECORE_IPC_GET64(v)
#define | ECORE_IPC_GET32(v)
#define | ECORE_IPC_GET16(v)
#define | ECORE_IPC_GET8(v)
#define | ECORE_IPC_PUT64(v)
#define | ECORE_IPC_PUT32(v)
#define | ECORE_IPC_PUT16(v)
#define | ECORE_IPC_PUT8(v)
#define | ECORE_IPC_PAD8() ptr += 1
#define | ECORE_IPC_PAD16() ptr += 2
#define | ECORE_IPC_PAD32() ptr += 4
#define | ECORE_IPC_PAD64() ptr += 8
#define | ECORE_IPC_CNT8() len += 1
#define | ECORE_IPC_CNT16() len += 2
#define | ECORE_IPC_CNT32() len += 4
#define | ECORE_IPC_CNT64() len += 8
#define | ECORE_IPC_CHEKS() if (*((unsigned char *)d + s - 1) != 0) return 0;
#define | ECORE_IPC_GETS(v)
#define | ECORE_IPC_PUTS(v, l)
#define | ECORE_IPC_SLEN(l, v) ((l = strlen(p->v)) + 1)
#define | ECORE_IPC_CNTS(v) len += strlen(p->v) + 1
#define | ECORE_IPC_DEC_STRUCT_PROTO(x) static int x(void *d, int s, void *pp)
#define | ECORE_IPC_ENC_STRUCT_PROTO(x) static void *x(void *pp, int *s)
#define | ECORE_IPC_DEC_EINA_LIST_PROTO(x) static Eina_List *x(void *d, int s)
#define | ECORE_IPC_ENC_EINA_LIST_PROTO(x) static void *x(Eina_List *lp, int *s)
#define | ECORE_IPC_DEC_STRUCT_HEAD_EXACT(typ, x)
#define | ECORE_IPC_DEC_STRUCT_HEAD_MIN(typ, x)
#define | ECORE_IPC_DEC_STRUCT_FOOT() return 1
#define | ECORE_IPC_ENC_STRUCT_HEAD(typ, sz)
#define | ECORE_IPC_ENC_STRUCT_FOOT() return d
#define | ECORE_IPC_DEC_EINA_LIST_HEAD(typ)
#define | ECORE_IPC_DEC_EINA_LIST_FOOT()
#define | ECORE_IPC_ENC_EINA_LIST_HEAD_START(typ)
#define | ECORE_IPC_ENC_EINA_LIST_HEAD_FINISH()
#define | ECORE_IPC_ENC_EINA_LIST_FOOT()
#define | EAPI

## Typedefs
typedef struct _Ecore_Ipc_Server | Ecore_Ipc_Server
| An IPC connection handle.
typedef struct _Ecore_Ipc_Client | Ecore_Ipc_Client
| An IPC connection handle.
typedef enum _Ecore_Ipc_Type | Ecore_Ipc_Type
| Enum containing IPC types.
typedef struct _Ecore_Ipc_Event_Client_Add | Ecore_Ipc_Event_Client_Add
typedef struct _Ecore_Ipc_Event_Client_Del | Ecore_Ipc_Event_Client_Del
typedef struct _Ecore_Ipc_Event_Server_Add | Ecore_Ipc_Event_Server_Add
typedef struct _Ecore_Ipc_Event_Server_Del | Ecore_Ipc_Event_Server_Del
typedef struct _Ecore_Ipc_Event_Client_Data | Ecore_Ipc_Event_Client_Data
typedef struct _Ecore_Ipc_Event_Server_Data | Ecore_Ipc_Event_Server_Data

## Enumerations
enum | _Ecore_Ipc_Type { ECORE_IPC_LOCAL_USER , ECORE_IPC_LOCAL_SYSTEM , ECORE_IPC_REMOTE_SYSTEM , ECORE_IPC_USE_SSL = (1 << 4) , ECORE_IPC_NO_PROXY = (1 << 5) }

## Functions
EAPI unsigned short | _ecore_ipc_swap_16 (unsigned short v) EINA_DEPRECATED
EAPI unsigned int | _ecore_ipc_swap_32 (unsigned int v) EINA_DEPRECATED
EAPI unsigned long long | _ecore_ipc_swap_64 (unsigned long long v) EINA_DEPRECATED
EAPI int | ecore_ipc_init (void)
| Initializes the Ecore IPC library.
EAPI int | ecore_ipc_shutdown (void)
| Shuts down the Ecore IPC library.

## Variables
EAPI int | ECORE_IPC_EVENT_CLIENT_ADD
EAPI int | ECORE_IPC_EVENT_CLIENT_DEL
EAPI int | ECORE_IPC_EVENT_SERVER_ADD
EAPI int | ECORE_IPC_EVENT_SERVER_DEL
EAPI int | ECORE_IPC_EVENT_CLIENT_DATA
EAPI int | ECORE_IPC_EVENT_SERVER_DATA

## Detailed Description

Functions that set up and shut down the Ecore IPC Library.

## Macro Definition Documentation

## ◆ ECORE_IPC_GET64

#define ECORE_IPC_GET64 | ( |  | v | ) |

Value:
{ \
p->v = ECORE_IPC_SWAP2CPU64(*(long long *)(ptr)); \
ptr += 8; \
}

## ◆ ECORE_IPC_GET32

#define ECORE_IPC_GET32 | ( |  | v | ) |

Value:
{ \
p->v = ECORE_IPC_SWAP2CPU32(*(int *)(ptr)); \
ptr += 4; \
}

## ◆ ECORE_IPC_GET16

#define ECORE_IPC_GET16 | ( |  | v | ) |

Value:
{ \
p->v = ECORE_IPC_SWAP2CPU16(*(short *)(ptr)); \
ptr += 2; \
}

## ◆ ECORE_IPC_GET8

#define ECORE_IPC_GET8 | ( |  | v | ) |

Value:
{ \
p->v = ECORE_IPC_SWAP2CPU8(*(char *)(ptr)); \
ptr += 1; \
}

## ◆ ECORE_IPC_PUT64

#define ECORE_IPC_PUT64 | ( |  | v | ) |

Value:
{ \
*(long long *)(ptr) = ECORE_IPC_SWAP2NET64(p->v); \
ptr += 8; \
}

## ◆ ECORE_IPC_PUT32

#define ECORE_IPC_PUT32 | ( |  | v | ) |

Value:
{ \
*(int *)(ptr) = ECORE_IPC_SWAP2NET32(p->v); \
ptr += 4; \
}

## ◆ ECORE_IPC_PUT16

#define ECORE_IPC_PUT16 | ( |  | v | ) |

Value:
{ \
*(short *)(ptr) = ECORE_IPC_SWAP2NET16(p->v); \
ptr += 2; \
}

## ◆ ECORE_IPC_PUT8

#define ECORE_IPC_PUT8 | ( |  | v | ) |

Value:
{ \
*(char *)(ptr) = ECORE_IPC_SWAP2NET8(p->v); \
ptr += 1; \
}

## ◆ ECORE_IPC_GETS

#define ECORE_IPC_GETS | ( |  | v | ) |

Value:
{ \
if (ptr < ((unsigned char *)d + s)) \
{ \
p->v = (char *)ptr; \
ptr += strlen(p->v) + 1; \
} \
}

## ◆ ECORE_IPC_PUTS

#define ECORE_IPC_PUTS | ( |  | v,
|  |  | l
| ) |  |

Value:
{ \
strcpy((char *)ptr, p->v); \
ptr += l + 1; \
}

## ◆ ECORE_IPC_DEC_STRUCT_HEAD_EXACT

#define ECORE_IPC_DEC_STRUCT_HEAD_EXACT | ( |  | typ,
|  |  | x
| ) |  |

Value:
typ *p; \
unsigned char *ptr; \
p = (typ *)pp; \
if (!d) return 0; if (s != (x)) return 0; \
ptr = d;

## ◆ ECORE_IPC_DEC_STRUCT_HEAD_MIN

#define ECORE_IPC_DEC_STRUCT_HEAD_MIN | ( |  | typ,
|  |  | x
| ) |  |

Value:
typ *p; \
unsigned char *ptr; \
p = (typ *)pp; \
if (!d) return 0; if (s < (x)) return 0; \
ptr = d;

## ◆ ECORE_IPC_ENC_STRUCT_HEAD

#define ECORE_IPC_ENC_STRUCT_HEAD | ( |  | typ,
|  |  | sz
| ) |  |

Value:
typ *p; \
unsigned char *d, *ptr; \
int len; \
*s = 0; \
if(!pp) return NULL; \
p = (typ *)pp; \
len = sz; \
d = malloc(len); \
if (!d) return NULL; \
*s = len; \
ptr = d;

## ◆ ECORE_IPC_DEC_EINA_LIST_HEAD

#define ECORE_IPC_DEC_EINA_LIST_HEAD | ( |  | typ | ) |

Value:
unsigned char *ptr; \
Eina_List *l; \
typ *p; \
l = NULL; \
ptr = d; \
while(ptr < (unsigned char *)(d + s)) \
{ \
p = malloc(sizeof(typ));
_Eina_List
Type for a generic double linked list.
Definition: eina_list.h:318

## ◆ ECORE_IPC_DEC_EINA_LIST_FOOT

#define ECORE_IPC_DEC_EINA_LIST_FOOT | ( |  | ) |

Value:
l = eina_list_append(l, p); \
} \
return l
eina_list_append
EINA_API Eina_List * eina_list_append(Eina_List *list, const void *data)
Appends the given data to the given linked list.
Definition: eina_list.c:584

## ◆ ECORE_IPC_ENC_EINA_LIST_HEAD_START

#define ECORE_IPC_ENC_EINA_LIST_HEAD_START | ( |  | typ | ) |

Value:
Eina_List *l; \
typ *p; \
unsigned char *d, *ptr; \
int len; \
*s = 0; \
len = 0; \
for (l = lp; l; l = l->next) \
{ \
p = l->data;
_Eina_List::next
Eina_List * next
Next member in the list.
Definition: eina_list.h:320

## ◆ ECORE_IPC_ENC_EINA_LIST_HEAD_FINISH

#define ECORE_IPC_ENC_EINA_LIST_HEAD_FINISH | ( |  | ) |

Value:
} \
d = malloc(len); \
if(!d) return NULL; \
*s = len; \
ptr = d; \
for (l = lp; l; l = l->next) \
{ \
p = l->data;

## ◆ ECORE_IPC_ENC_EINA_LIST_FOOT

#define ECORE_IPC_ENC_EINA_LIST_FOOT | ( |  | ) |

Value:
} \
return d

## Function Documentation

## ◆ ecore_ipc_init()

EAPI int ecore_ipc_init | ( | void |  | ) |

Initializes the Ecore IPC library.

Returns
  Number of times the library has been initialised without being shut down.

References ecore_con_init(), ecore_event_type_new(), eina_log_domain_register(), eina_log_domain_unregister(), and EINA_LOG_ERR.

## ◆ ecore_ipc_shutdown()

EAPI int ecore_ipc_shutdown | ( | void |  | ) |

Shuts down the Ecore IPC library.

Returns
  Number of times the library has been initialised without being shut down.

References ecore_con_shutdown(), ecore_event_type_flush, ecore_ipc_server_del(), EINA_LIST_FOREACH_SAFE, and eina_log_domain_unregister().