36 lines
861 B
C
36 lines
861 B
C
|
|
||
|
#ifndef _IPCSOCKET_H
|
||
|
#define _IPCSOCKET_H
|
||
|
|
||
|
|
||
|
#define MAX_SOCK_NAME_LEN 64
|
||
|
|
||
|
char sock_name[MAX_SOCK_NAME_LEN];
|
||
|
|
||
|
/* This structure is responsible for holding the IPC data
|
||
|
* data: hold the buffer fd
|
||
|
* len: just the length of 32-bit integer fd
|
||
|
*/
|
||
|
struct socketdata {
|
||
|
int data;
|
||
|
unsigned int len;
|
||
|
};
|
||
|
|
||
|
/* This API is used to open the IPC socket connection
|
||
|
* name: implies a unique socket name in the system
|
||
|
* connecttype: implies server(0) or client(1)
|
||
|
*/
|
||
|
int opensocket(int *sockfd, const char *name, int connecttype);
|
||
|
|
||
|
/* This is the API to send socket data over IPC socket */
|
||
|
int sendtosocket(int sockfd, struct socketdata *data);
|
||
|
|
||
|
/* This is the API to receive socket data over IPC socket */
|
||
|
int receivefromsocket(int sockfd, struct socketdata *data);
|
||
|
|
||
|
/* This is the API to close the socket connection */
|
||
|
int closesocket(int sockfd, char *name);
|
||
|
|
||
|
|
||
|
#endif
|