• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  // SPDX-License-Identifier: GPL-2.0-or-later
2  /*
3   * Copyright (c) 2022 Huawei Device Co., Ltd.
4   *
5   * Description: get af ninet.
6   *
7   * Author: Yang Yanjun <yangyanjun@huawei.com>
8   *
9   * Data: 2022-09-06
10   */
11  #include <stdlib.h>
12  #include <string.h>
13  #include <stdio.h>
14  #include <unistd.h>
15  
16  #define AF_NINET_PATH        ("/sys/module/newip/parameters/af_ninet")
17  #define AF_NINET_LENTH       (5)
18  
19  int g_af_ninet;
20  
_get_af_ninet(void)21  void _get_af_ninet(void)
22  {
23  	char tmp[AF_NINET_LENTH];
24  	FILE *fn = fopen(AF_NINET_PATH, "r");
25  
26  	if (!fn) {
27  		printf("fail to open %s\n\n", AF_NINET_PATH);
28  		return;
29  	}
30  
31  	if (fgets(tmp, AF_NINET_LENTH, fn) == NULL) {
32  		printf("fail to gets %s\n\n", AF_NINET_PATH);
33  		fclose(fn);
34  		return;
35  	}
36  
37  	if (fclose(fn) == EOF) {
38  		printf("fclose failed\n");
39  		return;
40  	}
41  	g_af_ninet = atoi(tmp);
42  }
43  
get_af_ninet(void)44  int get_af_ninet(void)
45  {
46  	if (g_af_ninet == 0)
47  		_get_af_ninet();
48  
49  	return g_af_ninet;
50  }
51  
main(int argc,char ** argv)52  int main(int argc, char **argv)
53  {
54  	printf("af_ninet=%d\n\n", get_af_ninet());
55  	return 0;
56  }
57  
58