-
- if(!fuser_find_socket_dev(&tmp_dev)) tmp_dev = 0;
- sprintf(path, "%s/net/%s", FUSER_PROC_DIR, proto);
-
- if (!(f = fopen(path, "r"))) return 0;
- while(fgets(line, FUSER_MAX_LINE, f)) {
- if(sscanf(line,
- "%*d: %64[0-9A-Fa-f]:%x %*x:%*x %*x %*x:%*x "
- "%*x:%*x %*x %*d %*d %llu",
- addr, &tmp_port, &uint64_inode) == 3) {
- if((strlen(addr) == 8) &&
- (opts & FUSER_OPT_IP6)) continue;
- else if((strlen(addr) > 8) &&
- (opts & FUSER_OPT_IP4)) continue;
- if(tmp_port == port) {
- tmp_inode = uint64_inode;
- fuser_add_inode(ilist, tmp_dev, tmp_inode);
- }
- }
-
- }
- fclose(f);
- return 1;
-}
-
-static int fuser_search_dev_inode(int opts, inode_list *ilist,
- dev_t dev, ino_t inode)
-{
- inode_list *curr;
- curr = ilist;
-
- while(curr) {
- if((opts & FUSER_OPT_MOUNT) && curr->dev == dev)
- return 1;
- if(curr->inode == inode && curr->dev == dev)
- return 1;
- curr = curr->next;
- }
- return 0;
-}
-
-static int fuser_scan_pid_maps(int opts, const char *fname, pid_t pid,
- inode_list *ilist, pid_list *plist)
-{
- FILE *file;
- char line[FUSER_MAX_LINE + 1];
- int major, minor;
- ino_t inode;