Whamcloud - gitweb
LU-6068 misc: update Intel copyright messages 2014
[fs/lustre-release.git] / lnet / include / lnet / nidstr.h
1 /*
2  * GPL HEADER START
3  *
4  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 only,
8  * as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * General Public License version 2 for more details (a copy is included
14  * in the LICENSE file that accompanied this code).
15  *
16  * You should have received a copy of the GNU General Public License
17  * version 2 along with this program; If not, see
18  * http://www.gnu.org/licenses/gpl-2.0.html
19  *
20  * GPL HEADER END
21  */
22 /*
23  * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
24  * Use is subject to license terms.
25  *
26  * Copyright (c) 2011, 2014, Intel Corporation.
27  */
28 #ifndef _LNET_NIDSTRINGS_H
29 #define _LNET_NIDSTRINGS_H
30 #include <lnet/types.h>
31
32 struct list_head;
33
34 #define LNET_NIDSTR_COUNT  1024    /* # of nidstrings */
35 #define LNET_NIDSTR_SIZE   32      /* size of each one (see below for usage) */
36
37 /* support decl needed both by kernel and liblustre */
38 int libcfs_isknown_lnd(int type);
39 char *libcfs_lnd2modname(int type);
40 char *libcfs_lnd2str(int type);
41 int libcfs_str2lnd(const char *str);
42 char *libcfs_net2str(__u32 net);
43 char *libcfs_nid2str(lnet_nid_t nid);
44 __u32 libcfs_str2net(const char *str);
45 lnet_nid_t libcfs_str2nid(const char *str);
46 int libcfs_str2anynid(lnet_nid_t *nid, const char *str);
47 char *libcfs_id2str(lnet_process_id_t id);
48 void cfs_free_nidlist(struct list_head *list);
49 int cfs_parse_nidlist(char *str, int len, struct list_head *list);
50 int cfs_print_nidlist(char *buffer, int count, struct list_head *list);
51 int cfs_match_nid(lnet_nid_t nid, struct list_head *list);
52 bool cfs_nidrange_is_contiguous(struct list_head *nidlist);
53 void cfs_nidrange_find_min_max(struct list_head *nidlist, char *min_nid,
54                                char *max_nid, int nidstr_length);
55 void libcfs_init_nidstrings(void);
56
57 #endif /* _LNET_NIDSTRINGS_H */