diff options
| -rw-r--r-- | usr/src/lib/libscf/common/lowlevel.c | 41 | ||||
| -rw-r--r-- | usr/src/lib/libscf/inc/libscf.h | 18 |
2 files changed, 45 insertions, 14 deletions
diff --git a/usr/src/lib/libscf/common/lowlevel.c b/usr/src/lib/libscf/common/lowlevel.c index 2c6a3d3c84..a348f50db0 100644 --- a/usr/src/lib/libscf/common/lowlevel.c +++ b/usr/src/lib/libscf/common/lowlevel.c @@ -22,6 +22,7 @@ /* * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2013, Joyent, Inc. All rights reserved. + * Copyright 2016 RackTop Systems. */ /* @@ -292,22 +293,34 @@ static const struct { rep_protocol_value_type_t ti_proto_type; const char *ti_name; } scf_type_info[] = { - {SCF_TYPE_BOOLEAN, REP_PROTOCOL_TYPE_BOOLEAN, "boolean"}, - {SCF_TYPE_COUNT, REP_PROTOCOL_TYPE_COUNT, "count"}, - {SCF_TYPE_INTEGER, REP_PROTOCOL_TYPE_INTEGER, "integer"}, - {SCF_TYPE_TIME, REP_PROTOCOL_TYPE_TIME, "time"}, - {SCF_TYPE_ASTRING, REP_PROTOCOL_TYPE_STRING, "astring"}, - {SCF_TYPE_OPAQUE, REP_PROTOCOL_TYPE_OPAQUE, "opaque"}, - {SCF_TYPE_USTRING, REP_PROTOCOL_SUBTYPE_USTRING, "ustring"}, - {SCF_TYPE_URI, REP_PROTOCOL_SUBTYPE_URI, "uri"}, - {SCF_TYPE_FMRI, REP_PROTOCOL_SUBTYPE_FMRI, "fmri"}, - {SCF_TYPE_HOST, REP_PROTOCOL_SUBTYPE_HOST, "host"}, - {SCF_TYPE_HOSTNAME, REP_PROTOCOL_SUBTYPE_HOSTNAME, "hostname"}, - {SCF_TYPE_NET_ADDR, REP_PROTOCOL_SUBTYPE_NETADDR, "net_address"}, + {SCF_TYPE_BOOLEAN, REP_PROTOCOL_TYPE_BOOLEAN, + SCF_TYPE_STRING_BOOLEAN}, + {SCF_TYPE_COUNT, REP_PROTOCOL_TYPE_COUNT, + SCF_TYPE_STRING_COUNT}, + {SCF_TYPE_INTEGER, REP_PROTOCOL_TYPE_INTEGER, + SCF_TYPE_STRING_INTEGER}, + {SCF_TYPE_TIME, REP_PROTOCOL_TYPE_TIME, + SCF_TYPE_STRING_TIME}, + {SCF_TYPE_ASTRING, REP_PROTOCOL_TYPE_STRING, + SCF_TYPE_STRING_ASTRING}, + {SCF_TYPE_OPAQUE, REP_PROTOCOL_TYPE_OPAQUE, + SCF_TYPE_STRING_OPAQUE}, + {SCF_TYPE_USTRING, REP_PROTOCOL_SUBTYPE_USTRING, + SCF_TYPE_STRING_USTRING}, + {SCF_TYPE_URI, REP_PROTOCOL_SUBTYPE_URI, + SCF_TYPE_STRING_URI}, + {SCF_TYPE_FMRI, REP_PROTOCOL_SUBTYPE_FMRI, + SCF_TYPE_STRING_FMRI}, + {SCF_TYPE_HOST, REP_PROTOCOL_SUBTYPE_HOST, + SCF_TYPE_STRING_HOST}, + {SCF_TYPE_HOSTNAME, REP_PROTOCOL_SUBTYPE_HOSTNAME, + SCF_TYPE_STRING_HOSTNAME}, + {SCF_TYPE_NET_ADDR, REP_PROTOCOL_SUBTYPE_NETADDR, + SCF_TYPE_STRING_NET_ADDR}, {SCF_TYPE_NET_ADDR_V4, REP_PROTOCOL_SUBTYPE_NETADDR_V4, - "net_address_v4"}, + SCF_TYPE_STRING_NET_ADDR_V4}, {SCF_TYPE_NET_ADDR_V6, REP_PROTOCOL_SUBTYPE_NETADDR_V6, - "net_address_v6"} + SCF_TYPE_STRING_NET_ADDR_V6} }; #define SCF_TYPE_INFO_COUNT (sizeof (scf_type_info) / sizeof (*scf_type_info)) diff --git a/usr/src/lib/libscf/inc/libscf.h b/usr/src/lib/libscf/inc/libscf.h index 76ae1598a6..c72c1b479c 100644 --- a/usr/src/lib/libscf/inc/libscf.h +++ b/usr/src/lib/libscf/inc/libscf.h @@ -94,6 +94,24 @@ typedef enum { SCF_TYPE_NET_ADDR } scf_type_t; +/* + * Values returned by scf_type_to_string + */ +#define SCF_TYPE_STRING_BOOLEAN "boolean" +#define SCF_TYPE_STRING_COUNT "count" +#define SCF_TYPE_STRING_INTEGER "integer" +#define SCF_TYPE_STRING_TIME "time" +#define SCF_TYPE_STRING_ASTRING "astring" +#define SCF_TYPE_STRING_OPAQUE "opaque" +#define SCF_TYPE_STRING_USTRING "ustring" +#define SCF_TYPE_STRING_URI "uri" +#define SCF_TYPE_STRING_FMRI "fmri" +#define SCF_TYPE_STRING_HOST "host" +#define SCF_TYPE_STRING_HOSTNAME "hostname" +#define SCF_TYPE_STRING_NET_ADDR "net_address" +#define SCF_TYPE_STRING_NET_ADDR_V4 "net_address_v4" +#define SCF_TYPE_STRING_NET_ADDR_V6 "net_address_v6" + typedef struct scf_time { int64_t t_seconds; int32_t t_ns; |
