usr/src/uts/common/sys/idm/idm.h
author Peter Dunlap <Peter.Dunlap@Sun.COM>
Tue, 24 Mar 2009 17:50:49 -0600
changeset 9162 b011b0287065
parent 8062 c4ebf3c55811
child 9586 bd5e99a50121
permissions -rw-r--r--
PSARC 2008/395 iSER: iSCSI Extensions for RDMA 6702590 iSCSI initiator needs to support iSER transport 6702591 COMSTAR iSCSI port provider needs to support iSER transport 6797024 COMSTAR iscsit asserted at iscsit_login.c line: 679 6776635 panic[cpu0]/thread=ffffff000f874c60,assertion failed: 0, file: ../../common/io/idm/idm.c, line: 1465 6802232 Bad kernel fault at addr=0x0 from idm_crc32c call
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     1
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     2
 * CDDL HEADER START
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     3
 *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     4
 * The contents of this file are subject to the terms of the
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     5
 * Common Development and Distribution License (the "License").
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     6
 * You may not use this file except in compliance with the License.
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     7
 *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     8
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
     9
 * or http://www.opensolaris.org/os/licensing.
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    10
 * See the License for the specific language governing permissions
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    11
 * and limitations under the License.
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    12
 *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    13
 * When distributing Covered Code, include this CDDL HEADER in each
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    14
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    15
 * If applicable, add the following below this CDDL HEADER, with the
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    16
 * fields enclosed by brackets "[]" replaced with your own identifying
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    17
 * information: Portions Copyright [yyyy] [name of copyright owner]
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    18
 *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    19
 * CDDL HEADER END
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    20
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    21
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    22
/*
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    23
 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    24
 * Use is subject to license terms.
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    25
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    26
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    27
#ifndef _IDM_H
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    28
#define	_IDM_H
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    29
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    30
#ifdef	__cplusplus
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    31
extern "C" {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    32
#endif
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    33
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    34
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    35
	IDM_STATUS_SUCCESS = 0,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    36
	IDM_STATUS_FAIL,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    37
	IDM_STATUS_NORESOURCES,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    38
	IDM_STATUS_REJECT,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    39
	IDM_STATUS_IO,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    40
	IDM_STATUS_ABORTED,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    41
	IDM_STATUS_SUSPENDED,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    42
	IDM_STATUS_HEADER_DIGEST,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    43
	IDM_STATUS_DATA_DIGEST,
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    44
	IDM_STATUS_PROTOCOL_ERROR,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    45
	IDM_STATUS_LOGIN_FAIL
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    46
} idm_status_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    47
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    48
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    49
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    50
	CN_CONNECT_ACCEPT = 1,	/* Target only */
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    51
	CN_LOGIN_FAIL,
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    52
	CN_READY_FOR_LOGIN,	/* Initiator only */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    53
	CN_FFP_ENABLED,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    54
	CN_FFP_DISABLED,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    55
	CN_CONNECT_LOST,
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    56
	CN_CONNECT_DESTROY,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    57
	CN_CONNECT_FAIL,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    58
	CN_MAX
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    59
} idm_client_notify_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    60
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    61
#ifdef IDM_CN_NOTIFY_STRINGS
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    62
static const char *idm_cn_strings[CN_MAX + 1] = {
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    63
	"CN_UNDEFINED",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    64
	"CN_CONNECT_ACCEPT",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    65
	"CN_LOGIN_FAIL",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    66
	"CN_READY_FOR_LOGIN",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    67
	"CN_FFP_ENABLED",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    68
	"CN_FFP_DISABLED",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    69
	"CN_CONNECT_LOST",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    70
	"CN_CONNECT_DESTROY",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    71
	"CN_CONNECT_FAIL",
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    72
	"CN_MAX"
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    73
};
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    74
#endif
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
    75
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    76
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    77
	FD_CONN_FAIL,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    78
	FD_CONN_LOGOUT,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    79
	FD_SESS_LOGOUT
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    80
} idm_ffp_disable_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    81
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    82
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    83
	AT_INTERNAL_SUSPEND,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    84
	AT_INTERNAL_ABORT,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    85
	AT_TASK_MGMT_ABORT
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    86
} idm_abort_type_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    87
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    88
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    89
	TASK_IDLE,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    90
	TASK_ACTIVE,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    91
	TASK_SUSPENDING,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    92
	TASK_SUSPENDED,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    93
	TASK_ABORTING,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    94
	TASK_ABORTED,
