#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h> /*for errno*/
#include <fcntl.h>
#include <sys/types.h> /*for open close*/
#include <sys/stat.h>
#include <sys/ioctl.h> /*for ioctl*/
#include <sys/mman.h> /*for mmap*/
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/mount.h>
#include <pthread.h>
#include <netdb.h>
typedef enum{
UDP_MSG_START_LIVE_RECORDING = 0,
UDP_MSG_STOP_LIVE_RECORDING,
UDP_MSG_START_RESERVATION_RECORDING,
UDP_MSG_START_STOP_RESERVATION_RECORDING,
UDP_MSG_CHECK_LIVE_RECORDING,
UDP_MSG_CHECK_RESERVATION_RECORDING
}UDP_MSG_TYPE ;
typedef struct UDP_MESSAGE_S{
UDP_MSG_TYPE msgType;
char msgBody[300];
//int msgLength;
} UDP_MESSAGE_S;
#define MSG_MAX 304
#define UDP_RECV_MSG_PORT 9009
#define UDP_SEND_MSG_PORT 9009
pthread_t recvThreadId;
static int recv_sockfd = -1;
char encAddr[64];
struct sockaddr_in server_addr;
int SetupRecvSocket(char *server, int port)
{
struct hostent *host;
struct sockaddr_in saddr;
int sock;
printf("server = %s\n", server);
if ( (sock = socket (AF_INET, SOCK_DGRAM, 0) ) == -1) //get a socket fd
{
fprintf (stderr, "Socket Error:%s\a\n", strerror (errno) );
return -1;
}
bzero (&server_addr, sizeof (server_addr) );//fill in structure with client info
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htonl (INADDR_ANY);
server_addr.sin_port = htons(UDP_RECV_MSG_PORT);
if (bind (sock,(struct sockaddr *) & server_addr, sizeof (server_addr) ) < 0){ //bind a port not used
fprintf (stderr, "[pvrFileList] Cannot bind socket\n");
return -1;
}
return sock;
}
void receiveMsg()
{
int length = 0;
int zeroreads = 0;
fd_set readfds, writefds, exceptfds;
struct timeval timeout;
struct sockaddr_in clientAddr;
char Xmsg[MSG_MAX];
socklen_t addr_size = sizeof(server_addr);
FD_ZERO(&writefds);
FD_ZERO(&exceptfds);
printf("Wait for encoder to start before registering for stats\n");
//sleep(1);
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h> /*for errno*/
#include <fcntl.h>
#include <sys/types.h> /*for open close*/
#include <sys/stat.h>
#include <sys/ioctl.h> /*for ioctl*/
#include <sys/mman.h> /*for mmap*/
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <signal.h>
#include <sys/time.h>
#include <sys/mount.h>
#include <pthread.h>
#include <netdb.h>
typedef enum{
UDP_MSG_START_LIVE_RECORDING = 0,
UDP_MSG_STOP_LIVE_RECORDING,
UDP_MSG_START_RESERVATION_RECORDING,
UDP_MSG_START_STOP_RESERVATION_RECORDING,
UDP_MSG_CHECK_LIVE_RECORDING,
UDP_MSG_CHECK_RESERVATION_RECORDING
}UDP_MSG_TYPE ;
typedef struct UDP_MESSAGE_S{
UDP_MSG_TYPE msgType;
char msgBody[300];
//int msgLength;
} UDP_MESSAGE_S;
#define MSG_MAX 304
#define UDP_RECV_MSG_PORT 9009
#define UDP_SEND_MSG_PORT 9009
pthread_t recvThreadId;
static int recv_sockfd = -1;
char encAddr[64];
struct sockaddr_in server_addr;
int SetupRecvSocket(char *server, int port)
{
struct hostent *host;
struct sockaddr_in saddr;
int sock;
printf("server = %s\n", server);
if ( (sock = socket (AF_INET, SOCK_DGRAM, 0) ) == -1) //get a socket fd
{
fprintf (stderr, "Socket Error:%s\a\n", strerror (errno) );
return -1;
}
bzero (&server_addr, sizeof (server_addr) );//fill in structure with client info
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htonl (INADDR_ANY);
server_addr.sin_port = htons(UDP_RECV_MSG_PORT);
if (bind (sock,(struct sockaddr *) & server_addr, sizeof (server_addr) ) < 0){ //bind a port not used
fprintf (stderr, "[pvrFileList] Cannot bind socket\n");
return -1;
}
return sock;
}
void receiveMsg()
{
int length = 0;
int zeroreads = 0;
fd_set readfds, writefds, exceptfds;
struct timeval timeout;
struct sockaddr_in clientAddr;
char Xmsg[MSG_MAX];
socklen_t addr_size = sizeof(server_addr);
FD_ZERO(&writefds);
FD_ZERO(&exceptfds);
printf("Wait for encoder to start before registering for stats\n");
//sleep(1);