Blame usr/iscsi_sysfs.h

Packit Service 646995
/*
Packit Service 646995
 * iSCSI sysfs
Packit Service 646995
 *
Packit Service 646995
 * Copyright (C) 2006 Mike Christie
Packit Service 646995
 * Copyright (C) 2006 Red Hat, Inc. All rights reserved.
Packit Service 74b308
 * Copyright (C) 2015      Peter Hatina <phatina@redhat.com>
Packit Service 646995
 *
Packit Service 646995
 * This program is free software; you can redistribute it and/or modify
Packit Service 646995
 * it under the terms of the GNU General Public License as published
Packit Service 646995
 * by the Free Software Foundation; either version 2 of the License, or
Packit Service 646995
 * (at your option) any later version.
Packit Service 646995
 *
Packit Service 646995
 * This program is distributed in the hope that it will be useful, but
Packit Service 646995
 * WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 646995
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Packit Service 646995
 * General Public License for more details.
Packit Service 646995
 */
Packit Service 646995
#ifndef ISCSI_SYSFS_H
Packit Service 646995
#define ISCSI_SYSFS_H
Packit Service 646995
Packit Service 646995
#include <sys/types.h>
Packit Service 646995
Packit Service 646995
#include "sysfs.h"
Packit Service 646995
#include "types.h"
Packit Service 646995
#include "iscsi_proto.h"
Packit Service 646995
#include "config.h"
Packit Service 646995
Packit Service 646995
struct session_info;
Packit Service 646995
struct host_info;
Packit Service 646995
struct iscsi_session;
Packit Service 646995
struct iscsi_conn;
Packit Service 646995
struct iscsi_session_operational_config;
Packit Service 646995
struct iscsi_conn_operational_config;
Packit Service 646995
struct iscsi_auth_config;
Packit Service 646995
struct flashnode_rec;
Packit Service 646995
Packit Service 646995
#define SCSI_MAX_STATE_VALUE 32
Packit Service 646995
Packit Service 646995
extern void free_transports(void);
Packit Service 646995
extern char *iscsi_sysfs_get_iscsi_kernel_version(void);
Packit Service 646995
extern int iscsi_sysfs_get_sessioninfo_by_id(struct session_info *info,
Packit Service 646995
					     char *sys_session);
Packit Service 646995
extern int iscsi_sysfs_session_has_leadconn(uint32_t sid);
Packit Service 646995
Packit Service 646995
typedef int (iscsi_sysfs_session_op_fn)(void *, struct session_info *);
Packit Service 646995
typedef int (iscsi_sysfs_host_op_fn)(void *, struct host_info *);
Packit Service 646995
typedef int (iscsi_sysfs_flashnode_op_fn)(void *, struct flashnode_rec *,
Packit Service 646995
					  uint32_t, uint32_t);
Packit Service 646995
typedef int (iscsi_sysfs_iface_op_fn)(void *, struct iface_rec *);
Packit Service 646995
Packit Service 74b308
extern const char *iscsi_sysfs_get_session_path(void);
Packit Service 646995
extern int iscsi_sysfs_for_each_iface_on_host(void *data, uint32_t host_no,
Packit Service 646995
					      int *nr_found,
Packit Service 646995
					      iscsi_sysfs_iface_op_fn *fn);
Packit Service 646995
extern int iscsi_sysfs_for_each_session(void *data, int *nr_found,
Packit Service 646995
					iscsi_sysfs_session_op_fn *fn,
Packit Service 646995
					int in_parallel);
Packit Service 646995
extern int iscsi_sysfs_count_sessions(void);
Packit Service 646995
extern int iscsi_sysfs_for_each_host(void *data, int *nr_found,
Packit Service 646995
				     iscsi_sysfs_host_op_fn *fn);
Packit Service 646995
extern uint32_t iscsi_sysfs_get_host_no_from_sid(uint32_t sid, int *err);
Packit Service 646995
extern uint32_t iscsi_sysfs_get_host_no_from_hwinfo(struct iface_rec *iface,
Packit Service 646995
						    int *rc);
