Lines Matching refs:a

27 static char *get_cache_name(struct pci_access *a)  in get_cache_name()  argument
29 if (!a->id_cache_name) in get_cache_name()
31 char *name = pci_get_param(a, "net.cache_name"); in get_cache_name()
36 a->id_cache_name = pci_strdup(a, name); in get_cache_name()
44 a->id_cache_name = pci_malloc(a, strlen(pw->pw_dir) + strlen(name+1) + 1); in get_cache_name()
45 sprintf(a->id_cache_name, "%s%s", pw->pw_dir, name+1); in get_cache_name()
49 return a->id_cache_name; in get_cache_name()
52 static void create_parent_dirs(struct pci_access *a, char *name) in create_parent_dirs() argument
92 a->warning("Cannot create directory %s: %s", name, strerror(errno)); in create_parent_dirs()
101 pci_id_cache_load(struct pci_access *a, int flags) in pci_id_cache_load() argument
108 if (a->id_cache_status > 0) in pci_id_cache_load()
110 a->id_cache_status = 1; in pci_id_cache_load()
112 name = get_cache_name(a); in pci_id_cache_load()
115 a->debug("Using cache %s\n", name); in pci_id_cache_load()
119 a->debug("Not loading cache, will refresh everything\n"); in pci_id_cache_load()
120 a->id_cache_status = 2; in pci_id_cache_load()
127 a->debug("Cache file does not exist\n"); in pci_id_cache_load()
144 a->debug("Unrecognized cache version %s, ignoring\n", line); in pci_id_cache_load()
157 pci_id_insert(a, cat, id1, id2, id3, id4, p, SRC_CACHE); in pci_id_cache_load()
162 a->warning("Malformed cache file %s (line %d), ignoring", name, lino); in pci_id_cache_load()
167 a->warning("Error while reading %s", name); in pci_id_cache_load()
173 pci_id_cache_flush(struct pci_access *a) in pci_id_cache_flush() argument
175 int orig_status = a->id_cache_status; in pci_id_cache_flush()
182 a->id_cache_status = 0; in pci_id_cache_flush()
185 name = get_cache_name(a); in pci_id_cache_flush()
189 create_parent_dirs(a, name); in pci_id_cache_flush()
196 tmpname = pci_malloc(a, strlen(name) + strlen(hostname) + 64); in pci_id_cache_flush()
202 a->warning("Cannot write to %s: %s", name, strerror(errno)); in pci_id_cache_flush()
206 a->debug("Writing cache to %s\n", name); in pci_id_cache_flush()
210 for (e=a->id_hash[h]; e; e=e->next) in pci_id_cache_flush()
218 for (e2=a->id_hash[h]; e2 != e; e2=e2->next) in pci_id_cache_flush()
233 a->warning("Error writing %s", name); in pci_id_cache_flush()
238 a->warning("Cannot rename %s to %s: %s", tmpname, name, strerror(errno)); in pci_id_cache_flush()
246 int pci_id_cache_load(struct pci_access *a UNUSED, int flags UNUSED) in pci_id_cache_load()
248 a->id_cache_status = 1; in pci_id_cache_load()
252 void pci_id_cache_flush(struct pci_access *a) in pci_id_cache_flush() argument
254 a->id_cache_status = 0; in pci_id_cache_flush()
255 pci_mfree(a->id_cache_name); in pci_id_cache_flush()
256 a->id_cache_name = NULL; in pci_id_cache_flush()
262 pci_id_cache_dirty(struct pci_access *a) in pci_id_cache_dirty() argument
264 if (a->id_cache_status >= 1) in pci_id_cache_dirty()
265 a->id_cache_status = 2; in pci_id_cache_dirty()