home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / util / misc / multiuser / src / library / segment.h < prev    next >
C/C++ Source or Header  |  1994-03-07  |  2KB  |  53 lines

  1. /************************************************************
  2. * MultiUser - MultiUser Task/File Support System                *
  3. * ---------------------------------------------------------    *
  4. * Segment Management                                                        *
  5. * ---------------------------------------------------------    *
  6. * © Copyright 1993-1994 Geert Uytterhoeven                        *
  7. * All Rights Reserved.                                                    *
  8. ************************************************************/
  9.  
  10.  
  11. #include "multiuser.h"
  12.  
  13.  
  14.     /*
  15.      *        Private Segment Node
  16.      */
  17.  
  18. struct muSegNode {
  19.     struct MinNode Node;
  20.     BPTR SegList;
  21.     struct muExtOwner Owner;        /* Only uid/gid, no secondary gids */
  22. };
  23.  
  24.  
  25.     /*
  26.      *        Function Prototypes
  27.      */
  28.  
  29.  
  30. extern void InitSegList(void);
  31. extern BPTR __asm __saveds NEWLoadSeg(register __d1 STRPTR name,
  32.                                                   register __a6 struct DosLibrary *dosbase);
  33. extern BPTR __asm __saveds NEWNewLoadSeg(register __d1 STRPTR name, register __d2 struct TagItem *tags,
  34.                                                       register __a6 struct DosLibrary *dosbase);
  35. extern BOOL __asm __saveds NEWUnLoadSeg(register __d1 BPTR seglist,
  36.                                                      register __a6 struct DosLibrary *dosbase);
  37. extern BPTR __asm __saveds NEWInternalLoadSeg(register __d0 BPTR fh, register __a0 BPTR table,
  38.                                                              register __a1 LONG *functionarray,
  39.                                                              register __a2 LONG *stack,
  40.                                                              register __a6 struct DosLibrary *dosbase);
  41. extern BOOL __asm __saveds NEWInternalUnLoadSeg(register __d1 BPTR seglist,
  42.                                                                 register __a1 void (*freefunc)(),
  43.                                                                 register __a6 struct DosLibrary *dosbase);
  44. extern struct Process __asm __saveds *NEWCreateProc(register __d1 STRPTR name, register __d2 LONG pri,
  45.                                                                      register __d3 BPTR seglist,
  46.                                                                      register __d4 LONG stacksize,
  47.                                                                      register __a6 struct DosLibrary *dosbase);
  48. extern struct Process __asm __saveds *NEWCreateNewProc(register __d1 struct TagItem *tags,
  49.                                                                          register __a6 struct DosLibrary *dosbase);
  50. extern LONG __asm __saveds NEWRunCommand(register __d1 BPTR seglist, register __d2 ULONG stacksize,
  51.                                                       register __d3 STRPTR argptr, register __d4 ULONG argsize,
  52.                                                       register __a6 struct DosLibrary *dosbase);
  53.