summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-03-27 14:35:00 +0000
committerphk <phk@FreeBSD.org>2003-03-27 14:35:00 +0000
commit2d56ed957aaef6ee5d66bcc7c86d7832b4658de5 (patch)
tree84b36ca01e05be70dbdac8a6aee81afa4b8f1eaf /sys/geom/geom.h
parent5447a01760d39222ce6958c12e893d7f8188883c (diff)
downloadFreeBSD-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.h9
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);
OpenPOWER on IntegriCloud