Lines Matching defs:map
41 * The maximum sizes of map names, key names, composite names, and status
61 * map/context "map", and a set of default mount options, return (in
68 * getmapent_fn(char *key, char *map, char *opts, uid_t uid,
76 * representing an indirect mount point. The map and key strings are
78 * "FNPREFIX/cname" == "map/key".
81 process_ref(const FN_ref_t *ref, const char *cname, char *map, char *key,
88 * map: map name for ref
89 * maplen: strlen(map)
90 * mntpnt: suffix of map where the current mount request begins
98 frontier(mapent *mapents, const FN_ref_t *ref, char *map, size_t maplen,
102 * Called by frontier(), once for each "name" that it finds. map is
104 * "map/name". If ref is found to be along the frontier, add the
110 frontier_aux(mapent *mapents, const FN_ref_t *ref, char *map, size_t maplen,
139 * Given a map name and its current length, append "/name". Return
143 append_mapname(char *map, size_t maplen, const char *name);
209 getmapent_fn(char *key, char *map, char *opts, uid_t uid, bool_t shallow,
230 * For direct mounts, the key is the entire path, and the map
232 * apart the map name and key. The "root" of the mapent is
235 strcpy(mapname, map);
243 map = mapname;
244 maplen = strlen(map);
248 syslog(LOG_ERR, "name %s/%s too long", map, key);
255 sprintf(cname, "%s/%s", map + FNPREFIXLEN + 1, key);
300 process_ref(ref, cname, map, key, opts, root, shallow, status);
309 process_ref(const FN_ref_t *ref, const char *cname, char *map, char *key,
343 mapents = parse_entry(key, map, opts, &ml, NULL, 0,
406 /* "map" => "map/key" */
407 if ((maplen = append_mapname(map, strlen(map), key)) == 0) {
410 return (frontier(mapents, ref, map, maplen, map + maplen,
419 strdup(""), concat(map, '/', key)));
433 frontier(mapent *mapents, const FN_ref_t *ref, char *map, size_t maplen,
446 logstat(status, "from_ref failed for", map);
454 logstat(status, "list_bindings failed for", map);
464 "FNS string error listing %s", map);
469 mapents = frontier_aux(mapents, child_ref, map, maplen,
480 logstat(status, "error while listing", map);
498 frontier_aux(mapent *mapents, const FN_ref_t *ref, char *map, size_t maplen,
505 char *cname = map + FNPREFIXLEN + 1; /* for error msgs */
516 /* "map" => "map/name" */
517 if ((maplen = append_mapname(map, maplen, name)) == 0) {
555 strdup(""), strdup(map));
566 frontier(mapents, ref, map, maplen, mntpnt, opts, status);
568 map[maplen_save] = '\0'; /* "map/name" => "map" */
650 append_mapname(char *map, size_t maplen, const char *name)
657 map + FNPREFIXLEN + 1, name);
661 sprintf(map + maplen, "/%s", name);