Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/scsi/osd_sec.h
10820 views
1
/*
2
* osd_sec.h - OSD security manager API
3
*
4
* Copyright (C) 2008 Panasas Inc. All rights reserved.
5
*
6
* Authors:
7
* Boaz Harrosh <[email protected]>
8
* Benny Halevy <[email protected]>
9
*
10
* This program is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License version 2
12
*
13
*/
14
#ifndef __OSD_SEC_H__
15
#define __OSD_SEC_H__
16
17
#include "osd_protocol.h"
18
#include "osd_types.h"
19
20
/*
21
* Contains types and constants of osd capabilities and security
22
* encoding/decoding.
23
* API is trying to keep security abstract so initiator of an object
24
* based pNFS client knows as little as possible about security and
25
* capabilities. It is the Server's osd-initiator place to know more.
26
* Also can be used by osd-target.
27
*/
28
void osd_sec_encode_caps(void *caps, ...);/* NI */
29
void osd_sec_init_nosec_doall_caps(void *caps,
30
const struct osd_obj_id *obj, bool is_collection, const bool is_v1);
31
32
bool osd_is_sec_alldata(struct osd_security_parameters *sec_params);
33
34
/* Conditionally sign the CDB according to security setting in ocdb
35
* with cap_key */
36
void osd_sec_sign_cdb(struct osd_cdb *ocdb, const u8 *cap_key);
37
38
/* Unconditionally sign the BIO data with cap_key.
39
* Check for osd_is_sec_alldata() was done prior to calling this. */
40
void osd_sec_sign_data(void *data_integ, struct bio *bio, const u8 *cap_key);
41
42
/* Version independent copy of caps into the cdb */
43
void osd_set_caps(struct osd_cdb *cdb, const void *caps);
44
45
#endif /* ndef __OSD_SEC_H__ */
46
47