aboutsummaryrefslogtreecommitdiff
path: root/lib/libgeom/libgeom.h
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2004-03-09 21:14:18 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2004-03-09 21:14:18 +0000
commitccac9da43b2914cc4b20b3f74d7752def6244ab0 (patch)
tree45a17666da361110ed6b38ab170140d6c5fc1163 /lib/libgeom/libgeom.h
parent0b3ffb77f173f46d351911e5445ec6c954e206e6 (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.h80
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_ */