diff options
author | Brian Behlendorf <[email protected]> | 2010-12-16 13:47:30 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2011-02-04 16:14:29 -0800 |
commit | c5d915f4237bbd1f5623b5044a1924a3cb91852b (patch) | |
tree | b5896a1029ca271541d70a2ba9037f43d98caf2d /lib/libspl/include/libshare.h | |
parent | 3fb1fcdea167d705e050a0383ec61b95fbe8a0ed (diff) |
Minimal libshare infrastructure
ZFS even under Solaris does not strictly require libshare to be
available. The current implementation attempts to dlopen() the
library to access the needed symbols. If this fails libshare
support is simply disabled.
This means that on Linux we only need the most minimal libshare
implementation. In fact just enough to prevent the build from
failing. Longer term we can decide if we want to implement a
libshare library like Solaris. At best this would be an abstraction
layer between ZFS and NFS/SMB. Alternately, we can drop libshare
entirely and directly integrate ZFS with Linux's NFS/SMB.
Finally the bare bones user-libshare.m4 test was dropped. If we
do decide to implement libshare at some point it will surely be
as part of this package so the check is not needed.
Diffstat (limited to 'lib/libspl/include/libshare.h')
-rw-r--r-- | lib/libspl/include/libshare.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/libspl/include/libshare.h b/lib/libspl/include/libshare.h index afbdf5b05..f1fbfad2b 100644 --- a/lib/libspl/include/libshare.h +++ b/lib/libspl/include/libshare.h @@ -23,12 +23,20 @@ * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ - -/* - * basic API declarations for share management - */ - #ifndef _LIBSPL_LIBSHARE_H #define _LIBSPL_LIBSHARE_H +typedef void *sa_handle_t; /* opaque handle to access core functions */ +typedef void *sa_group_t; +typedef void *sa_share_t; + +/* API Initialization */ +#define SA_INIT_SHARE_API 0x0001 /* init share specific interface */ +#define SA_INIT_CONTROL_API 0x0002 /* init control specific interface */ + +/* Error values */ +#define SA_OK 0 +#define SA_NO_MEMORY 2 /* no memory for data structures */ +#define SA_CONFIG_ERR 6 /* system configuration error */ + #endif /* _LIBSPL_LIBSHARE_H */ |