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

Modules

 IPC Server Functions
 
 IPC Client Functions
 

Data Structures

struct  _Ecore_Ipc_Event_Client_Add
 
struct  _Ecore_Ipc_Event_Client_Del
 
struct  _Ecore_Ipc_Event_Server_Add
 
struct  _Ecore_Ipc_Event_Server_Del
 
struct  _Ecore_Ipc_Event_Client_Data
 
struct  _Ecore_Ipc_Event_Server_Data
 

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
 
#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
 
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. More...
 
EAPI int ecore_ipc_shutdown (void)
 Shuts down the Ecore IPC library. More...
 

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,
 
)
Value:
{ \
strcpy((char *)ptr, p->v); \
ptr += l + 1; \
}

◆ ECORE_IPC_DEC_STRUCT_HEAD_EXACT

#define ECORE_IPC_DEC_STRUCT_HEAD_EXACT (   typ,
 
)
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,
 
)
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));

◆ ECORE_IPC_DEC_EINA_LIST_FOOT

#define ECORE_IPC_DEC_EINA_LIST_FOOT ( )
Value:
l = eina_list_append(l, p); \
} \
return l

◆ 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;

◆ 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

Typedef Documentation

◆ Ecore_Ipc_Type

Enum containing IPC types.

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(), 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_event_type_flush, ecore_ipc_server_del(), and EINA_LIST_FOREACH_SAFE.

eina_list_append
EAPI 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
_Eina_List::next
Eina_List * next
Next member in the list.
Definition: eina_list.h:320
_Eina_List
Definition: eina_list.h:318