static void script_record_open(int fd) { dev_t fd_dev; const char *logname, *recording_path; const void* data; enum script_record_format fmt; if (!script_dev_logfile_map_inited) init_script_dev_logfile_map(); /* check if the opened device is one we want to record */ fd_dev = dev_of_fd(fd); if (!fd_map_get(&script_dev_logfile_map, fd_dev, (const void **)&logname)) { DBG(DBG_SCRIPT, "script_record_open: fd %i on device %i:%i is not recorded\n", fd, major(fd_dev), minor(fd_dev)); return; } assert (fd_map_get(&script_dev_devpath_map, fd_dev, (const void **)&recording_path)); assert (fd_map_get(&script_dev_format_map, fd_dev, &data)); fmt = (enum script_record_format) data; DBG(DBG_SCRIPT, "script_record_open: start recording fd %i on device %i:%i into %s (format %i)\n", fd, major(fd_dev), minor(fd_dev), logname, fmt); script_start_record(fd, logname, recording_path, fmt); }
static void script_record_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen, int res) { const char *path = getenv("UMOCKDEV_DIR"); size_t i; if (addr->sa_family == AF_UNIX && res == 0 && path == NULL) { const char *sock_path = ((struct sockaddr_un *) addr)->sun_path; /* find out where we log it to */ if (!script_dev_logfile_map_inited) init_script_dev_logfile_map(); for (i = 0; i < script_socket_logfile_len; ++i) { if (strcmp(script_socket_logfile[2*i], sock_path) == 0) { DBG(DBG_SCRIPT, "script_record_connect: starting recording of unix socket %s on fd %i\n", sock_path, sockfd); script_start_record(sockfd, script_socket_logfile[2*i+1], NULL, FMT_DEFAULT); } } } }
static void script_record_open(int fd) { dev_t fd_dev; const char *logname; if (!script_dev_logfile_map_inited) init_script_dev_logfile_map(); /* check if the opened device is one we want to record */ fd_dev = dev_of_fd(fd); if (!fd_map_get(&script_dev_logfile_map, fd_dev, (const void **)&logname)) { DBG("script_record_open: fd %i on device %i:%i is not recorded\n", fd, major(fd_dev), minor(fd_dev)); return; } DBG("script_record_open: start recording fd %i on device %i:%i into %s\n", fd, major(fd_dev), minor(fd_dev), logname); script_start_record(fd, logname); }