diff --git a/include/iscsi-private.h b/include/iscsi-private.h index 3cf771a..7d37b20 100644 --- a/include/iscsi-private.h +++ b/include/iscsi-private.h @@ -24,6 +24,10 @@ #define ssize_t SSIZE_T #endif +#ifdef __cplusplus +extern "C" { +#endif + #ifndef discard_const #define discard_const(ptr) ((void *)((intptr_t)(ptr))) #endif @@ -267,5 +271,9 @@ struct scsi_task *iscsi_scsi_get_task_from_pdu(struct iscsi_pdu *pdu); int iscsi_reconnect(struct iscsi_context *iscsi); +#ifdef __cplusplus +} +#endif + #endif /* __iscsi_private_h__ */ diff --git a/include/iscsi.h b/include/iscsi.h index 7072379..860f0e7 100644 --- a/include/iscsi.h +++ b/include/iscsi.h @@ -25,6 +25,10 @@ #define EXTERN #endif +#ifdef __cplusplus +extern "C" { +#endif + struct iscsi_context; struct sockaddr; @@ -465,11 +469,11 @@ enum iscsi_task_mgmt_funcs { * abort_task will also cancel the scsi task. The callback for the scsi task will be invoked with * SCSI_STATUS_CANCELLED * abort_task_set, lun_reset, target_warn_reset, target_cold_reset will cancel all tasks. The callback for - * all tasks will be invoked with SCSI_STATUS_CANCELLED + * all tasks will be invoked with SCSI_STATUS_CANCELLED */ EXTERN int iscsi_task_mgmt_async(struct iscsi_context *iscsi, - int lun, enum iscsi_task_mgmt_funcs function, + int lun, enum iscsi_task_mgmt_funcs function, uint32_t ritt, uint32_t rcmdscn, iscsi_command_cb cb, void *private_data); @@ -542,7 +546,7 @@ iscsi_set_isid_reserved(struct iscsi_context *iscsi); -/* +/* * The scsi commands use/return a scsi_task structure when invoked * and also through the callback. * @@ -612,7 +616,7 @@ iscsi_read10_task(struct iscsi_context *iscsi, int lun, uint32_t lba, int rdprotect, int dpo, int fua, int fua_nv, int group_number, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * -iscsi_write10_task(struct iscsi_context *iscsi, int lun, uint32_t lba, +iscsi_write10_task(struct iscsi_context *iscsi, int lun, uint32_t lba, unsigned char *data, uint32_t datalen, int blocksize, int wrprotect, int dpo, int fua, int fua_nv, int group_number, iscsi_command_cb cb, void *private_data); @@ -622,7 +626,7 @@ iscsi_read12_task(struct iscsi_context *iscsi, int lun, uint32_t lba, int rdprotect, int dpo, int fua, int fua_nv, int group_number, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * -iscsi_write12_task(struct iscsi_context *iscsi, int lun, uint32_t lba, +iscsi_write12_task(struct iscsi_context *iscsi, int lun, uint32_t lba, unsigned char *data, uint32_t datalen, int blocksize, int wrprotect, int dpo, int fua, int fua_nv, int group_number, iscsi_command_cb cb, void *private_data); @@ -632,26 +636,26 @@ iscsi_read16_task(struct iscsi_context *iscsi, int lun, uint64_t lba, int rdprotect, int dpo, int fua, int fua_nv, int group_number, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * -iscsi_write16_task(struct iscsi_context *iscsi, int lun, uint64_t lba, +iscsi_write16_task(struct iscsi_context *iscsi, int lun, uint64_t lba, unsigned char *data, uint32_t datalen, int blocksize, int wrprotect, int dpo, int fua, int fua_nv, int group_number, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * iscsi_verify10_task(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint32_t lba, - int vprotect, int dpo, int bytchk, + int vprotect, int dpo, int bytchk, int blocksize, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * iscsi_verify12_task(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint32_t lba, - int vprotect, int dpo, int bytchk, + int vprotect, int dpo, int bytchk, int blocksize, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * iscsi_verify16_task(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint64_t lba, - int vprotect, int dpo, int bytchk, + int vprotect, int dpo, int bytchk, int blocksize, iscsi_command_cb cb, void *private_data); EXTERN struct scsi_task * @@ -762,19 +766,19 @@ iscsi_prefetch16_sync(struct iscsi_context *iscsi, int lun, uint64_t lba, EXTERN struct scsi_task * iscsi_verify10_sync(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint32_t lba, - int vprotect, int dpo, int bytchk, + int vprotect, int dpo, int bytchk, int blocksize); EXTERN struct scsi_task * iscsi_verify12_sync(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint32_t lba, - int vprotect, int dpo, int bytchk, + int vprotect, int dpo, int bytchk, int blocksize); EXTERN struct scsi_task * iscsi_verify16_sync(struct iscsi_context *iscsi, int lun, unsigned char *data, uint32_t datalen, uint64_t lba, - int vprotect, int dpo, int bytchk, + int vprotect, int dpo, int bytchk, int blocksize); EXTERN struct scsi_task * @@ -839,4 +843,8 @@ iscsi_scsi_task_cancel(struct iscsi_context *iscsi, EXTERN void iscsi_scsi_cancel_all_tasks(struct iscsi_context *iscsi); +#ifdef __cplusplus +} +#endif + #endif /* __iscsi_h__ */ diff --git a/include/scsi-lowlevel.h b/include/scsi-lowlevel.h index 92c0482..8f4a217 100644 --- a/include/scsi-lowlevel.h +++ b/include/scsi-lowlevel.h @@ -17,6 +17,10 @@ #ifndef __scsi_lowlevel_h__ #define __scsi_lowlevel_h__ +#ifdef __cplusplus +extern "C" { +#endif + #define SCSI_CDB_MAX_SIZE 16 enum scsi_opcode { @@ -505,7 +509,7 @@ struct scsi_mode_page_caching { int minimum_prefetch; int maximum_prefetch; int maximum_prefetch_ceiling; - + int fsw; int lbcss; int dra; @@ -571,7 +575,7 @@ struct scsi_mode_sense { uint8_t medium_type; uint8_t device_specific_parameter; uint8_t block_descriptor_length; - struct scsi_mode_page *pages; + struct scsi_mode_page *pages; }; EXTERN struct scsi_task *scsi_cdb_modesense6(int dbd, @@ -639,5 +643,9 @@ EXTERN struct scsi_task *scsi_cdb_prefetch16(uint64_t lba, int num_blocks, int i void *scsi_malloc(struct scsi_task *task, size_t size); +#ifdef __cplusplus +} +#endif + #endif /* __scsi_lowlevel_h__ */