12f245829Sagc /* 2*b6364952Sagc * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. 3*b6364952Sagc * By downloading, copying, installing or using the software you agree 4*b6364952Sagc * to this license. If you do not agree to this license, do not 5*b6364952Sagc * download, install, copy or use the software. 62f245829Sagc * 72f245829Sagc * Intel License Agreement 82f245829Sagc * 9*b6364952Sagc * Copyright (c) 2000, Intel Corporation 102f245829Sagc * All rights reserved. 112f245829Sagc * 12*b6364952Sagc * Redistribution and use in source and binary forms, with or without 13*b6364952Sagc * modification, are permitted provided that the following conditions 14*b6364952Sagc * are met: 152f245829Sagc * 16*b6364952Sagc * -Redistributions of source code must retain the above copyright 17*b6364952Sagc * notice, this list of conditions and the following disclaimer. 182f245829Sagc * 19*b6364952Sagc * -Redistributions in binary form must reproduce the above copyright 20*b6364952Sagc * notice, this list of conditions and the following disclaimer in the 21*b6364952Sagc * documentation and/or other materials provided with the 22*b6364952Sagc * distribution. 232f245829Sagc * 24*b6364952Sagc * -The name of Intel Corporation may not be used to endorse or 25*b6364952Sagc * promote products derived from this software without specific prior 26*b6364952Sagc * written permission. 272f245829Sagc * 28*b6364952Sagc * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 29*b6364952Sagc * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 30*b6364952Sagc * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 31*b6364952Sagc * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL 32*b6364952Sagc * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 33*b6364952Sagc * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 34*b6364952Sagc * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 35*b6364952Sagc * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 36*b6364952Sagc * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 37*b6364952Sagc * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 38*b6364952Sagc * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 39*b6364952Sagc * SUCH DAMAGE. 402f245829Sagc */ 412f245829Sagc /* 422f245829Sagc * Transport-independent Methods 432f245829Sagc */ 442f245829Sagc 452f245829Sagc 462f245829Sagc #ifndef _OSD_OPS_H_ 472f245829Sagc #define _OSD_OPS_H_ 482f245829Sagc 492f245829Sagc #include "osd.h" 502f245829Sagc 512f245829Sagc typedef struct osd_ops_mem { 522f245829Sagc const void *send_data; 532f245829Sagc uint64_t send_len; 542f245829Sagc int send_sg; 552f245829Sagc void *recv_data; 562f245829Sagc uint64_t recv_len; 572f245829Sagc int recv_sg; 582f245829Sagc } OSD_OPS_MEM; 592f245829Sagc 602f245829Sagc int osd_create_group(void *, int (*)(void *, osd_args_t *, OSD_OPS_MEM *), uint32_t *); 612f245829Sagc int osd_remove_group(void *, uint32_t , int (*)(void *, osd_args_t *, OSD_OPS_MEM *)); 622f245829Sagc int osd_create(void *, uint32_t , int (*)(void *, osd_args_t *, OSD_OPS_MEM *), uint64_t *); 632f245829Sagc int osd_remove(void *, uint32_t , uint64_t , int (*)(void *, osd_args_t *, OSD_OPS_MEM *)); 642f245829Sagc int osd_write(void *, uint32_t , uint64_t , uint64_t , uint64_t , const void *, int , int (*)(void *, osd_args_t *, OSD_OPS_MEM *)); 652f245829Sagc int osd_read(void *, uint32_t , uint64_t , uint64_t , uint64_t , void *, int , int (*)(void *, osd_args_t *, OSD_OPS_MEM *)); 662f245829Sagc int osd_set_one_attr(void *, uint32_t , uint64_t , uint32_t , uint32_t , uint32_t , void *, int (*)(void *, osd_args_t *, OSD_OPS_MEM *)); 672f245829Sagc int osd_get_one_attr(void *, uint32_t , uint64_t , uint32_t , uint32_t , uint32_t , int (*)(void *, osd_args_t *, OSD_OPS_MEM *), uint16_t *, void *); 682f245829Sagc 692f245829Sagc #endif 70