diff options
author | sbruno <sbruno@FreeBSD.org> | 2013-06-08 02:54:59 +0000 |
---|---|---|
committer | sbruno <sbruno@FreeBSD.org> | 2013-06-08 02:54:59 +0000 |
commit | 37b928c8dd24faa44a546c9964740f90d7d4a9f0 (patch) | |
tree | 9b3b4d07503670d67896905cbffb5810818f9530 /usr.sbin/mfiutil/mfiutil.h | |
parent | 216ef5e5fe6fcccdfb1176a3c72c60fe7891ab63 (diff) | |
download | FreeBSD-src-37b928c8dd24faa44a546c9964740f90d7d4a9f0.zip FreeBSD-src-37b928c8dd24faa44a546c9964740f90d7d4a9f0.tar.gz |
Implement foreign volume handling. Allows admins to view foreign metadata
and clear or import it for use.
PR: kern/172091
Submitted by: smh@freebsd.org
Reviewed by: jhb@freebsd.org
MFC after: 2 weeks
Diffstat (limited to 'usr.sbin/mfiutil/mfiutil.h')
-rw-r--r-- | usr.sbin/mfiutil/mfiutil.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/usr.sbin/mfiutil/mfiutil.h b/usr.sbin/mfiutil/mfiutil.h index 8a544c2..251816a 100644 --- a/usr.sbin/mfiutil/mfiutil.h +++ b/usr.sbin/mfiutil/mfiutil.h @@ -124,6 +124,16 @@ extern int mfi_unit; extern u_int mfi_opts; +/* We currently don't know the full details of the following struct */ +struct mfi_foreign_scan_cfg { + char data[24]; +}; + +struct mfi_foreign_scan_info { + uint32_t count; /* Number of foreign configs found */ + struct mfi_foreign_scan_cfg cfgs[8]; +}; + void mbox_store_ldref(uint8_t *mbox, union mfi_ld_ref *ref); void mbox_store_pdref(uint8_t *mbox, union mfi_pd_ref *ref); void mfi_display_progress(const char *label, struct mfi_progress *prog); @@ -136,6 +146,8 @@ const char *mfi_pd_inq_string(struct mfi_pd_info *info); const char *mfi_volume_name(int fd, uint8_t target_id); int mfi_volume_busy(int fd, uint8_t target_id); int mfi_config_read(int fd, struct mfi_config_data **configp); +int mfi_config_read_opcode(int fd, uint32_t opcode, + struct mfi_config_data **configp, uint8_t *mbox, size_t mboxlen); int mfi_lookup_drive(int fd, char *drive, uint16_t *device_id); int mfi_lookup_volume(int fd, const char *name, uint8_t *target_id); int mfi_dcmd_command(int fd, uint32_t opcode, void *buf, size_t bufsize, @@ -152,6 +164,10 @@ int mfi_reconfig_supported(void); const char *mfi_status(u_int status_code); const char *mfi_drive_name(struct mfi_pd_info *pinfo, uint16_t device_id, uint32_t def); +void format_stripe(char *buf, size_t buflen, uint8_t stripe); +void print_ld(struct mfi_ld_info *info, int state_len); +void print_pd(struct mfi_pd_info *info, int state_len); +void dump_config(int fd, struct mfi_config_data *config, const char *msg_prefix); int mfi_bbu_get_props(int fd, struct mfi_bbu_properties *props, uint8_t *statusp); int mfi_bbu_set_props(int fd, struct mfi_bbu_properties *props, @@ -163,4 +179,5 @@ void mfi_autolearn_mode(uint8_t, char *, size_t); void scan_firmware(struct mfi_info_component *comp); void display_firmware(struct mfi_info_component *comp, const char *tag); +int display_format(int ac, char **av, int diagnostic, mfi_dcmd_t display_cmd); #endif /* !__MFIUTIL_H__ */ |