1 /* 2 * Copyright (C) 2014 John Crispin <blogic@openwrt.org> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License version 2.1 6 * as published by the Free Software Foundation 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU General Public License for more details. 12 */ 13 14 #include <sys/mount.h> 15 #include <stdio.h> 16 #include <stdlib.h> 17 18 #include "libfstools.h" 19 #include "volume.h" 20 21 static LIST_HEAD(drivers); 22 23 void 24 volume_register_driver(struct driver *d) 25 { 26 struct driver *cur, *tmp; 27 28 list_for_each_entry_safe(cur, tmp, &drivers, list) { 29 if (d->priority <= cur->priority) 30 continue; 31 32 _list_add(&d->list, cur->list.prev, &cur->list); 33 return; 34 } 35 list_add_tail(&d->list, &drivers); 36 } 37 38 struct volume* volume_find(char *name) 39 { 40 struct volume *v; 41 struct driver *d; 42 43 list_for_each_entry(d, &drivers, list) { 44 if (d->find) { 45 v = d->find(name); 46 if (v) 47 return v; 48 } 49 } 50 51 return NULL; 52 } 53
This page was automatically generated by LXR 0.3.1. • OpenWrt