diff options
author | aalok <none@none> | 2007-12-19 07:47:40 -0800 |
---|---|---|
committer | aalok <none@none> | 2007-12-19 07:47:40 -0800 |
commit | 579df0ad79cbf73b8473820d721b202c79d12d34 (patch) | |
tree | 75d7e2b46a39e622a68ff0c010860b91e86860e9 /usr/src/cmd/lofiadm/utils.c | |
parent | 06c5a6e8d0ba25e2009cb7ff92667f3f6e930992 (diff) | |
download | illumos-joyent-579df0ad79cbf73b8473820d721b202c79d12d34.tar.gz |
6640490 lofiadm should not include zlib.h
Diffstat (limited to 'usr/src/cmd/lofiadm/utils.c')
-rw-r--r-- | usr/src/cmd/lofiadm/utils.c | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/usr/src/cmd/lofiadm/utils.c b/usr/src/cmd/lofiadm/utils.c index eee1e5b5d8..349fab1c2b 100644 --- a/usr/src/cmd/lofiadm/utils.c +++ b/usr/src/cmd/lofiadm/utils.c @@ -2,9 +2,8 @@ * CDDL HEADER START * * The contents of this file are subject to the terms of the - * Common Development and Distribution License, Version 1.0 only - * (the "License"). You may not use this file except in compliance - * with the License. + * Common Development and Distribution License (the "License"). + * You may not use this file except in compliance with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. @@ -20,8 +19,8 @@ * CDDL HEADER END */ /* - * Copyright (c) 1999-2000 by Sun Microsystems, Inc. - * All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" @@ -37,9 +36,13 @@ #include <stdarg.h> #include <stdio.h> #include <errno.h> +#include <dlfcn.h> +#include <link.h> #include "utils.h" +static void *lib_hdl = NULL; + static const char PNAME_FMT[] = "%s: "; static const char ERRNO_FMT[] = ": %s\n"; @@ -112,3 +115,22 @@ valid_abspath(const char *p) return (1); } + +/* + * Wrapper for dlopen'ing a library. + * The caller must call closelib() once + * access to the library is no longer needed. + */ +void * +openlib(const char *lib) +{ + lib_hdl = dlopen(lib, RTLD_LAZY); + return (lib_hdl); +} + +void +closelib() +{ + if (lib_hdl != NULL) + (void) dlclose(lib_hdl); +} |