Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/libexslt/../libshare.h
Real path: /usr/include/libshare.h
Zurück
/* * Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved. */ /* * basic API declarations for share management */ #ifndef _LIBSHARE_H #define _LIBSHARE_H #ifdef __cplusplus extern "C" { #endif #include <libnvpair.h> #include <sys/sa_share.h> #include <sys/mnttab.h> #include <sys/acl.h> /* * Feature set bit definitions (sharectl) */ #define SA_FEATURE_NONE 0x0000 /* no feature flags set */ #define SA_FEATURE_RESOURCE 0x0001 /* resource names are required */ #define SA_FEATURE_DFSTAB 0x0002 /* need to manage in dfstab */ #define SA_FEATURE_ALLOWSUBDIRS 0x0004 /* allow subdirs to be shared */ #define SA_FEATURE_ALLOWPARDIRS 0x0008 /* allow parent dirs to be shared */ #define SA_FEATURE_HAS_SECTIONS 0x0010 /* protocol supports sections */ #define SA_FEATURE_ADD_PROPERTIES 0x0020 /* can add properties */ #define SA_FEATURE_SERVER 0x0040 /* protocol supports server mode */ #define SA_FEATURE_MULT_RESOURCES 0x0100 /* supports multiple resources */ #define SA_MAX_SHARE_NAME 80 /* Maximum length of share name */ typedef struct sa_share_props { nvlist_t *sp_nvl; /* flattened list of dotted names */ char *sp_sharenfs; /* legacy sharenfs */ char *sp_sharesmb; /* legacy sharesmb */ } sa_share_props_t; /* * Flags for sa_share_validate and sa_validate_share_name */ typedef uint32_t sa_validate_flags_t; #define SA_VALIDATE_NAME 0x01 /* global share name uniqueness */ #define SA_VALIDATE_NOPATH 0x02 /* skip path validation */ #define SA_VALIDATE_ENABLE 0x04 /* enable-time publishability check */ #define SA_VALIDATE_SYNTAX 0x08 /* create- and set-time syntax check */ #define SA_VALIDATE_NODFS 0x10 /* skip smb dfsroot validation */ extern libshare_handle_t *sa_open(void); extern void sa_close(libshare_handle_t *); extern int sa_init_fs_handle(libshare_handle_t *, sa_fs_t, void *); extern void *sa_get_fs_handle(libshare_handle_t *, sa_fs_t, int *); extern int sa_share_parse(const char *, int, nvlist_t **, char *, size_t); extern int sa_share_merge(nvlist_t *, nvlist_t *, int, char *, size_t); extern int sa_share_validate_name(const char *, const char *, sa_validate_flags_t, sa_proto_t, char *, size_t); extern int sa_share_validate(libshare_handle_t *, nvlist_t *, sa_validate_flags_t, char *, size_t); extern int sa_share_publish(libshare_handle_t *, nvlist_t *, sa_proto_t, int, boolean_t); extern int sa_share_unpublish(libshare_handle_t *, nvlist_t *, sa_proto_t, int); extern int sa_fs_publish(libshare_handle_t *, const char *, sa_proto_t, int); extern int sa_fs_unpublish(libshare_handle_t *, const char *, sa_proto_t, int); extern int sa_share_write(libshare_handle_t *, nvlist_t *, boolean_t, boolean_t); extern void sa_default_shr_name(const char *, sa_proto_t, char *, size_t); extern void sa_path_to_shr_name(char *); extern int sa_share_read_oldprop_shares(const char *, const char *, const char *, const char *, nvlist_t **, nvlist_t **, boolean_t); extern int sa_share_remove(libshare_handle_t *, const char *, const char *, boolean_t); extern int sa_share_lookup(const char *, const char *, sa_proto_t, nvlist_t **); extern char *sa_strerror(int); extern int sa_share_find_init(const char *, sa_proto_t, void **); extern int sa_share_find_next(void *, nvlist_t **); extern void sa_share_find_fini(void *); extern int sa_share_read(libshare_handle_t *, const char *, const char *, nvlist_t **); extern int sa_share_read_init(libshare_handle_t *, const char *, boolean_t, void **); extern int sa_share_read_next(libshare_handle_t *, void *, nvlist_t **); extern void sa_share_read_fini(libshare_handle_t *, void *); extern sa_proto_t sa_sharing_enabled(libshare_handle_t *, const char *, const char *); extern boolean_t sa_sharing_prop_enabled(libshare_handle_t *, const char *, const char *, sa_proto_t); extern int sa_sharing_get_prop(libshare_handle_t *, const char *, const char *, sa_proto_t, char **); extern int sa_sharing_set_prop(libshare_handle_t *, const char *, const char *, sa_proto_t, const char *); extern int sa_share_get_acl(libshare_handle_t *, const char *, const char *, acl_t **); extern int sa_share_set_acl(libshare_handle_t *, const char *, const char *, acl_t *); extern int sa_get_mntpnt_for_path(libshare_handle_t *, const char *, char *, size_t, sa_fs_t *, char *, size_t, char *, size_t); extern int sa_share_set_def_proto(nvlist_t *, sa_proto_t); extern int sa_share_format_props(nvlist_t *, sa_proto_t, char **); extern boolean_t sa_prop_empty_list(nvlist_t *); extern int sa_prop_cmp_list(const char *, char * const *); extern int sa_prop_case_cmp_list(const char *, char * const *); extern int sa_path_is_shareable(libshare_handle_t *, const char *); extern int sa_mntent_is_shareable(libshare_handle_t *, struct mnttab *); extern boolean_t sa_path_in_current_zone(libshare_handle_t *, const char *); extern boolean_t sa_mntpnt_in_current_zone(libshare_handle_t *, char *, char *); extern int sa_locale_to_utf8(const char *, char **); extern int sa_utf8_to_locale(const char *, char **); extern int sa_share_parse_from_props(sa_share_props_t *, nvlist_t **, sa_validate_flags_t, char *, size_t); extern char *sa_share_to_str(nvlist_t *); extern int sa_share_proplist_from_share(nvlist_t *, sa_share_props_t **, sa_proto_t *); extern int sa_share_parse_proplist(nvlist_t *, nvlist_t **, sa_validate_flags_t, char *, size_t); /* * sharectl protocol property management routines */ extern uint64_t sa_proto_get_featureset(sa_proto_t); extern nvlist_t *sa_proto_get_proplist(sa_proto_t); extern char *sa_proto_get_status(sa_proto_t); extern char *sa_proto_get_property(sa_proto_t, const char *, const char *); extern int sa_proto_set_property(sa_proto_t, const char *, const char *, const char *); extern int sa_proto_rem_section(sa_proto_t, const char *); extern uint32_t sa_get_protocols(sa_proto_t **); /* * routines for filesystem level property definitions */ extern int sa_prop_encode_impl(nvlist_t *, const char *, const char *, boolean_t, const char *, boolean_t, const char *, char *const *, uint_t, const char *, boolean_t, boolean_t); extern int sa_prop_encode_string(nvlist_t *, const char *, const char *, boolean_t, const char *, char *const *, uint_t, const char *); extern int sa_prop_encode_boolean(nvlist_t *, const char *, boolean_t, boolean_t, const char *); extern int sa_get_propdefs(sa_proto_t, nvlist_t **, nvlist_t **, char *, size_t); /* * routines for dtrace and logging */ extern void sa_trace(const char *); extern void sa_tracef(const char *, ...); extern void salog_error(int, const char *, ...); extern void salog_debug(int, const char *, ...); extern void salog_info(int, const char *, ...); extern void salog_notice(int, const char *, ...); extern int sa_upgrade_smf_share_group(libshare_handle_t *, char *, boolean_t); extern boolean_t sa_is_akd_present(void); extern uint32_t sa_protocol_valid(char *); extern sa_proto_t sa_valid_protocols(void); #ifdef __cplusplus } #endif #endif /* _LIBSHARE_H */