Lines Matching +full:test2 +full:. +full:good
4 * Copyright (c) 2003 Silicon Graphics International Corp.
5 * Copyright (c) 2014-2015 Alexander Motin <mav@FreeBSD.org>
6 * All rights reserved.
11 * 1. Redistributions of source code must retain the above copyright
13 * without modification.
14 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
18 * binary redistribution.
24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 * POSSIBILITY OF SUCH DAMAGES.
33 * $Id: //depot/users/kenm/FreeBSD-test2/sys/cam/ctl/ctl_io.h#5 $
37 * CAM Target Layer data movement structures/interface.
39 * Author: Ken Merry <ken@FreeBSD.org>
46 #include <stdbool.h>
53 * and/or done stage.
61 * Uncomment this next line to enable the CTL I/O delay feature. You
62 * can delay I/O at two different points -- datamove and done. This is
64 * timeout), and for determining how long a host's timeout is.
81 * WARNING: Keep the data in/out/none flags where they are. They're used
82 * in conjunction with ctl_cmd_flags. See comment above ctl_cmd_flags
83 * definition in ctl_private.h.
151 * Number of CTL private areas.
166 #define CTL_LUN(io) ((io)->io_hdr.ctl_private[CTL_PRIV_LUN].ptrs[0])
167 #define CTL_SOFTC(io) ((io)->io_hdr.ctl_private[CTL_PRIV_LUN].ptrs[1])
168 #define CTL_BACKEND_LUN(io) ((io)->io_hdr.ctl_private[CTL_PRIV_BACKEND_LUN].ptrs[0])
170 ctl_ports[(io)->io_hdr.nexus.targ_port])
174 * ever reach backends, so we can reuse backend's private storage.
176 #define CTL_RSGL(io) ((io)->io_hdr.ctl_private[CTL_PRIV_BACKEND].ptrs[0])
177 #define CTL_LSGL(io) ((io)->io_hdr.ctl_private[CTL_PRIV_BACKEND].ptrs[1])
211 CTL_MSG_UA, /* Set/clear UA on secondary. */
212 CTL_MSG_PORT_SYNC, /* Information about port. */
213 CTL_MSG_LUN_SYNC, /* Information about LUN. */
214 CTL_MSG_IID_SYNC, /* Information about initiator. */
215 CTL_MSG_LOGIN, /* Information about HA peer. */
216 CTL_MSG_MODE_SYNC, /* Mode page current content. */
224 ctl_io_type io_type; /* task I/O, SCSI I/O, etc. */
230 uint32_t port_status; /* trans status, set by PORT, 0 = good*/
266 * SCSI passthrough I/O structure for the CAM Target Layer. Note
268 * used in the CTL implementation. e.g., timeout and retries won't be
269 * used.
272 * structure.
279 * doesn't modify or use them.
288 * by kern_data_ptr. 0 means there is no list, just a data pointer.
292 uint32_t rem_sg_entries; /* Unused. */
295 * The data pointer or a pointer to the scatter/gather list.
300 * Length of the data buffer or scatter/gather list. It's also
302 * ie. number of bytes expected to be transferred by the current
303 * invocation of frontend's datamove() callback. It's always
304 * less than or equal to kern_total_len.
310 * SCSI command, as decoded from SCSI CDB.
315 * Amount of data left after the current data transfer.
322 * datamove() invocations.
329 uint8_t seridx; /* Serialization index. */
333 ctl_tag_type tag_type; /* simple, ordered, head of queue,etc.*/
367 * Task management I/O structure. Aborts, bus resets, etc., are sent using
368 * this structure.
371 * structure.
375 ctl_task_type task_action; /* Target Reset, Abort, etc. */
377 ctl_tag_type tag_type; /* simple, ordered, etc. */
378 uint8_t task_status; /* Complete, Succeeded, etc. */
383 * HA link messages.
388 * Used for CTL_MSG_LOGIN.
411 * to the other SC which it must also act on.
414 * structure.
435 * Used for CTL_MSG_PERS_ACTION.
443 * Used for CTL_MSG_UA.
455 * structure, because we can't pass data by reference in between controllers.
457 * kern_data_ptr field. So kern_sg_entries here will always be non-zero,
458 * even if there is only one entry.
460 * Used for CTL_MSG_DATAMOVE.
482 * and CTL_MSG_DATAMOVE_DONE.
487 ctl_tag_type tag_type; /* simple, ordered, etc. */
494 0 = good*/
500 * Used for CTL_MSG_MANAGE_TASKS.
504 ctl_task_type task_action; /* Target Reset, Abort, etc. */
506 ctl_tag_type tag_type; /* simple, ordered, etc. */
510 * Used for CTL_MSG_PORT_SYNC.
527 * Used for CTL_MSG_LUN_SYNC.
546 * Used for CTL_MSG_IID_SYNC.
557 * Used for CTL_MSG_MODE_SYNC.
590 struct ctl_prio presio; /* update per. res info on other SC */