1321936Shselasky/*
2321936Shselasky * Copyright (c) 2004-2009 Voltaire, Inc. All rights reserved.
3321936Shselasky * Copyright (c) 2002-2005 Mellanox Technologies LTD. All rights reserved.
4321936Shselasky * Copyright (c) 1996-2003 Intel Corporation. All rights reserved.
5321936Shselasky *
6321936Shselasky * This software is available to you under a choice of one of two
7321936Shselasky * licenses.  You may choose to be licensed under the terms of the GNU
8321936Shselasky * General Public License (GPL) Version 2, available from the file
9321936Shselasky * COPYING in the main directory of this source tree, or the
10321936Shselasky * OpenIB.org BSD license below:
11321936Shselasky *
12321936Shselasky *     Redistribution and use in source and binary forms, with or
13321936Shselasky *     without modification, are permitted provided that the following
14321936Shselasky *     conditions are met:
15321936Shselasky *
16321936Shselasky *      - Redistributions of source code must retain the above
17321936Shselasky *        copyright notice, this list of conditions and the following
18321936Shselasky *        disclaimer.
19321936Shselasky *
20321936Shselasky *      - Redistributions in binary form must reproduce the above
21321936Shselasky *        copyright notice, this list of conditions and the following
22321936Shselasky *        disclaimer in the documentation and/or other materials
23321936Shselasky *        provided with the distribution.
24321936Shselasky *
25321936Shselasky * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
26321936Shselasky * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
27321936Shselasky * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
28321936Shselasky * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
29321936Shselasky * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
30321936Shselasky * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
31321936Shselasky * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32321936Shselasky * SOFTWARE.
33321936Shselasky *
34321936Shselasky */
35321936Shselasky
36321936Shselasky/*
37321936Shselasky * Abstract:
38321936Shselasky *    Implementation of osm_sm_t.
39321936Shselasky * This object represents the remote SM object.
40321936Shselasky * This object is part of the opensm family of objects.
41321936Shselasky */
42321936Shselasky
43321936Shselasky#if HAVE_CONFIG_H
44321936Shselasky#  include <config.h>
45321936Shselasky#endif				/* HAVE_CONFIG_H */
46321936Shselasky
47321936Shselasky#include <string.h>
48321936Shselasky#include <opensm/osm_file_ids.h>
49321936Shselasky#define FILE_ID OSM_FILE_REMOTE_SM_C
50321936Shselasky#include <opensm/osm_remote_sm.h>
51321936Shselasky
52321936Shselaskyvoid osm_remote_sm_construct(IN osm_remote_sm_t * p_sm)
53321936Shselasky{
54321936Shselasky	memset(p_sm, 0, sizeof(*p_sm));
55321936Shselasky}
56321936Shselasky
57321936Shselaskyvoid osm_remote_sm_destroy(IN osm_remote_sm_t * p_sm)
58321936Shselasky{
59321936Shselasky	memset(p_sm, 0, sizeof(*p_sm));
60321936Shselasky}
61321936Shselasky
62321936Shselaskyvoid osm_remote_sm_init(IN osm_remote_sm_t * p_sm,
63321936Shselasky			IN const ib_sm_info_t * p_smi)
64321936Shselasky{
65321936Shselasky	CL_ASSERT(p_sm);
66321936Shselasky
67321936Shselasky	osm_remote_sm_construct(p_sm);
68321936Shselasky
69321936Shselasky	p_sm->smi = *p_smi;
70321936Shselasky	return;
71321936Shselasky}
72