Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer


#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