Deleted Added
full compact
geom.h (332095) geom.h (347378)
1/*-
2 * Copyright (c) 2002 Poul-Henning Kamp
3 * Copyright (c) 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp
7 * and NAI Labs, the Security Research Division of Network Associates, Inc.
8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the

--- 18 unchanged lines hidden (view full) ---

27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
1/*-
2 * Copyright (c) 2002 Poul-Henning Kamp
3 * Copyright (c) 2002 Networks Associates Technology, Inc.
4 * All rights reserved.
5 *
6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp
7 * and NAI Labs, the Security Research Division of Network Associates, Inc.
8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the

--- 18 unchanged lines hidden (view full) ---

27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 * SUCH DAMAGE.
34 *
35 * $FreeBSD: stable/11/sys/geom/geom.h 332095 2018-04-06 12:13:32Z avg $
35 * $FreeBSD: stable/11/sys/geom/geom.h 347378 2019-05-09 03:51:34Z kevans $
36 */
37
38#ifndef _GEOM_GEOM_H_
39#define _GEOM_GEOM_H_
40
41#include <sys/lock.h>
42#include <sys/mutex.h>
43#include <sys/sx.h>

--- 351 unchanged lines hidden (view full) ---

395
396#define g_topology_sleep(chan, timo) \
397 sx_sleep(chan, &topology_lock, 0, "gtopol", timo)
398
399#define DECLARE_GEOM_CLASS(class, name) \
400 static moduledata_t name##_mod = { \
401 #name, g_modevent, &class \
402 }; \
36 */
37
38#ifndef _GEOM_GEOM_H_
39#define _GEOM_GEOM_H_
40
41#include <sys/lock.h>
42#include <sys/mutex.h>
43#include <sys/sx.h>

--- 351 unchanged lines hidden (view full) ---

395
396#define g_topology_sleep(chan, timo) \
397 sx_sleep(chan, &topology_lock, 0, "gtopol", timo)
398
399#define DECLARE_GEOM_CLASS(class, name) \
400 static moduledata_t name##_mod = { \
401 #name, g_modevent, &class \
402 }; \
403 DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_FIRST);
403 DECLARE_MODULE(name, name##_mod, SI_SUB_DRIVERS, SI_ORDER_SECOND);
404
405int g_is_geom_thread(struct thread *td);
406
407#endif /* _KERNEL */
408
409/* geom_ctl.c */
410int gctl_set_param(struct gctl_req *req, const char *param, void const *ptr, int len);
411void gctl_set_param_err(struct gctl_req *req, const char *param, void const *ptr, int len);
412void *gctl_get_param(struct gctl_req *req, const char *param, int *len);
413char const *gctl_get_asciiparam(struct gctl_req *req, const char *param);
414void *gctl_get_paraml(struct gctl_req *req, const char *param, int len);
415int gctl_error(struct gctl_req *req, const char *fmt, ...) __printflike(2, 3);
416struct g_class *gctl_get_class(struct gctl_req *req, char const *arg);
417struct g_geom *gctl_get_geom(struct gctl_req *req, struct g_class *mpr, char const *arg);
418struct g_provider *gctl_get_provider(struct gctl_req *req, char const *arg);
419
420#endif /* _GEOM_GEOM_H_ */
404
405int g_is_geom_thread(struct thread *td);
406
407#endif /* _KERNEL */
408
409/* geom_ctl.c */
410int gctl_set_param(struct gctl_req *req, const char *param, void const *ptr, int len);
411void gctl_set_param_err(struct gctl_req *req, const char *param, void const *ptr, int len);
412void *gctl_get_param(struct gctl_req *req, const char *param, int *len);
413char const *gctl_get_asciiparam(struct gctl_req *req, const char *param);
414void *gctl_get_paraml(struct gctl_req *req, const char *param, int len);
415int gctl_error(struct gctl_req *req, const char *fmt, ...) __printflike(2, 3);
416struct g_class *gctl_get_class(struct gctl_req *req, char const *arg);
417struct g_geom *gctl_get_geom(struct gctl_req *req, struct g_class *mpr, char const *arg);
418struct g_provider *gctl_get_provider(struct gctl_req *req, char const *arg);
419
420#endif /* _GEOM_GEOM_H_ */