1 #ifndef PSEUDO_H 2 #define PSEUDO_H 3 /* 4 * Create a squashfs filesystem. This is a highly compressed read only 5 * filesystem. 6 * 7 * Copyright (c) 2009, 2010, 2014 8 * Phillip Lougher <phillip@squashfs.org.uk> 9 * 10 * This program is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU General Public License 12 * as published by the Free Software Foundation; either version 2, 13 * or (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program; if not, write to the Free Software 22 * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 23 * 24 * pseudo.h 25 */ 26 struct pseudo_dev { 27 char type; 28 unsigned int mode; 29 unsigned int uid; 30 unsigned int gid; 31 unsigned int major; 32 unsigned int minor; 33 int pseudo_id; 34 char *command; 35 }; 36 37 struct pseudo_entry { 38 char *name; 39 char *pathname; 40 struct pseudo *pseudo; 41 struct pseudo_dev *dev; 42 }; 43 44 struct pseudo { 45 int names; 46 int count; 47 struct pseudo_entry *name; 48 }; 49 50 extern int read_pseudo_def(char *); 51 extern int read_pseudo_file(char *); 52 extern struct pseudo *pseudo_subdir(char *, struct pseudo *); 53 extern struct pseudo_entry *pseudo_readdir(struct pseudo *); 54 extern struct pseudo_dev *get_pseudo_file(int); 55 extern int pseudo_exec_file(struct pseudo_dev *, int *); 56 extern struct pseudo *get_pseudo(); 57 extern void dump_pseudos(); 58 #endif 59