Home | History | Annotate | Download | only in squashfs-tools
      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 (at) 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