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; }
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; }