Blame usr/session_info.h

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