1 /* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
2 * vim:expandtab:shiftwidth=8:tabstop=8:
5 * Network status registers and distance functions.
7 * Copyright (c) 2001-2003 Cluster File Systems, Inc.
8 * Copyright (c) 2001-2002 Sandia National Laboratories
10 * This file is part of Lustre, http://www.sf.net/projects/lustre/
12 * Lustre is free software; you can redistribute it and/or
13 * modify it under the terms of version 2 of the GNU General Public
14 * License as published by the Free Software Foundation.
16 * Lustre is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with Lustre; if not, write to the Free Software
23 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 #define DEBUG_SUBSYSTEM S_PORTALS
27 #include <portals/lib-p30.h>
29 #define MAX_DIST 18446744073709551615ULL
31 int lib_api_ni_status (nal_t *apinal, ptl_sr_index_t sr_idx,
32 ptl_sr_value_t *status)
34 lib_nal_t *nal = apinal->nal_data;
35 lib_ni_t *ni = &nal->libnal_ni;
36 lib_counters_t *count = &ni->ni_counters;
39 case PTL_SR_DROP_COUNT:
40 *status = count->drop_count;
42 case PTL_SR_DROP_LENGTH:
43 *status = count->drop_length;
45 case PTL_SR_RECV_COUNT:
46 *status = count->recv_count;
48 case PTL_SR_RECV_LENGTH:
49 *status = count->recv_length;
51 case PTL_SR_SEND_COUNT:
52 *status = count->send_count;
54 case PTL_SR_SEND_LENGTH:
55 *status = count->send_length;
58 *status = count->msgs_max;
62 return PTL_SR_INDEX_INVALID;
67 int lib_api_ni_dist (nal_t *apinal, ptl_process_id_t *pid, unsigned long *dist)
69 lib_nal_t *nal = apinal->nal_data;
71 return (nal->libnal_dist(nal, pid->nid, dist));