OneCore⢠Storage SDK Release 11.2
User Space FC/FCoE Target RAMD Driver (Uspace ocs_fc_ramd)
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
ocs.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011-2015, Emulex
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice,
9
* this list of conditions and the following disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice,
12
* this list of conditions and the following disclaimer in the documentation
13
* and/or other materials provided with the distribution.
14
*
15
* 3. Neither the name of the copyright holder nor the names of its contributors
16
* may be used to endorse or promote products derived from this software
17
* without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
23
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29
* POSSIBILITY OF SUCH DAMAGE.
30
*
31
*/
32
33
/**
34
* @file
35
* OCS linux driver common include file
36
*/
37
38
39
#if !defined(__OCS_H__)
40
#define __OCS_H__
41
42
#define OCS_ENABLE_VPD_SUPPORT
43
44
#include <
version.h
>
45
46
#define OCSU_FC_RAMD
47
48
#define DRV_NAME "ocsu"
49
#define DRV_VERSION STR_BE_MAJOR "." STR_BE_MINOR "." STR_BE_BUILD "." STR_BE_BRANCH
50
51
#include "ocs_os.h"
52
#include "ocs_impl_uspace.h"
53
#include "ocs_driver.h"
54
#include "
ocs_scsi_force_free_stub.h
"
55
#include "
ocs_nvme_stub.h
"
56
57
#define OCS_DRIVE_MAX_EVENT_THREADS 16
58
typedef
struct
{
59
uint32_t uspace_thread_per_port:1;
60
uint32_t uspace_threads_block:1;
61
ocs_thread_t event_thr[
OCS_DRIVE_MAX_EVENT_THREADS
];
62
uint32_t
event_thr_count
;
63
ocs_thread_t
ioctl_thr
;
64
dslab_dir_t *
slabdir
;
/*>> dma slab allocator */
65
uint32_t
attached
;
66
}
ocs_drv_t
;
67
68
#include "
ocs_drv_fc.h
"
69
70
extern
int32_t
ocs_free_io_pool
(ocs_t *ocs);
71
72
#endif // __OCS_H__
ocs_scsi_force_free_stub.h
ocs_drv_t::slabdir
dslab_dir_t * slabdir
Definition:
ocs.h:64
ocs_drv_t::event_thr_count
uint32_t event_thr_count
Definition:
ocs.h:62
ocs_nvme_stub.h
ocs_drv_t::ioctl_thr
ocs_thread_t ioctl_thr
Definition:
ocs.h:63
ocs_drv_fc.h
ocs_free_io_pool
int32_t ocs_free_io_pool(ocs_t *ocs)
ocs_drv_t
Definition:
ocs.h:58
ocs_drv_t::attached
uint32_t attached
Definition:
ocs.h:65
version.h
OCS_DRIVE_MAX_EVENT_THREADS
#define OCS_DRIVE_MAX_EVENT_THREADS
Definition:
ocs.h:57
ocs.h