]> glassweightruler.freedombox.rocks Git - Ventoy.git/blob - SQUASHFS/squashfs-tools-4.4/squashfs-tools/pseudo.h
1.1.07 release
[Ventoy.git] / SQUASHFS / squashfs-tools-4.4 / squashfs-tools / pseudo.h
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 union {
35 char *command;
36 char *symlink;
37 };
38 };
39
40 struct pseudo_entry {
41 char *name;
42 char *pathname;
43 struct pseudo *pseudo;
44 struct pseudo_dev *dev;
45 };
46
47 struct pseudo {
48 int names;
49 int count;
50 struct pseudo_entry *name;
51 };
52
53 extern int read_pseudo_def(char *);
54 extern int read_pseudo_file(char *);
55 extern struct pseudo *pseudo_subdir(char *, struct pseudo *);
56 extern struct pseudo_entry *pseudo_readdir(struct pseudo *);
57 extern struct pseudo_dev *get_pseudo_file(int);
58 extern int pseudo_exec_file(struct pseudo_dev *, int *);
59 extern struct pseudo *get_pseudo();
60 extern void dump_pseudos();
61 #endif