Packit Service 646995
extern uint32_t iscsi_sysfs_get_host_no_from_hwaddress(char *hwaddress, int *rc);
Packit Service 646995
extern int iscsi_sysfs_get_hostinfo_by_host_no(struct host_info *hinfo);
Packit Service 646995
extern int iscsi_sysfs_for_each_flashnode(void *data, uint32_t host_no,
Packit Service 646995
					  int *nr_found,
Packit Service 646995
					  iscsi_sysfs_flashnode_op_fn *fn);
Packit Service 646995
extern int iscsi_sysfs_get_flashnode_info(struct flashnode_rec *fnode,
Packit Service 646995
					  uint32_t host_no,
Packit Service 646995
					  uint32_t flashnode_id);
Packit Service 646995
extern int iscsi_sysfs_update_flashnode_param(uint32_t host_no,
Packit Service 646995
					      uint32_t flashnode_id,
Packit Service 646995
					      char *name, char *val);
Packit Service 646995
extern int iscsi_sysfs_create_flashnode(uint32_t host_no, char *ipver);
Packit Service 646995
extern int iscsi_sysfs_del_flashnode(uint32_t host_no, uint32_t flashnode_id);
Packit Service 646995
extern int iscsi_sysfs_login_flashnode(uint32_t host_no, uint32_t flashnode_id);
Packit Service 646995
extern int iscsi_sysfs_logout_flashnode(uint32_t host_no,
Packit Service 646995
					uint32_t flashnode_id);
Packit Service 646995
extern int iscsi_sysfs_get_sid_from_path(char *session);
Packit Service 646995
extern char *iscsi_sysfs_get_blockdev_from_lun(int hostno, int target, int sid);
Packit Service 646995
Packit Service 646995
static inline int is_valid_operational_value(int value)
Packit Service 646995
{
Packit Service 646995
	return value != -1;
Packit Service 646995
}
Packit Service 646995
Packit Service 646995
extern void iscsi_sysfs_get_auth_conf(int sid, struct iscsi_auth_config *conf);
Packit Service 646995
extern void iscsi_sysfs_get_negotiated_session_conf(int sid,
Packit Service 646995
				struct iscsi_session_operational_config *conf);
Packit Service 646995
extern void iscsi_sysfs_get_negotiated_conn_conf(int sid,
Packit Service 646995
				struct iscsi_conn_operational_config *conf);
Packit Service 646995
extern pid_t iscsi_sysfs_scan_host(int hostno, int async, int autoscan);
Packit Service 646995
extern int iscsi_sysfs_get_session_state(char *state, int sid);
Packit Service 646995
extern int iscsi_sysfs_get_host_state(char *state, int host_no);
Packit Service 646995
extern int iscsi_sysfs_get_device_state(char *state, int host_no, int target,
Packit Service 646995
					int lun);
Packit Service 646995
extern int iscsi_sysfs_get_exp_statsn(int sid);
Packit Service 646995
extern void iscsi_sysfs_set_queue_depth(void *data, int hostno, int target,
Packit Service 646995
					int lun);
Packit Service 646995
extern void iscsi_sysfs_set_device_online(void *data, int hostno, int target,
Packit Service 646995
					  int lun);
Packit Service 646995
extern void iscsi_sysfs_rescan_device(void *data, int hostno, int target,
Packit Service 646995
				      int lun);
Packit Service 646995
extern int iscsi_sysfs_for_each_device(void *data, int host_no, uint32_t sid,
Packit Service 646995
				void (* fn)(void *, int host_no, int target,
Packit Service 646995
					    int lun));
Packit Service 646995
extern struct iscsi_transport *iscsi_sysfs_get_transport_by_hba(uint32_t host_no);
Packit Service 646995
extern struct iscsi_transport *iscsi_sysfs_get_transport_by_session(char *sys_session);
Packit Service 646995
extern struct iscsi_transport *iscsi_sysfs_get_transport_by_sid(uint32_t sid);
Packit Service 646995
extern struct iscsi_transport *iscsi_sysfs_get_transport_by_name(char *transport_name);
Packit Service 646995
extern int iscsi_sysfs_is_transport_loaded(char *transport_name);
Packit Service 646995
extern int iscsi_sysfs_session_supports_nop(int sid);
Packit Service 646995
extern int iscsi_sysfs_session_user_created(int sid);
Packit Service 646995
Packit Service 646995
extern struct list_head transports;
Packit Service 646995
Packit Service 646995
#endif