Current File : //usr/include/libfstyp_module.h
/*
 * Copyright (c) 2006, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef	_LIBFSTYP_MODULE_H
#define	_LIBFSTYP_MODULE_H

/*
 * libfstyp: module interface
 */
#ifdef	__cplusplus
extern "C" {
#endif

#include <stdio.h>
#include <sys/types.h>
#include <libnvpair.h>
#include <libfstyp.h>

typedef struct fstyp_mod_handle *fstyp_mod_handle_t;

/*
 * Modules are must to export these functions.
 * fstyp_mod_dump() is optional.
 */
int fstyp_mod_init(int fd, off64_t offset, fstyp_mod_handle_t *handle);
void fstyp_mod_fini(fstyp_mod_handle_t handle);
int fstyp_mod_ident(fstyp_mod_handle_t handle);
int fstyp_mod_get_attr(fstyp_mod_handle_t handle, nvlist_t **attr);
int fstyp_mod_dump(fstyp_mod_handle_t handle, FILE *fout, FILE *ferr);

#ifdef __cplusplus
}
#endif

#endif /* _LIBFSTYP_MODULE_H */