41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| 
 | |
| #ifndef _NVT_CMDSYS_H
 | |
| #define _NVT_CMDSYS_H
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| # define __NVT_CMDSYS_EXTERNC extern "C"
 | |
| #else
 | |
| # define __NVT_CMDSYS_EXTERNC extern
 | |
| #endif
 | |
| // Also define externC for now - but it is deprecated
 | |
| #define NVT_CMDSYS_EXTERNC __NVT_CMDSYS_EXTERNC
 | |
| 
 | |
| typedef int (*NVT_CMDSYS_MAIN)(int argc, char **argv); ///< command entry
 | |
| typedef int (*NVT_CMDSYS_CB)(char *str); ///< register new domain command sys
 | |
| 
 | |
| typedef struct _NVT_CMDSYS_ENTRY {
 | |
|     NVT_CMDSYS_MAIN p_main;
 | |
|     char name[32];
 | |
| } NVT_CMDSYS_ENTRY;
 | |
| 
 | |
| #if defined(__FREERTOS) || defined(_NVT_CONSOLE_)
 | |
| #define MAINFUNC_ENTRY(_l,_argc,_argv) \
 | |
| NVT_CMDSYS_EXTERNC int _l##_cmdsys_main(int _argc, char **_argv); \
 | |
| NVT_CMDSYS_ENTRY _l##cmdsys_entry __attribute__ ((section (".cmdsys.table." #_l))) = {    \
 | |
|    _l##_cmdsys_main,                                      \
 | |
|    #_l							  \
 | |
| }; \
 | |
| NVT_CMDSYS_EXTERNC int _l##_cmdsys_main(int _argc, char **_argv)
 | |
| #else
 | |
| #define MAINFUNC_ENTRY(_l,_argc,_argv) \
 | |
| int main(int _argc, char **_argv)
 | |
| #endif
 | |
| 
 | |
| NVT_CMDSYS_EXTERNC int nvt_cmdsys_init(void);
 | |
| NVT_CMDSYS_EXTERNC int nvt_cmdsys_runcmd(char *str);
 | |
| NVT_CMDSYS_EXTERNC int nvt_cmdsys_regsys(char domain, NVT_CMDSYS_CB cb);
 | |
| NVT_CMDSYS_EXTERNC int nvt_cmdsys_ipc_cmd(int argc, char **argv); ///< only for linux user space
 | |
| 
 | |
| 
 | |
| #endif /* _NVT_CMDSYS_H */
 | 
