int *fd = (int *)data;
int ret;
- int clilen = sizeof(clientaddr);
if (device_get_status(&display_device_ops) != DEVICE_OPS_STATUS_START) {
_E("display is not started!");
if (g_pm_callback == NULL) {
return EINA_FALSE;
}
- if (fd == sockfd) {
- ret =
- recvfrom(fd, &recv_data, sizeof(recv_data), 0,
- (struct sockaddr *)&clientaddr,
- (socklen_t *)&clilen);
- (*g_pm_callback) (PM_CONTROL_EVENT, &recv_data);
- } else {
- ret = read(fd, buf, sizeof(buf));
- CHECK_KEY_FILTER(ret, buf);
- (*g_pm_callback) (INPUT_POLL_EVENT, NULL);
- }
-
- return EINA_TRUE;
-}
-
-static int init_sock(char *sock_path)
-{
- struct sockaddr_un serveraddr;
- int fd;
-
- _I("initialize pm_socket for pm_control library");
- if (sock_path == NULL || strcmp(sock_path, SOCK_PATH)) {
- _E("invalid sock_path= %s");
- return -1;
- }
+ ret = read(fd, buf, sizeof(buf));
+ CHECK_KEY_FILTER(ret, buf);
+ (*g_pm_callback) (INPUT_POLL_EVENT, NULL);
- fd = socket(AF_UNIX, SOCK_DGRAM, 0);
- if (fd < 0) {
- _E("socket error");
- return -1;
- }
-
- unlink(sock_path);
-
- bzero(&serveraddr, sizeof(serveraddr));
- serveraddr.sun_family = AF_UNIX;
- strncpy(serveraddr.sun_path, sock_path, sizeof(serveraddr.sun_path) - 1);
-
- if (bind(fd, (struct sockaddr *)&serveraddr, sizeof(serveraddr)) < 0) {
- _E("bind error");
- close(fd);
- return -1;
- }
-
- if (chmod(sock_path, (S_IRWXU | S_IRWXG | S_IRWXO)) < 0) /* 0777 */
- _E("failed to change the socket permission");
-
- if (!strcmp(sock_path, SOCK_PATH))
- sockfd = fd;
-
- _I("init sock() sueccess!");
- return fd;
+ return EINA_TRUE;
}
int init_pm_poll(int (*pm_callback) (int, PMMsg *))
g_pm_callback = pm_callback;
- _I
- ("initialize pm poll - input devices and domain socket(deviced)");
+ _I("initialize pm poll - input devices(deviced)");
pm_input_env = getenv("PM_INPUT");
if ((pm_input_env != NULL) && (strlen(pm_input_env) < 1024)) {
_I("Getting input device path from environment: %s",
pm_input_env);
/* Add 2 bytes for following strncat() */
- dev_paths_size = strlen(pm_input_env) + strlen(SOCK_PATH) + strlen(DEV_PATH_DLM) + 1;
+ dev_paths_size = strlen(pm_input_env) + 1;
dev_paths = (char *)malloc(dev_paths_size);
if (!dev_paths)
return -1;
snprintf(dev_paths, dev_paths_size, "%s", pm_input_env);
} else {
/* Add 2 bytes for following strncat() */
- dev_paths_size = strlen(DEFAULT_DEV_PATH) + strlen(SOCK_PATH) + strlen(DEV_PATH_DLM) + 1;
+ dev_paths_size = strlen(DEFAULT_DEV_PATH) + 1;
dev_paths = (char *)malloc(dev_paths_size);
if (!dev_paths)
return -1;
/* add the UNIX domain socket file path */
strncat(dev_paths, DEV_PATH_DLM, strlen(DEV_PATH_DLM));
- strncat(dev_paths, SOCK_PATH, strlen(SOCK_PATH));
dev_paths[dev_paths_size - 1] = '\0';
path_tok = strtok_r(dev_paths, DEV_PATH_DLM, &save_ptr);
char *path, *new_path;
int len;
- if (strcmp(path_tok, SOCK_PATH) == 0) {
- fd = init_sock(SOCK_PATH);
- path = SOCK_PATH;
- _I("pm_poll domain socket file: %s, fd: %d",
- path_tok, fd);
- } else {
- fd = open(path_tok, O_RDONLY);
- path = path_tok;
- _I("pm_poll input device file: %s, fd: %d",
- path_tok, fd);
- }
+ fd = open(path_tok, O_RDONLY);
+ path = path_tok;
+ _I("pm_poll input device file: %s, fd: %d", path_tok, fd);
if (fd == -1) {
_E("Cannot open the file: %s", path_tok);
indev_list = eina_list_remove_list(indev_list, l);
}
- close(sockfd);
- unlink(SOCK_PATH);
_I("pm_poll is finished");
return 0;
}
#define DISPLAY_MIN_BRIGHTNESS 1
#define DISPLAY_DIM_BRIGHTNESS 0
-#define SOCK_PATH "/tmp/pm_sock"
-#define SHIFT_UNLOCK 4
-#define SHIFT_UNLOCK_PARAMETER 12
-#define SHIFT_CHANGE_STATE 8
-#define TIMEOUT_RESET_BIT 0x80
+#define HOLDKEY_BLOCK_BIT 0x1
+#define STANDBY_MODE_BIT 0x2
#define METHOD_SET_FRAME_RATE "setframerate"
#define METHOD_LOCK_STATE "lockstate"
#define STR_RESET_TIMER "resettimer"
#define STR_KEEP_TIMER "keeptimer"
-
-struct disp_lock_msg {
- pid_t pid;
- unsigned int cond;
- unsigned int timeout;
- unsigned int timeout2;
-};
-
API int display_get_count(void)
{
int val;
return ret_val;
}
-static int send_msg(unsigned int s_bits, unsigned int timeout, unsigned int timeout2)
-{
- int rc = 0;
- int sock;
- struct disp_lock_msg p;
- struct sockaddr_un remote;
-
- p.pid = getpid();
- p.cond = s_bits;
- p.timeout = timeout;
- p.timeout2 = timeout2;
-
- sock = socket(AF_UNIX, SOCK_DGRAM, 0);
- if (sock == -1) {
- _E("pm socket() failed: %s", strerror(errno));
- return sock;
- }
-
- remote.sun_family = AF_UNIX;
- if(strlen(SOCK_PATH) >= sizeof(remote.sun_path)) {
- _E("socket path is vey long");
- close(sock);
- return -ENAMETOOLONG;
- }
- strncpy(remote.sun_path, SOCK_PATH, sizeof(remote.sun_path));
-
- rc = sendto(sock, (void *)&p, sizeof(p), 0, (struct sockaddr *)&remote,
- sizeof(struct sockaddr_un));
- if (rc == -1)
- _E("pm socket sendto() failed: %s", strerror(errno));
-
- close(sock);
- return (rc > 0 ? 0 : rc);
-}
-
static inline char *get_lcd_str(unsigned int val)
{
switch (val) {