Exemplo n.º 1
0
int 
open_socket ( char *name, int default_port ) 
{
    int fd ; 
    struct sockaddr_in serv_addr ; 
    char server[256] ;
    char ipc[32] ;
    int port ;

    memset ( (char *) &serv_addr, 0, sizeof(serv_addr) ) ; 
    parsename ( name, default_port, server, &port ) ;
    
    name2ip(server, (struct in_addr *)&serv_addr.sin_addr.s_addr, ipc ) ;
    serv_addr.sin_family = AF_INET ; 
    serv_addr.sin_port = htons ( port ) ; 

    if ( (fd = socket(PF_INET, SOCK_STREAM, 0 )) < 0 ) {
	register_error ( 1, "Can't open stream socket\n" ) ; 
	fd = -1 ;
    } else if ( connect(fd, 
		(struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0 ) {
	close ( fd ) ; 
	fd = -1 ;
    } else { 
	ignoreSIGPIPE() ;
    }

    return fd ;
}
Exemplo n.º 2
0
int main(int argc, char *argv[])
{
	eBoxType vBoxType = LircdName;
	Context_t context;

	/* Dagobert: if tuxtxt closes the socket while
	 * we are writing a sigpipe occures which kills
	 * evremote/wait4button. so lets ignore it ...
	 */
	ignoreSIGPIPE();

	if (argc >= 2 && (!strncmp(argv[1], "-h", 2) || !strncmp(argv[1], "--help", 6)))
	{
		printf("USAGE:\n");
		printf("wait4button [<button code>] returns code of pressed button on RC.\n");
		printf("Parameter(s) description:\n");
		printf("<button code> - defines specific button code to wait for\n");
		return 0;
	}

	selectRemote(&context, vBoxType);

	if (argc >= 2)
	{
		wait4KeyCode = atoi(argv[1]);
		printf("Waiting for %i on %s\n", wait4KeyCode, ((RemoteControl_t *)context.r)->Name);
	} else
		printf("Using %s\n", ((RemoteControl_t *)context.r)->Name);

	if (((RemoteControl_t *)context.r)->RemoteControl != NULL)
	{
		printf("RemoteControl Map:\n");
		printKeyMap((tButton *)((RemoteControl_t *)context.r)->RemoteControl);
	}

	if (((RemoteControl_t *)context.r)->Frontpanel != NULL)
	{
		printf("Frontpanel Map:\n");
		printKeyMap((tButton *)((RemoteControl_t *)context.r)->Frontpanel);
	}

	processSimple(&context, argc, argv);

	return vCurrentCode;
}