1 /* 2 * Copyright (c) 2004-2008 Voltaire, Inc. All rights reserved. 3 * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved. 4 * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. 5 * 6 * This software is available to you under a choice of one of two 7 * licenses. You may choose to be licensed under the terms of the GNU 8 * General Public License (GPL) Version 2, available from the file 9 * COPYING in the main directory of this source tree, or the 10 * OpenIB.org BSD license below: 11 * 12 * Redistribution and use in source and binary forms, with or 13 * without modification, are permitted provided that the following 14 * conditions are met: 15 * 16 * - Redistributions of source code must retain the above 17 * copyright notice, this list of conditions and the following 18 * disclaimer. 19 * 20 * - Redistributions in binary form must reproduce the above 21 * copyright notice, this list of conditions and the following 22 * disclaimer in the documentation and/or other materials 23 * provided with the distribution. 24 * 25 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 26 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 27 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 28 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS 29 * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 30 * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 31 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 32 * SOFTWARE. 33 * 34 */ 35 36 #ifndef _OSM_ATTRIB_REQ_H_ 37 #define _OSM_ATTRIB_REQ_H_ 38 39 #include <opensm/osm_path.h> 40 41 #ifdef __cplusplus 42 # define BEGIN_C_DECLS extern "C" { 43 # define END_C_DECLS } 44 #else /* !__cplusplus */ 45 # define BEGIN_C_DECLS 46 # define END_C_DECLS 47 #endif /* __cplusplus */ 48 49 BEGIN_C_DECLS 50 /* 51 * Abstract: 52 * Declaration of the attribute request object. This object 53 * encapsulates information needed by the generic request controller 54 * to request an attribute from a node. 55 * These objects are part of the OpenSM family of objects. 56 */ 57 /****h* OpenSM/Attribute Request 58 * NAME 59 * Attribute Request 60 * 61 * DESCRIPTION 62 * The Attribute Request structure encapsulates 63 * encapsulates information needed by the generic request controller 64 * to request an attribute from a node. 65 * 66 * This structure allows direct access to member variables. 67 * 68 * AUTHOR 69 * Steve King, Intel 70 * 71 *********/ 72 /****s* OpenSM: Attribute Request/osm_attrib_req_t 73 * NAME 74 * osm_attrib_req_t 75 * 76 * DESCRIPTION 77 * Attribute request structure. 78 * 79 * This structure allows direct access to member variables. 80 * 81 * SYNOPSIS 82 */ 83 typedef struct osm_attrib_req { 84 uint16_t attrib_id; 85 uint32_t attrib_mod; 86 osm_madw_context_t context; 87 osm_dr_path_t path; 88 cl_disp_msgid_t err_msg; 89 } osm_attrib_req_t; 90 /* 91 * FIELDS 92 * attrib_id 93 * Attribute ID for this request. 94 * 95 * attrib_mod 96 * Attribute modifier for this request. 97 * 98 * context 99 * Context to insert in outbound mad wrapper context. 100 * 101 * path 102 * The directed route path to the node. 103 * 104 * SEE ALSO 105 *********/ 106 107 END_C_DECLS 108 #endif /* _OSM_ATTRIB_REQ_H_ */ 109