1/*
2 * Copyright (c) 2010 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * 1.  Redistributions of source code must retain the above copyright
11 *     notice, this list of conditions and the following disclaimer.
12 * 2.  Redistributions in binary form must reproduce the above copyright
13 *     notice, this list of conditions and the following disclaimer in the
14 *     documentation and/or other materials provided with the distribution.
15 * 3.  Neither the name of Apple Inc. ("Apple") nor the names of its
16 *     contributors may be used to endorse or promote products derived from
17 *     this software without specific prior written permission.
18 *
19 * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
20 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22 * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
23 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 *
30 * Portions of this software have been released under the following terms:
31 *
32 * (c) Copyright 1989-1993 OPEN SOFTWARE FOUNDATION, INC.
33 * (c) Copyright 1989-1993 HEWLETT-PACKARD COMPANY
34 * (c) Copyright 1989-1993 DIGITAL EQUIPMENT CORPORATION
35 *
36 * To anyone who acknowledges that this file is provided "AS IS"
37 * without any express or implied warranty:
38 * permission to use, copy, modify, and distribute this file for any
39 * purpose is hereby granted without fee, provided that the above
40 * copyright notices and this notice appears in all source code copies,
41 * and that none of the names of Open Software Foundation, Inc., Hewlett-
42 * Packard Company or Digital Equipment Corporation be used
43 * in advertising or publicity pertaining to distribution of the software
44 * without specific, written prior permission.  Neither Open Software
45 * Foundation, Inc., Hewlett-Packard Company nor Digital
46 * Equipment Corporation makes any representations about the suitability
47 * of this software for any purpose.
48 *
49 * Copyright (c) 2007, Novell, Inc. All rights reserved.
50 * Redistribution and use in source and binary forms, with or without
51 * modification, are permitted provided that the following conditions
52 * are met:
53 *
54 * 1.  Redistributions of source code must retain the above copyright
55 *     notice, this list of conditions and the following disclaimer.
56 * 2.  Redistributions in binary form must reproduce the above copyright
57 *     notice, this list of conditions and the following disclaimer in the
58 *     documentation and/or other materials provided with the distribution.
59 * 3.  Neither the name of Novell Inc. nor the names of its contributors
60 *     may be used to endorse or promote products derived from this
61 *     this software without specific prior written permission.
62 *
63 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
64 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
65 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
66 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY
67 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
68 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
69 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
70 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
71 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
72 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
73 *
74 * @APPLE_LICENSE_HEADER_END@
75 */
76
77/*
78**
79**  NAME
80**
81**      cnmgmt.c
82**
83**  FACILITY:
84**
85**      Remote Procedure Call (RPC)
86**
87**  ABSTRACT:
88**
89**  The NCA Connection Protocol Service's Management Service.
90**
91**
92*/
93
94#include <commonp.h>    /* Common declarations for all RPC runtime */
95#include <com.h>        /* Common communications services */
96#include <comprot.h>    /* Common protocol services */
97#include <cnp.h>        /* NCA Connection private declarations */
98#include <cnmgmt.h>
99
100
101/*
102**++
103**
104**  ROUTINE NAME:       rpc__cn_mgmt_init
105**
106**  SCOPE:              PRIVATE - declared in cnmgmt.h,
107**                                called from cninit.
108**
109**  DESCRIPTION:
110**
111**  Initialize the Connection management data collection
112**  registers.
113**
114**  INPUTS:             none
115**
116**  INPUTS/OUTPUTS:     none
117**
118**  OUTPUTS:            none
119**
120**
121**  IMPLICIT INPUTS:    none
122**
123**  IMPLICIT OUTPUTS:   Management counters cleared.
124**
125**  FUNCTION VALUE:     none
126**
127**  SIDE EFFECTS:       none
128**
129**--
130**/
131
132PRIVATE void rpc__cn_mgmt_init (void)
133{
134    memset (&rpc_g_cn_mgmt, 0, sizeof (rpc_g_cn_mgmt));
135}
136
137/*
138**++
139**
140**  Routine NAME:       rpc__cn_mgmt_inq_calls_sent
141**
142**  SCOPE:              PRIVATE - declared in cnmgmt.h
143**
144**  DESCRIPTION:
145**
146**  Report the total number of RPC that have been sent by
147**  the NCA Connection Protocol.
148**
149**  INPUTS:             none
150**
151**  INPUTS/OUTPUTS:     none
152**
153**  OUTPUTS:            none
154**
155**  IMPLICIT INPUTS:    none
156**
157**  IMPLICIT OUTPUTS:   none
158**
159**  FUNCTION VALUE:
160**
161**      return          The number of RPCs sent through the NCA
162**                      Connection Protocol Service.
163**
164**  SIDE EFFECTS:       none
165**
166**--
167**/
168
169PRIVATE unsigned32 rpc__cn_mgmt_inq_calls_sent (void)
170
171{
172    return (rpc_g_cn_mgmt.calls_sent);
173}
174
175
176
177/*
178**++
179**
180**  Routine NAME:       rpc__cn_mgmt_inq_calls_rcvd
181**
182**  SCOPE:              PRIVATE - declared in cnmgmt.h
183**
184**  DESCRIPTION:
185**
186**  Report the total number of RPCs that have been received by
187**  the NCA Connection Protocol.
188**
189**  INPUTS:             none
190**
191**  INPUTS/OUTPUTS:     none
192**
193**  OUTPUTS:            none
194**
195**  IMPLICIT INPUTS:    none
196**
197**  IMPLICIT OUTPUTS:   none
198**
199**  FUNCTION VALUE:
200**
201**      return          The number of RPCs received through the NCA
202**                      Connection Protocol Service.
203**
204**  SIDE EFFECTS:       none
205**
206**--
207**/
208
209PRIVATE unsigned32 rpc__cn_mgmt_inq_calls_rcvd (void)
210
211{
212    return (rpc_g_cn_mgmt.calls_rcvd);
213}
214
215
216/*
217**++
218**
219**  ROUTINE NAME:       rpc__cn_mgmt_inq_pkts_sent
220**
221**  SCOPE:              PRIVATE - declared in cnmgmt.h
222**
223**  DESCRIPTION:
224**
225**  Report the total number of packets that have been sent by
226**  the NCA Connection Protocol.
227**
228**
229**  INPUTS:             none
230**
231**  INPUTS/OUTPUTS:     none
232**
233**  OUTPUTS:            none
234**
235**  IMPLICIT INPUTS:    none
236**
237**  IMPLICIT OUTPUTS:   none
238**
239**  FUNCTION VALUE:
240**
241**      return          The number of RPC packets sent by the NCA
242**                      Connection Protocol Service.
243**
244**  SIDE EFFECTS:       none
245**
246**--
247**/
248
249PRIVATE unsigned32 rpc__cn_mgmt_inq_pkts_sent (void)
250
251{
252
253    return (rpc_g_cn_mgmt.pkts_sent);
254}
255
256
257/*
258**++
259**
260**  ROUTINE NAME:       rpc__cn_mgmt_inq_pkts_rcvd
261**
262**  SCOPE:              PRIVATE - declared in cnmgmt.h
263**
264**  DESCRIPTION:
265**
266**  Report the total number of packets that have been received by
267**  the NCA Connection Protocol.
268**
269**  INPUTS:             none
270**
271**  INPUTS/OUTPUTS:     none
272**
273**  OUTPUTS:            none
274**
275**  IMPLICIT INPUTS:    none
276**
277**  IMPLICIT OUTPUTS:   none
278**
279**  FUNCTION VALUE:
280**
281**      return          The number of RPC packets received by
282**                      the NCA Connection Protocol Service.
283**
284**  SIDE EFFECTS:       none
285**
286**--
287**/
288
289PRIVATE unsigned32 rpc__cn_mgmt_inq_pkts_rcvd (void)
290{
291    return (rpc_g_cn_mgmt.pkts_rcvd);
292}
293