Esempio n. 1
0
int main()
{
	int fd = -1;
	struct sockaddr_un sock_addr;
	socklen_t 	sock_len;

	fd = sock_init(&sock_addr, &sock_len);
	if(fd < 0)
	{
		LOGERROR("init logd un socket failed!");	
		return -1;
	}

	g_run = 1;
/*
	while(g_run)
	{
		sleep(2);
		char rcv_buf[200] = "";
		printf("rcv: %s\n", rcv_buf);
		ret = read(fd, rcv_buf, sizeof(rcv_buf) - 1);
		printf("rcv: num:%d %s\n", ret, rcv_buf);
	}
*/
	/* main processor */
	log_listener(fd);	

	un_sock_close(fd);
	return 0;
}
Esempio n. 2
0
int
main(int argc, char **argv)
{
    fd_set master_set;
    int ret, i, local;
    unsigned char file[MAX_PATH];
    char ch;
    char *end_ptr;
    unsigned int timeout;
    memset(file, 0, MAX_PATH);

    if (argc < 2) {
        printf("Usage:\n"
               " %s <EE elf> arg1 .. argN\n\n", argv[0]);
        return 0;
    }

    while((ch = getopt(argc, argv, "h:t:")) != -1 ) {
        switch((char)ch) {
        case 'h':
            strncpy(dst_ip, optarg, 16);
            break;
        case 't':
            timeout = (unsigned int)strtol(optarg, &end_ptr, 0);
            if ( optarg == end_ptr ) {
                printf("no valid number for timeout\n");
                return 0;
            }
            break;
        default:
            /* usage(); */
            break;
        }
    }

    // check if pksh is running, if so use it
    if ( (ps2link_open(&cmd_fd, local_ip)) < 0 ) {
        // do we have an alternative ip ?
        close(cmd_fd);
        if ( ps2link_open(&cmd_fd, dst_ip) < 0 ) {
            printf("Unable to connect to ps2link server\n");
            return -1;
        }
        printf("Connected to %s ps2link server\n", dst_ip);
        local = 0;
    } else {
        local = 1;
        printf("Connected to local ps2link server ( pksh )\n");
    }

    // if we have device its most likely an absolute path
    if ( !arg_device_check(argv[optind]) ) {
#ifndef __WIN32__
        strcpy(file, getcwd(NULL, 0));
#else
        strcpy(file, _getcwd(NULL, 0));
#endif
        strcat(file, "/");
        strcat(file, argv[optind]);
    } else {
        strcpy(file, argv[optind]);
    }
    optind++;

    // prepend arguments
    for (i = optind; i < argc; i++ ) {
        strcat(file, " ");
        strcat(file, argv[i]);
    }

    // if not local service file io
    if ( !local ) {
        close(cmd_fd);
        pko_cmd_con(dst_ip, CMD_PORT);
        ret = pko_execee_req(cmd_fd, file, strlen(file), argc-optind);
        if (ret < 0) {
            printf("Sending execee request failed\n");
        }
        pko_srv_fd = cmd_listener(dst_ip, SRV_PORT, 60);
        log_fd = log_listener(local_ip, LOG_PORT);
        FD_SET(pko_srv_fd, &master_set);
        FD_SET(log_fd, &master_set);
        ret = batch_io_loop(&master_set, log_fd, 1, 0);
    } else {
        ret = pko_execee_req(cmd_fd, file, strlen(file), 1);
        if (ret < 0) {
            printf("Sending execee request failed\n");
        }
    }
    return 0;
}