8062
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
    95
	TASK_COMPLETE,
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
    96
	TASK_MAX_STATE
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    97
} idm_task_state_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
    98
8062
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
    99
#ifdef IDM_TASK_SM_STRINGS
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   100
static const char *idm_ts_name[TASK_MAX_STATE+1] = {
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   101
	"TASK_IDLE",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   102
	"TASK_ACTIVE",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   103
	"TASK_SUSPENDING",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   104
	"TASK_SUSPENDED",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   105
	"TASK_ABORTING",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   106
	"TASK_ABORTED",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   107
	"TASK_COMPLETE",
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   108
	"TASK_MAX_STATE"
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   109
};
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   110
#endif
c4ebf3c55811 6752414 After execution of whole test suite, itadm can change the defaults auth-method to anything
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 7978
diff changeset
   111
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   112
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   113
	KV_HANDLED = 0,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   114
	KV_HANDLED_NO_TRANSIT,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   115
	KV_UNHANDLED,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   116
	KV_TARGET_ONLY,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   117
	KV_NO_RESOURCES,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   118
	KV_INTERNAL_ERROR,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   119
	KV_VALUE_ERROR,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   120
	KV_MISSING_FIELDS,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   121
	KV_AUTH_FAILED
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   122
} kv_status_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   123
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   124
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   125
 * Request structures
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   126
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   127
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   128
/* Defined in idm_impl.h */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   129
struct idm_conn_s;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   130
struct idm_svc_s;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   131
struct idm_buf_s;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   132
struct idm_pdu_s;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   133
struct idm_task_s;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   134
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   135
typedef idm_status_t (idm_client_notify_cb_t)(
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   136
    struct idm_conn_s *ic, idm_client_notify_t cn, uintptr_t data);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   137
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   138
typedef void (idm_rx_pdu_cb_t)(struct idm_conn_s *ic, struct idm_pdu_s *pdu);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   139
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   140
typedef void (idm_rx_pdu_error_cb_t)(struct idm_conn_s *ic,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   141
    struct idm_pdu_s *pdu, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   142
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   143
typedef void (idm_buf_cb_t)(struct idm_buf_s *idb, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   144
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   145
typedef void (idm_pdu_cb_t)(struct idm_pdu_s *pdu, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   146
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   147
typedef void (idm_task_cb_t)(struct idm_task_s *task, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   148
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   149
typedef void (idm_build_hdr_cb_t)(
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   150
    struct idm_task_s *task, struct idm_pdu_s *pdu, uint8_t opcode);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   151
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   152
typedef union idm_sockaddr {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   153
	struct sockaddr		sin;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   154
	struct sockaddr_in	sin4;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   155
	struct sockaddr_in6	sin6;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   156
} idm_sockaddr_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   157
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   158
#define	SIZEOF_SOCKADDR(so)		\
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   159
	((so)->sa_family == AF_INET ?	\
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   160
	sizeof (struct sockaddr_in) : sizeof (struct sockaddr_in6))
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   161
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   162
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   163
	idm_rx_pdu_cb_t		*icb_rx_scsi_cmd;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   164
	idm_rx_pdu_cb_t		*icb_rx_scsi_rsp;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   165
	idm_rx_pdu_cb_t		*icb_rx_misc;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   166
	idm_rx_pdu_error_cb_t	*icb_rx_error;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   167
	idm_task_cb_t		*icb_task_aborted;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   168
	idm_client_notify_cb_t	*icb_client_notify;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   169
	idm_build_hdr_cb_t	*icb_build_hdr;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   170
} idm_conn_ops_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   171
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   172
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   173
	int			cr_domain;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   174
	int			cr_type;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   175
	int			cr_protocol;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   176
	boolean_t		cr_bound;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   177
	idm_sockaddr_t		cr_bound_addr;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   178
	idm_sockaddr_t		cr_ini_dst_addr;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   179
	ldi_ident_t		cr_li;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   180
	idm_conn_ops_t		icr_conn_ops;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   181
} idm_conn_req_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   182
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   183
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   184
	uint16_t		sr_port;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   185
	ldi_ident_t		sr_li;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   186
	idm_conn_ops_t		sr_conn_ops;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   187
} idm_svc_req_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   188
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   189
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   190
/* This is not how other networking code handles this */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   191
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   192
	union {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   193
		struct in_addr	in4;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   194
		struct in6_addr	in6;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   195
	} i_addr;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   196
	/* i_insize determines which is valid in the union above */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   197
	int			i_insize;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   198
} idm_ipaddr_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   199
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   200
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   201
	idm_ipaddr_t		a_addr;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   202
	uint32_t		a_port,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   203
				a_oid;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   204
} idm_addr_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   205
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   206
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   207
	uint32_t		al_vers,			/* In */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   208
				al_oid;				/* In */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   209
	uint32_t		al_in_cnt;			/* In */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   210
	uint32_t		al_out_cnt;			/* Out */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   211
	uint32_t		al_tpgt;			/* Out */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   212
	idm_addr_t		al_addrs[1];			/* Out */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   213
} idm_addr_list_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   214
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   215
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   216
 * State machine auditing
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   217
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   218
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   219
#define	SM_AUDIT_BUF_MAX_REC	32
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   220
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   221
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   222
	SAR_UNDEFINED = 0,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   223
	SAR_STATE_EVENT,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   224
	SAR_STATE_CHANGE
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   225
} sm_audit_record_type_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   226
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   227
typedef enum {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   228
	SAS_UNDEFINED = 0,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   229
	SAS_IDM_CONN,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   230
	SAS_IDM_TASK,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   231
	SAS_ISCSIT_TGT,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   232
	SAS_ISCSIT_SESS,
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   233
	SAS_ISCSIT_LOGIN,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   234
	SAS_ISCSI_CMD,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   235
	SAS_ISCSI_SESS,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   236
	SAS_ISCSI_CONN,
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   237
	SAS_ISCSI_LOGIN
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   238
} sm_audit_sm_type_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   239
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   240
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   241
	timespec_t		sar_timestamp;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   242
	sm_audit_sm_type_t	sar_sm_type;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   243
	sm_audit_record_type_t	sar_type;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   244
	int			sar_state;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   245
	int			sar_new_state;	/* Only for SAR_STATE_CHANGE */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   246
	int			sar_event;	/* Only for SAR_STATE_EVENT */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   247
	uintptr_t		sar_event_info;	/* Only for SAR_STATE_EVENT */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   248
} sm_audit_record_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   249
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   250
typedef struct {
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   251
	int			sab_index;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   252
	int			sab_max_index;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   253
	sm_audit_record_t	sab_records[SM_AUDIT_BUF_MAX_REC];
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   254
} sm_audit_buf_t;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   255
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   256
extern boolean_t idm_sm_logging;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   257
extern boolean_t idm_conn_logging;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   258
extern boolean_t idm_svc_logging;
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   259
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   260
#define	IDM_SM_LOG if (idm_sm_logging) cmn_err
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   261
#define	IDM_CONN_LOG if (idm_conn_logging) cmn_err
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   262
#define	IDM_SVC_LOG if (idm_svc_logging) cmn_err
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   263
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   264
void idm_sm_audit_init(sm_audit_buf_t *audit_buf);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   265
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   266
void idm_sm_audit_event(sm_audit_buf_t *audit_buf,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   267
    sm_audit_sm_type_t sm_type,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   268
    int state, int event, uintptr_t event_info);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   269
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   270
void idm_sm_audit_state_change(sm_audit_buf_t *audit_buf,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   271
    sm_audit_sm_type_t sm_type, int state, int new_state);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   272
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   273
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   274
#include <sys/iscsi_protocol.h>
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   275
#include <sys/idm/idm_conn_sm.h>
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   276
#include <sys/idm/idm_transport.h>
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   277
#include <sys/idm/idm_impl.h>
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   278
#include <sys/idm/idm_text.h>
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   279
#include <sys/idm/idm_so.h>
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   280
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   281
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   282
 * iSCSI Initiator Services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   283
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   284
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   285
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   286
idm_ini_conn_create(idm_conn_req_t *cr, idm_conn_t **new_con);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   287
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   288
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   289
idm_ini_conn_connect(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   290
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   291
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   292
idm_ini_conn_disconnect(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   293
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   294
void
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   295
idm_ini_conn_disconnect_sync(idm_conn_t *ic);
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   296
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   297
void
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   298
idm_ini_conn_destroy(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   299
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   300
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   301
 * iSCSI Target Services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   302
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   303
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   304
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   305
idm_tgt_svc_create(idm_svc_req_t *sr, idm_svc_t **new_svc);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   306
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   307
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   308
idm_tgt_svc_online(idm_svc_t *is);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   309
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   310
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   311
idm_tgt_svc_offline(idm_svc_t *is);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   312
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   313
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   314
idm_tgt_svc_destroy(idm_svc_t *is);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   315
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   316
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   317
idm_tgt_svc_destroy_if_unref(idm_svc_t *is);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   318
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   319
idm_svc_t *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   320
idm_tgt_svc_lookup(uint16_t port);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   321
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   322
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   323
idm_tgt_svc_hold(idm_svc_t *is);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   324
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   325
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   326
idm_tgt_svc_rele_and_destroy(idm_svc_t *is);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   327
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   328
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   329
idm_tgt_conn_accept(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   330
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   331
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   332
idm_tgt_conn_reject(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   333
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   334
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   335
idm_conn_hold(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   336
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   337
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   338
idm_conn_rele(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   339
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   340
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   341
 * Target data transfer services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   342
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   343
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   344
idm_buf_tx_to_ini(idm_task_t *idt, idm_buf_t *idb,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   345
    uint32_t offset, uint32_t xfer_length,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   346
    idm_buf_cb_t idb_buf_cb, void *cb_arg);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   347
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   348
idm_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   349
idm_buf_rx_from_ini(idm_task_t *idt, idm_buf_t *idb,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   350
    uint32_t offset, uint32_t xfer_length,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   351
    idm_buf_cb_t idb_buf_cb, void *cb_arg);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   352
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   353
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   354
idm_buf_tx_to_ini_done(idm_task_t *idt, idm_buf_t *idb, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   355
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   356
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   357
idm_buf_rx_from_ini_done(idm_task_t *idt, idm_buf_t *idb, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   358
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   359
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   360
 * Shared Initiator/Target Services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   361
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   362
kv_status_t
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   363
idm_negotiate_key_values(idm_conn_t *ic, nvlist_t *request_nvl,
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   364
    nvlist_t *response_nvl, nvlist_t *negotiated_nvl);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   365
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   366
void
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   367
idm_notice_key_values(idm_conn_t *ic, nvlist_t *negotiated_nvl);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   368
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   369
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   370
 * Buffer services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   371
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   372
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   373
idm_buf_t *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   374
idm_buf_alloc(idm_conn_t *ic, void *bufptr, uint64_t buflen);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   375
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   376
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   377
idm_buf_free(idm_buf_t *idb);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   378
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   379
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   380
idm_buf_bind_in(idm_task_t *idt, idm_buf_t *buf);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   381
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   382
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   383
idm_buf_bind_out(idm_task_t *idt, idm_buf_t *buf);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   384
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   385
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   386
idm_buf_unbind_in(idm_task_t *idt, idm_buf_t *buf);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   387
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   388
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   389
idm_buf_unbind_out(idm_task_t *idt, idm_buf_t *buf);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   390
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   391
idm_buf_t *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   392
idm_buf_find(void *lbuf, size_t data_offset);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   393
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   394
void
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   395
idm_bufpat_set(idm_buf_t *idb);
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   396
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   397
boolean_t
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   398
idm_bufpat_check(idm_buf_t *idb, int check_len, idm_bufpat_check_type_t type);
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   399
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   400
extern boolean_t idm_pattern_checking;
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   401
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   402
#define	IDM_BUFPAT_SET(CHK_BUF) 				\
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   403
	if (idm_pattern_checking && (CHK_BUF)->idb_bufalloc) {	\
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   404
		idm_bufpat_set(CHK_BUF);			\
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   405
	}
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   406
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   407
#define	IDM_BUFPAT_CHECK(CHK_BUF, CHK_LEN, CHK_TYPE) 		\
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   408
	if (idm_pattern_checking) {				\
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   409
		(void) idm_bufpat_check(CHK_BUF, CHK_LEN, CHK_TYPE);	\
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   410
	}
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   411
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   412
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   413
 * Task services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   414
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   415
idm_task_t *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   416
idm_task_alloc(idm_conn_t *ic);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   417
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   418
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   419
idm_task_start(idm_task_t *idt, uintptr_t handle);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   420
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   421
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   422
idm_task_abort(idm_conn_t *ic, idm_task_t *idt, idm_abort_type_t abort_type);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   423
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   424
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   425
idm_task_cleanup(idm_task_t *idt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   426
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   427
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   428
idm_task_done(idm_task_t *idt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   429
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   430
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   431
idm_task_free(idm_task_t *idt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   432
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   433
idm_task_t *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   434
idm_task_find(idm_conn_t *ic, uint32_t itt, uint32_t ttt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   435
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   436
idm_task_t *
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   437
idm_task_find_and_complete(idm_conn_t *ic, uint32_t itt, uint32_t ttt);
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   438
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   439
void *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   440
idm_task_find_by_handle(idm_conn_t *ic, uintptr_t handle);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   441
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   442
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   443
idm_task_hold(idm_task_t *idt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   444
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   445
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   446
idm_task_rele(idm_task_t *idt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   447
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   448
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   449
 * PDU Services
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   450
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   451
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   452
idm_pdu_t *
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   453
idm_pdu_alloc(uint_t hdrlen, uint_t datalen);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   454
9162
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   455
idm_pdu_t *
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   456
idm_pdu_alloc_nosleep(uint_t hdrlen, uint_t datalen);
b011b0287065 PSARC 2008/395 iSER: iSCSI Extensions for RDMA
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents: 8062
diff changeset
   457
7978
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   458
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   459
idm_pdu_free(idm_pdu_t *pdu);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   460
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   461
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   462
idm_pdu_init(idm_pdu_t *pdu, idm_conn_t *ic, void *private, idm_pdu_cb_t *cb);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   463
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   464
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   465
idm_pdu_init_hdr(idm_pdu_t *pdu, uint8_t *hdr, uint_t hdrlen);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   466
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   467
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   468
idm_pdu_init_data(idm_pdu_t *pdu, uint8_t *data, uint_t datalen);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   469
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   470
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   471
idm_pdu_complete(idm_pdu_t *pdu, idm_status_t status);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   472
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   473
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   474
idm_pdu_tx(idm_pdu_t *pdu);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   475
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   476
/*
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   477
 * Object reference tracking
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   478
 */
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   479
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   480
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   481
idm_refcnt_init(idm_refcnt_t *refcnt, void *referenced_obj);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   482
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   483
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   484
idm_refcnt_destroy(idm_refcnt_t *refcnt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   485
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   486
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   487
idm_refcnt_reset(idm_refcnt_t *refcnt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   488
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   489
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   490
idm_refcnt_hold(idm_refcnt_t *refcnt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   491
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   492
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   493
idm_refcnt_rele(idm_refcnt_t *refcnt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   494
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   495
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   496
idm_refcnt_rele_and_destroy(idm_refcnt_t *refcnt, idm_refcnt_cb_t *cb_func);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   497
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   498
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   499
idm_refcnt_wait_ref(idm_refcnt_t *refcnt);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   500
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   501
void
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   502
idm_refcnt_async_wait_ref(idm_refcnt_t *refcnt, idm_refcnt_cb_t *cb_func);
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   503
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   504
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   505
#ifdef	__cplusplus
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   506
}
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   507
#endif
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   508
4559e57ec313 PSARC 2008/587 iSCSI Port Provider for COMSTAR
Peter Dunlap <Peter.Dunlap@Sun.COM>
parents:
diff changeset
   509
#endif /* _IDM_H */