diff options
author | John Baldwin <jhb@FreeBSD.org> | 2004-03-09 21:14:18 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2004-03-09 21:14:18 +0000 |
commit | ccac9da43b2914cc4b20b3f74d7752def6244ab0 (patch) | |
tree | 45a17666da361110ed6b38ab170140d6c5fc1163 /lib/libgeom/libgeom.h | |
parent | 0b3ffb77f173f46d351911e5445ec6c954e206e6 (diff) |
Make libgeom usable by C++ programs:
- Add DECL wrappers to libgeom.h.
- Rename structure members in libgeom.h to use a lg_ prefix for member
names. This is required because a few structures had members named
'class' which made g++ very unhappy.
- Catch gstat(8) and gconcat(8) up to these API changes.
Reviewed by: phk
Notes
Notes:
svn path=/head/; revision=126786
Diffstat (limited to 'lib/libgeom/libgeom.h')
-rw-r--r-- | lib/libgeom/libgeom.h | 80 |
1 files changed, 43 insertions, 37 deletions
diff --git a/lib/libgeom/libgeom.h b/lib/libgeom/libgeom.h index 581d47714ec3..2cdb037b1f25 100644 --- a/lib/libgeom/libgeom.h +++ b/lib/libgeom/libgeom.h @@ -31,11 +31,15 @@ #ifndef _LIBGEOM_H_ #define _LIBGEOM_H_ +#include <sys/cdefs.h> + #include <sys/queue.h> #include <sys/time.h> #include <geom/geom_ctl.h> +__BEGIN_DECLS + void geom_stats_close(void); void geom_stats_resync(void); int geom_stats_open(void); @@ -62,64 +66,64 @@ struct gprovider; LIST_HEAD(gconf, gconfig); struct gident { - void *id; - void *ptr; + void *lg_id; + void *lg_ptr; enum { ISCLASS, ISGEOM, ISPROVIDER, - ISCONSUMER } what; + ISCONSUMER } lg_what; }; struct gmesh { - LIST_HEAD(, gclass) class; - struct gident *ident; + LIST_HEAD(, gclass) lg_class; + struct gident *lg_ident; }; struct gconfig { - LIST_ENTRY(gconfig) config; - char *name; - char *val; + LIST_ENTRY(gconfig) lg_config; + char *lg_name; + char *lg_val; }; struct gclass { - void *id; - char *name; - LIST_ENTRY(gclass) class; - LIST_HEAD(, ggeom) geom; - struct gconf config; + void *lg_id; + char *lg_name; + LIST_ENTRY(gclass) lg_class; + LIST_HEAD(, ggeom) lg_geom; + struct gconf lg_config; }; struct ggeom { - void *id; - struct gclass *class; - char *name; - u_int rank; - LIST_ENTRY(ggeom) geom; - LIST_HEAD(, gconsumer) consumer; - LIST_HEAD(, gprovider) provider; - struct gconf config; + void *lg_id; + struct gclass *lg_class; + char *lg_name; + u_int lg_rank; + LIST_ENTRY(ggeom) lg_geom; + LIST_HEAD(, gconsumer) lg_consumer; + LIST_HEAD(, gprovider) lg_provider; + struct gconf lg_config; }; struct gconsumer { - void *id; - struct ggeom *geom; - LIST_ENTRY(gconsumer) consumer; - struct gprovider *provider; - LIST_ENTRY(gconsumer) consumers; - char *mode; - struct gconf config; + void *lg_id; + struct ggeom *lg_geom; + LIST_ENTRY(gconsumer) lg_consumer; + struct gprovider *lg_provider; + LIST_ENTRY(gconsumer) lg_consumers; + char *lg_mode; + struct gconf lg_config; }; struct gprovider { - void *id; - char *name; - struct ggeom *geom; - LIST_ENTRY(gprovider) provider; - LIST_HEAD(, gconsumer) consumers; - char *mode; - off_t mediasize; - u_int sectorsize; - struct gconf config; + void *lg_id; + char *lg_name; + struct ggeom *lg_geom; + LIST_ENTRY(gprovider) lg_provider; + LIST_HEAD(, gconsumer) lg_consumers; + char *lg_mode; + off_t lg_mediasize; + u_int lg_sectorsize; + struct gconf lg_config; }; struct gident * geom_lookupid(struct gmesh *gmp, const void *id); @@ -140,4 +144,6 @@ const char *gctl_issue(struct gctl_req *req); void gctl_ro_param(struct gctl_req *req, const char *name, int len, const void* val); void gctl_rw_param(struct gctl_req *req, const char *name, int len, void* val); +__END_DECLS + #endif /* _LIBGEOM_H_ */ |