Newer
Older
/****************************************************************************
Copyright 2010
Lantiq Deutschland GmbH
Am Campeon 3; 85579 Neubiberg, Germany
For licensing information, see the file 'LICENSE' in the root folder of
this software module.
*****************************************************************************/
#ifndef _IFX_CLI_LIB_H
#define _IFX_CLI_LIB_H
typedef int (*command_fkt)(int argc, char *argv[], int fd, int numPar);
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
typedef struct {
char *Name;
command_fkt fkt;
} GSW_CommandTable_t;
#if defined(IOCTL_PCTOOL) && IOCTL_PCTOOL
#include <gsw_init.h>
extern GSW_API_HANDLE sdev;
int cli_ioctl(GSW_API_HANDLE fd, u32 request, void *par);
#ifdef SWITCH_SERVER
extern FILE *g_fp;
FILE *get_fp(void);
#define printf(...) \
do { FILE *fp; \
fp = (FILE *) get_fp(); \
fprintf(fp, __VA_ARGS__); \
} while (0)
#else
#define printf printf
#endif
#else
#include <lantiq_gsw_api.h>
int cli_ioctl(int fd, unsigned long int request, void *par);
#endif
#define GSWIP_3_0 0x30
#define GSWIP_3_1 0x31
#define GSWIP_3_2 0x32
extern unsigned int gswip_version;
int scanParamArg(int argc, char *argv[], char *name, int size, void *param);
int findStringParam(int argc, char *argv[], char *name);
int scanMAC_Arg(int argc, char *argv[], char *name, unsigned char *param);
int scanIPv4_Arg(int argc, char *argv[], char *name, unsigned int *param);
int scanIPv6_Arg(int argc, char *argv[], char *name, unsigned short *param);
int checkValidMAC_Address(unsigned char *pMAC);
void printMAC_Address(unsigned char *pMAC);
int checkValidIPv6_Address(unsigned short *ip);
void printIPv6_Address(unsigned short *ip);
void printIPv4_Address(unsigned int ip);
void printHex32Value(char *name, unsigned int value, unsigned int bitmapIndicator);
int scanPMAC_Arg(int argc, char *argv[], char *name, unsigned char *param);
int scanPMAP_Arg(int argc, char *argv[], char *name, unsigned char *param);
command_fkt fktGet(char *name);
#endif /* _IFX_CLI_LIB_H */