KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
nmmgr.h File Reference

Name manager. More...

#include <sys/cdefs.h>
#include <arch/types.h>
#include <kos/limits.h>
#include <sys/queue.h>

Go to the source code of this file.

Data Structures

struct  nmmgr_handler_t
 Name handler interface. More...
 
struct  alias_handler_t
 Alias handler interface. More...
 

Macros

#define NMMGR_LIST_INIT   { NULL }
 List entry initializer for static structs.
 
#define NMMGR_FLAGS_NEEDSFREE   0x00000001
 This structure must be freed when removed.
 
#define NMMGR_FLAGS_INDEV   0x00000002
 This structure maps into /dev/.
 
#define NMMGR_FLAGS_ALIAS   0x00000004
 This structure aliases another.
 
#define NMMGR_TYPE_UNKNOWN   0x0000 /* ? */
 Unknown nmmgr type.
 
#define NMMGR_TYPE_VFS   0x0010 /* Mounted file system */
 A mounted filesystem.
 
#define NMMGR_TYPE_BLOCKDEV   0x0020 /* Block device */
 A block device.
 
#define NMMGR_TYPE_SINGLETON   0x0030 /* Singleton service (e.g., /dev/irq) */
 A singleton service (e.g., /dev/irq)
 
#define NMMGR_TYPE_SYMTAB   0x0040 /* Symbol table */
 A symbol table.
 
#define NMMGR_SYS_MAX   0x10000 /* Here and above are user types */
 Everything this and above is a user type.
 

Functions

typedef LIST_HEAD (nmmgr_list, nmmgr_handler) nmmgr_list_t
 Name handler list type.
 
nmmgr_handler_tnmmgr_lookup (const char *name)
 Retrieve a name handler by name.
 
nmmgr_list_t * nmmgr_get_list (void)
 Get the head element of the name list.
 
int nmmgr_handler_add (nmmgr_handler_t *hnd)
 Add a name handler.
 
int nmmgr_handler_remove (nmmgr_handler_t *hnd)
 Remove a name handler.
 

Detailed Description

Name manager.

This file contains the definitions of KOS' name manager. A "name" is a generic identifier for some kind of module. These modules may include services provided by the kernel (such as VFS handlers).

Author
Megan Potter