sati_write.h revision 231134
1252190Srpaulo/*-
2252190Srpaulo * This file is provided under a dual BSD/GPLv2 license.  When using or
3252190Srpaulo * redistributing this file, you may do so under either license.
4252190Srpaulo *
5252190Srpaulo * GPL LICENSE SUMMARY
6252190Srpaulo *
7252190Srpaulo * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
8252190Srpaulo *
9252190Srpaulo * This program is free software; you can redistribute it and/or modify
10252190Srpaulo * it under the terms of version 2 of the GNU General Public License as
11252190Srpaulo * published by the Free Software Foundation.
12252190Srpaulo *
13252190Srpaulo * This program is distributed in the hope that it will be useful, but
14252190Srpaulo * WITHOUT ANY WARRANTY; without even the implied warranty of
15252190Srpaulo * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16252190Srpaulo * General Public License for more details.
17252190Srpaulo *
18252190Srpaulo * You should have received a copy of the GNU General Public License
19252190Srpaulo * along with this program; if not, write to the Free Software
20252190Srpaulo * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
21252190Srpaulo * The full GNU General Public License is included in this distribution
22252190Srpaulo * in the file called LICENSE.GPL.
23252190Srpaulo *
24252190Srpaulo * BSD LICENSE
25252190Srpaulo *
26252190Srpaulo * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.
27252190Srpaulo * All rights reserved.
28252190Srpaulo *
29252190Srpaulo * Redistribution and use in source and binary forms, with or without
30252190Srpaulo * modification, are permitted provided that the following conditions
31252190Srpaulo * are met:
32252190Srpaulo *
33252190Srpaulo *   * Redistributions of source code must retain the above copyright
34252190Srpaulo *     notice, this list of conditions and the following disclaimer.
35252190Srpaulo *   * Redistributions in binary form must reproduce the above copyright
36252190Srpaulo *     notice, this list of conditions and the following disclaimer in
37252190Srpaulo *     the documentation and/or other materials provided with the
38252190Srpaulo *     distribution.
39252190Srpaulo *
40252190Srpaulo * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
41252190Srpaulo * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
42252190Srpaulo * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
43252190Srpaulo * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
44252190Srpaulo * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
45252190Srpaulo * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
46252190Srpaulo * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
47252190Srpaulo * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
48252190Srpaulo * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
49252190Srpaulo * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
50252190Srpaulo * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51252190Srpaulo *
52252190Srpaulo * $FreeBSD$
53252190Srpaulo */
54252190Srpaulo#ifndef _SATI_WRITE_H_
55252190Srpaulo#define _SATI_WRITE_H_
56252190Srpaulo
57252190Srpaulo/**
58252190Srpaulo * @file
59252190Srpaulo * @brief This file contains the method declarations and type definitions
60252190Srpaulo *        required to translate the SCSI write (6, 10, 12, or 16-byte)
61252190Srpaulo *        commands.
62252190Srpaulo */
63252190Srpaulo
64252190Srpaulo#include <dev/isci/scil/sati_types.h>
65252190Srpaulo#include <dev/isci/scil/sati_translator_sequence.h>
66252190Srpaulo
67252190SrpauloSATI_STATUS sati_write_6_translate_command(
68252190Srpaulo   SATI_TRANSLATOR_SEQUENCE_T * sequence,
69252190Srpaulo   void                       * scsi_io,
70252190Srpaulo   void                       * ata_io
71252190Srpaulo);
72252190Srpaulo
73252190SrpauloSATI_STATUS sati_write_10_translate_command(
74252190Srpaulo   SATI_TRANSLATOR_SEQUENCE_T * sequence,
75252190Srpaulo   void                       * scsi_io,
76252190Srpaulo   void                       * ata_io
77252190Srpaulo);
78252190Srpaulo
79252190SrpauloSATI_STATUS sati_write_12_translate_command(
80252190Srpaulo   SATI_TRANSLATOR_SEQUENCE_T * sequence,
81252190Srpaulo   void                       * scsi_io,
82252190Srpaulo   void                       * ata_io
83252190Srpaulo);
84252190Srpaulo
85252190SrpauloSATI_STATUS sati_write_16_translate_command(
86252190Srpaulo   SATI_TRANSLATOR_SEQUENCE_T * sequence,
87252190Srpaulo   void                       * scsi_io,
88252190Srpaulo   void                       * ata_io
89252190Srpaulo);
90252190Srpaulo
91252190Srpaulo#endif // _SATI_WRITE_H_
92252190Srpaulo