Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../.././../../../usr/./include/lofi.h
Real path: /usr/include/lofi.h
Zurück
/* * Copyright (c) 2013, 2022, Oracle and/or its affiliates. */ /* * This header file defines a private interface provided by liblofi. */ #ifndef _LOFI_H #define _LOFI_H #include <sys/types.h> #include <sys/param.h> #include <sys/lofi_common.h> #include <sys/crypto/common.h> #ifdef __cplusplus extern "C" { #endif #ifndef _KERNEL typedef struct lofi_usergroup { uid_t lug_uid; /* out */ gid_t lug_gid; /* out */ } lofi_usergroup_t; /* Parameters passed into liblofi for device creation. */ typedef struct lofi_setup_arg { char ls_filepath[MAXPATHLEN]; char ls_devpath[MAXPATHLEN]; boolean_t ls_removable; boolean_t ls_labeled; uint32_t ls_blocksize; char ls_key_filepath[MAXPATHLEN]; boolean_t ls_ephemeral_key; crypto_mech_name_t ls_cipher; char ls_token[MAX_INPUT]; boolean_t ls_usergroup_set; lofi_usergroup_t ls_usergroup; boolean_t ls_iocopy; int ls_attach_delay_secs; int ls_attach_delay_index; uint32_t ls_io_mtbf; boolean_t ls_nowc; boolean_t ls_shared; boolean_t ls_readonly; } lofi_setup_t; /* Lofi device information reported back from liblofi. */ typedef struct lofi_info { lid_t li_id; char li_filepath[MAXPATHLEN]; char li_devpath[MAXPATHLEN]; uint32_t li_ctrl; boolean_t li_file_inaccessible; boolean_t li_removable; boolean_t li_labeled; boolean_t li_encrypted; boolean_t li_iocopy; boolean_t li_indestructible; lofi_io_state_t li_io_state; uid_t li_uid; char *li_user; gid_t li_gid; char *li_group; char li_comp_algorithm[LOFI_MAXALGLEN]; uint32_t li_io_mtbf; boolean_t li_nowc; boolean_t li_shared; boolean_t li_readonly; boolean_t li_isswap; hrtime_t li_hwm_read_hrt; hrtime_t li_hwm_write_hrt; hrtime_t li_hwm_sync_hrt; } lofi_info_t; typedef enum lofi_update_cmd { LOFI_UPDATE_INVALID = -1, LOFI_UPDATE_USESEGMAP = 0, LOFI_UPDATE_LBLKSZ, LOFI_UPDATE_PBLKSZ, LOFI_UPDATE_DDI_NO_AUTODETACH, LOFI_UPDATE_INDESTRUCTIBLE, LOFI_UPDATE_IOSTATE, LOFI_UPDATE_IOMTBF, LOFI_UPDATE_NOWC, LOFI_UPDATE_READONLY, LOFI_UPDATE_HWM_RESET } lofi_update_cmd_t; /* * Public opaque handle returned from liblofi APIs. */ typedef struct __lofi_result *lofi_result_t; /* * Interfaces for major lofi operations. */ /* Create lofi device. Will return lofi dev info in result. */ extern lofi_result_t lofi_setup(lofi_setup_t *__req, lofi_info_t *__info); /* Destroy lofi device. */ extern lofi_result_t lofi_destroy(const char *__path, boolean_t __force, boolean_t __cleanup); /* Query lofi device. Will return lofi dev info in result. */ extern lofi_result_t lofi_query(const char *__path, lofi_info_t *__info); /* * Query lofi device if it is the backing file. * Will return lofi dev info in result. */ extern lofi_result_t lofi_query_byfile(const char *__path, lofi_info_t *__info); /* * Query lofi device with the next bigger ID. * If filepath is provided, device queried must be mapped to that file. * Will return lofi dev info in result. */ extern lofi_result_t lofi_query_next(lid_t __id, const char *__filepath, lofi_info_t *__info); /* Change lofi device parameters. */ extern lofi_result_t lofi_update(const char *__devpath, lofi_update_cmd_t __cmd, intptr_t __val); /* Compress a file. */ extern lofi_result_t lofi_compress(const char *__filepath, const char *__algname, uint32_t __segsize); /* Uncompress a file. */ extern lofi_result_t lofi_uncompress(const char *__filepath); /* * Helper interfaces. */ extern lofi_result_t lofi_valid_devpath(const char *__devpath); extern lofi_result_t lofi_devpath_to_id(const char *__devpath, lid_t *__idp, boolean_t *__labeledp); extern void lofi_result_free(lofi_result_t __result); extern int lofi_result_err(lofi_result_t __result); extern const char *lofi_result_action_str(lofi_result_t __result); extern const char *lofi_result_error_str(lofi_result_t __result); extern char *lofi_property_to_str(lofi_info_t *__dev); extern lofi_result_t lofi_parse_usergroup(char *__usergroup, lofi_usergroup_t *__lu); #endif /* !_KERNEL */ #ifdef __cplusplus } #endif #endif /* _LOFI_H */