root/headers/private/fs_shell/fssh_kernel_export.h
#ifndef _FSSH_KERNEL_EXPORT_H
#define _FSSH_KERNEL_EXPORT_H


#include "fssh_defs.h"
#include "fssh_os.h"


#ifdef __cplusplus
extern "C" {
#endif 


/* kernel threads */

extern fssh_thread_id   fssh_spawn_kernel_thread(fssh_thread_func function,
                                                                const char *threadName,  int32_t priority,
                                                                void *arg);

/* misc */

extern fssh_status_t    fssh_user_memcpy(void *dest, const void *source,
                                                                fssh_size_t length);

/* primitive kernel debugging facilities */

extern void                     fssh_dprintf(const char *format, ...)   /* just like printf */
                                                        __attribute__ ((format (__printf__, 1, 2)));
extern void                     fssh_kprintf(const char *fmt, ...)                      /* only for debugger cmds */
                                                        __attribute__ ((format (__printf__, 1, 2)));

extern void             fssh_dump_block(const char *buffer, int size,
                                                        const char *prefix);

extern void                     fssh_panic(const char *format, ...)
                                                        __attribute__ ((format (__printf__, 1, 2)));

extern void                     fssh_kernel_debugger(const char *message);      /* enter kernel debugger */
extern uint32_t         fssh_parse_expression(const char *string);      /* utility for debugger cmds */

typedef int (*fssh_debugger_command_hook)(int argc, char **argv);

extern int                      fssh_add_debugger_command(const char *name,
                                                        fssh_debugger_command_hook hook, const char *help);
extern int                      fssh_remove_debugger_command(char *name,
                                                        fssh_debugger_command_hook hook); 


#ifdef __cplusplus
}
#endif


#endif  // _FSSH_KERNEL_EXPORT_H