diff options
author | Jason King <jason.king@joyent.com> | 2019-04-18 18:00:38 +0000 |
---|---|---|
committer | Jason King <jason.king@joyent.com> | 2019-06-27 20:35:53 +0000 |
commit | ff5370e0670902c1f855aa7ff53021af9b218419 (patch) | |
tree | 05873066ac85dd9debc0870c7824465f09d703a6 | |
parent | d52326b14627b369debbeb1c820b08a811328317 (diff) | |
download | illumos-joyent-OS-7866.tar.gz |
OS-7866 Add di_prop_exists function to libdevinfoOS-7866
NOTE: still needs man page update for function
-rw-r--r-- | usr/src/lib/libdevinfo/devinfo.c | 13 | ||||
-rw-r--r-- | usr/src/lib/libdevinfo/libdevinfo.h | 5 | ||||
-rw-r--r-- | usr/src/lib/libdevinfo/mapfile-vers | 6 |
3 files changed, 24 insertions, 0 deletions
diff --git a/usr/src/lib/libdevinfo/devinfo.c b/usr/src/lib/libdevinfo/devinfo.c index 476c9a2e43..7247f1f642 100644 --- a/usr/src/lib/libdevinfo/devinfo.c +++ b/usr/src/lib/libdevinfo/devinfo.c @@ -21,6 +21,9 @@ /* * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. */ +/* + * Copyright 2019, Joyent, Inc. + */ /* * Interfaces for getting device configuration data from kernel @@ -1708,6 +1711,16 @@ di_prop_find(dev_t match_dev, di_node_t node, const char *name) } int +di_prop_exists(dev_t dev, di_node_t node, const char *prop_name) +{ + di_prop_t prop; + + if ((prop = di_prop_find(dev, node, prop_name)) == DI_PROP_NIL) + return (0); + return (1); +} + +int di_prop_lookup_ints(dev_t dev, di_node_t node, const char *prop_name, int **prop_data) { diff --git a/usr/src/lib/libdevinfo/libdevinfo.h b/usr/src/lib/libdevinfo/libdevinfo.h index 8f685a1524..06a4ec0c60 100644 --- a/usr/src/lib/libdevinfo/libdevinfo.h +++ b/usr/src/lib/libdevinfo/libdevinfo.h @@ -21,6 +21,9 @@ /* * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. */ +/* + * Copyright 2019, Joyent, Inc. + */ #ifndef _LIBDEVINFO_H #define _LIBDEVINFO_H @@ -241,6 +244,8 @@ extern int di_prop_int64(di_prop_t prop, int64_t **prop_data); extern int di_prop_strings(di_prop_t prop, char **prop_data); extern int di_prop_bytes(di_prop_t prop, uchar_t **prop_data); +extern int di_prop_exists(dev_t dev, di_node_t node, + const char *prop_name); extern int di_prop_lookup_bytes(dev_t dev, di_node_t node, const char *prop_name, uchar_t **prop_data); extern int di_prop_lookup_ints(dev_t dev, di_node_t node, diff --git a/usr/src/lib/libdevinfo/mapfile-vers b/usr/src/lib/libdevinfo/mapfile-vers index 3b0bb74a7c..b4bdd3f363 100644 --- a/usr/src/lib/libdevinfo/mapfile-vers +++ b/usr/src/lib/libdevinfo/mapfile-vers @@ -20,6 +20,7 @@ # # # Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright 2019, Joyent, Inc. # # @@ -38,6 +39,11 @@ $mapfile_version 2 +SYMBOL_VERSION ILLUMOS_1.0 { + global: + di_prop_exists; +} SUNW_1.4; + SYMBOL_VERSION SUNW_1.4 { global: di_alias2curr; |