|
Packit |
eace71 |
#ifndef SESSION_INFO_H
|
|
Packit |
eace71 |
#define SESSION_INFO_H
|
|
Packit |
eace71 |
#include <sys/types.h>
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#include <libopeniscsiusr/libopeniscsiusr.h>
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#include "sysfs.h"
|
|
Packit |
eace71 |
#include "types.h"
|
|
Packit |
eace71 |
#include "iscsi_proto.h"
|
|
Packit |
eace71 |
#include "config.h"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct list;
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct session_timeout {
|
|
Packit |
eace71 |
int abort_tmo;
|
|
Packit |
eace71 |
int lu_reset_tmo;
|
|
Packit |
eace71 |
int recovery_tmo;
|
|
Packit |
eace71 |
int tgt_reset_tmo;
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct session_CHAP {
|
|
Packit |
eace71 |
char username[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
char password[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
char username_in[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
char password_in[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct session_info {
|
|
Packit |
eace71 |
struct list_head list;
|
|
Packit |
eace71 |
/* local info */
|
|
Packit |
eace71 |
struct iface_rec iface;
|
|
Packit |
eace71 |
int sid;
|
|
Packit |
eace71 |
int iscsid_req_tmo;
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct session_timeout tmo;
|
|
Packit |
eace71 |
struct session_CHAP chap;
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/* remote info */
|
|
Packit |
eace71 |
char targetname[TARGET_NAME_MAXLEN + 1];
|
|
Packit |
eace71 |
int tpgt;
|
|
Packit |
eace71 |
char address[NI_MAXHOST + 1];
|
|
Packit |
eace71 |
int port;
|
|
Packit |
eace71 |
char persistent_address[NI_MAXHOST + 1];
|
|
Packit |
eace71 |
int persistent_port;
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
typedef int (session_match_info_fn_t)(void *data, struct session_info *info);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct session_link_info {
|
|
Packit |
eace71 |
struct list_head *list;
|
|
Packit |
eace71 |
session_match_info_fn_t *match_fn;
|
|
Packit |
eace71 |
void *data;
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#define SESSION_INFO_IFACE 0x1
|
|
Packit |
eace71 |
#define SESSION_INFO_ISCSI_PARAMS 0x2
|
|
Packit |
eace71 |
#define SESSION_INFO_ISCSI_STATE 0x4
|
|
Packit |
eace71 |
#define SESSION_INFO_SCSI_DEVS 0x8
|
|
Packit |
eace71 |
#define SESSION_INFO_HOST_DEVS 0x10
|
|
Packit |
eace71 |
#define SESSION_INFO_ISCSI_TIM 0x20
|
|
Packit |
eace71 |
#define SESSION_INFO_ISCSI_AUTH 0x40
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
extern int session_info_create_list(void *data, struct session_info *info);
|
|
Packit |
eace71 |
extern void session_info_free_list(struct list_head *list);
|
|
Packit |
eace71 |
extern int session_info_print(int info_level, struct iscsi_session **ses,
|
|
Packit |
eace71 |
uint32_t se_count, int do_show);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
extern void session_info_print_tree(struct iscsi_session **ses,
|
|
Packit |
eace71 |
uint32_t se_count, char *prefix,
|
|
Packit |
eace71 |
unsigned int flags, int do_show);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#endif
|