• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/src/router/squashfs-4.2/

Lines Matching refs:pseudo

22  * pseudo.c
36 #include "pseudo.h"
69 static void dump_pseudo(struct pseudo *pseudo, char *string)
74 for(i = 0; i < pseudo->names; i++) {
75 struct pseudo_entry *entry = &pseudo->name[i];
80 if(entry->pseudo == NULL)
86 dump_pseudo(entry->pseudo, path);
106 * Add pseudo device target to the set of pseudo devices. Pseudo_dev
107 * describes the pseudo device attributes.
109 struct pseudo *add_pseudo(struct pseudo *pseudo, struct pseudo_dev *pseudo_dev,
117 if(pseudo == NULL) {
118 if((pseudo = malloc(sizeof(struct pseudo))) == NULL)
119 BAD_ERROR("failed to allocate pseudo file\n");
121 pseudo->names = 0;
122 pseudo->count = 0;
123 pseudo->name = NULL;
126 for(i = 0; i < pseudo->names; i++)
127 if(strcmp(pseudo->name[i].name, targname) == 0)
130 if(i == pseudo->names) {
132 pseudo->names ++;
133 pseudo->name = realloc(pseudo->name, (i + 1) *
135 if(pseudo->name == NULL)
136 BAD_ERROR("failed to allocate pseudo file\n");
137 pseudo->name[i].name = strdup(targname);
141 pseudo->name[i].pseudo = NULL;
142 pseudo->name[i].pathname = strdup(alltarget);
143 pseudo->name[i].dev = pseudo_dev;
146 pseudo->name[i].dev = NULL;
147 pseudo->name[i].pseudo = add_pseudo(NULL, pseudo_dev,
152 if(pseudo->name[i].pseudo == NULL) {
154 * component of a pre-existing pseudo file.
157 /* entry must exist as a 'd' type pseudo file */
158 if(pseudo->name[i].dev->type == 'd')
160 pseudo->name[i].pseudo =
167 } else if(memcmp(pseudo_dev, pseudo->name[i].dev,
169 ERROR("%s already exists as a different pseudo "
172 "pseudo definition!\n", alltarget);
175 * 'd' type pseudo file */
177 if(pseudo->name[i].dev == NULL &&
179 pseudo->name[i].pathname =
181 pseudo->name[i].dev = pseudo_dev;
188 add_pseudo(pseudo->name[i].pseudo, pseudo_dev,
193 return pseudo;
198 * Find subdirectory in pseudo directory referenced by pseudo, matching
202 struct pseudo *pseudo_subdir(char *filename, struct pseudo *pseudo)
206 if(pseudo == NULL)
209 for(i = 0; i < pseudo->names; i++)
210 if(strcmp(filename, pseudo->name[i].name) == 0)
211 return pseudo->name[i].pseudo;
217 struct pseudo_entry *pseudo_readdir(struct pseudo *pseudo)
219 if(pseudo == NULL)
222 while(pseudo->count < pseudo->names) {
223 if(pseudo->name[pseudo->count].dev != NULL)
224 return &pseudo->name[pseudo->count++];
226 pseudo->count++;
330 int read_pseudo_def(struct pseudo **pseudo, char *def)
342 ERROR("Not enough or invalid arguments in pseudo file "
353 ERROR("Not enough or invalid arguments in pseudo file "
370 ERROR("Not enough arguments in pseudo file "
450 printf("Executing dynamic pseudo file\n");
454 ERROR("Failed to execute dynamic pseudo file definition"
461 *pseudo = add_pseudo(*pseudo, dev, filename, filename);
466 ERROR("Bad pseudo file definition \"%s\"\n", def);
474 int read_pseudo_file(struct pseudo **pseudo, char *filename)
483 ERROR("Could not open pseudo device file \"%s\" because %s\n",
515 res = read_pseudo_def(pseudo, line);