diff options
author | phk <phk@FreeBSD.org> | 2003-03-27 14:35:00 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-03-27 14:35:00 +0000 |
commit | 2d56ed957aaef6ee5d66bcc7c86d7832b4658de5 (patch) | |
tree | 84b36ca01e05be70dbdac8a6aee81afa4b8f1eaf /sys/geom/geom.h | |
parent | 5447a01760d39222ce6958c12e893d7f8188883c (diff) | |
download | FreeBSD-src-2d56ed957aaef6ee5d66bcc7c86d7832b4658de5.zip FreeBSD-src-2d56ed957aaef6ee5d66bcc7c86d7832b4658de5.tar.gz |
Run a revision on the OAM api.
Use prefix gctl_ systematically.
Add flag with access perms for each argument.
Add ro/rw versions of argument building functions.
General cleanup.
Diffstat (limited to 'sys/geom/geom.h')
-rw-r--r-- | sys/geom/geom.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h index f07485a..811fb8c 100644 --- a/sys/geom/geom.h +++ b/sys/geom/geom.h @@ -62,9 +62,12 @@ struct g_stat; struct thread; struct bio; struct sbuf; +struct gctl_req; struct g_configargs; typedef int g_config_t (struct g_configargs *ca); +typedef int g_ctl_create_geom_t (struct gctl_req *, struct g_class *cp, struct g_provider *pp); +typedef int g_ctl_destroy_geom_t (struct gctl_req *, struct g_class *cp, struct g_geom *gp); typedef struct g_geom * g_taste_t (struct g_class *, struct g_provider *, int flags); #define G_TF_NORMAL 0 @@ -90,6 +93,8 @@ struct g_class { const char *name; g_taste_t *taste; g_config_t *config; + g_ctl_create_geom_t *create_geom; + g_ctl_destroy_geom_t *destroy_geom; /* * The remaning elements are private and classes should use * the G_CLASS_INITIALIZER macro to initialize them. @@ -426,6 +431,10 @@ struct gcfg_magicrw { */ +/* geom_ctl.c */ +void *gctl_get_param(struct gctl_req *req, const char *param, int *len); +int gctl_error(struct gctl_req *req, const char *errtxt); + /* geom_enc.c */ uint16_t g_dec_be2(const u_char *p); uint32_t g_dec_be4(const u_char *p); |