https://github.com/teuben/nemo
Revision d0f673bdaeabe8dffa77528c13d81063a20d29f6 authored by Peter Teuben on 03 April 2024, 01:39:10 UTC, committed by Peter Teuben on 03 April 2024, 01:39:10 UTC
1 parent 0615225
Raw File
Tip revision: d0f673bdaeabe8dffa77528c13d81063a20d29f6 authored by Peter Teuben on 03 April 2024, 01:39:10 UTC
format
Tip revision: d0f673b
module.h
/*
 * MODULE.H: data structure with slots for major operations.
 */

typedef struct {
    string  modname;
    void    (*modinit)(/* itemptr, stream */);
    itemptr (*modwork)(/* itemptr, itemptr, stream */);
    void    (*modsave)(/* stream, stream */);
    void    (*modrestore)(/* stream, stream */);
} module, *modptr;

/*
 * Standard accessor macros used to extract the name 
 * and/or invoke the functions of a module.
 */

#define ModName(mp)       ((mp)->modname)
#define ModInit(mp)       (* (mp)->modinit)
#define ModWork(mp)	  (* (mp)->modwork)
#define ModSave(mp)       (* (mp)->modsave)
#define ModRestore(mp)    (* (mp)->modrestore)
back to top