home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-process.ads < prev    next >
Encoding:
Text File  |  1996-03-15  |  9.1 KB  |  204 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-process.ads,v $ 
  2. -- $Revision: 1.8 $ $Date: 96/03/15 12:55:18 $ $Author: stm $ 
  3. -- See end of file for Copyright (c) information.
  4.  
  5. with Stdarg;
  6.  
  7. package Win32.Process is
  8.  
  9.     P_WAIT          : constant := 0;                        -- process.h:54
  10.     P_NOWAIT        : constant := 1;                        -- process.h:55
  11.     P_OVERLAY       : constant := 2;                        -- process.h:57
  12.     OLD_P_OVERLAY   : constant := 2;                        -- process.h:61
  13.     P_NOWAITO       : constant := 3;                        -- process.h:62
  14.     P_DETACH        : constant := 4;                        -- process.h:63
  15.     WAIT_CHILD      : constant := 0;                        -- process.h:69
  16.     WAIT_GRANDCHILD : constant := 1;                        -- process.h:70
  17.  
  18.     -- Use the extensible-arrays package to get one of these that is bigger.
  19.     -- Be sure to put a null pointer as the last array element.
  20.     type String_Vector is array(0..Win32.ANYSIZE_ARRAY) of aliased Win32.PSTR;
  21.     type String_Vector_Access is access all String_Vector;
  22.  
  23.     type Start_Addr is access procedure (Arg: Win32.PVOID);
  24.     pragma Convention(Stdcall, Start_Addr);
  25.  
  26.     function beginthread(start_address: Start_Addr;
  27.                          stack_size   : Win32.UINT;
  28.                          arglist      : String_Vector_Access)
  29.                              return Win32.ULONG;            -- process.h:76
  30.  
  31.     procedure endthread;                                    -- process.h:78
  32.  
  33.     procedure c_abort;                                      -- process.h:80
  34.  
  35.     procedure cexit;                                        -- process.h:81
  36.  
  37.     procedure c_exit;                                       -- process.h:82
  38.  
  39.     function cwait (
  40.         termstat: Win32.PINT;                               -- out Win32.INT
  41.         procid,
  42.         action  : Win32.INT) return Win32.INT;              -- process.h:83
  43.  
  44.     function execl
  45.         (cmdname: in Win32.PCSTR;
  46.          args   : in Stdarg.ArgList := Stdarg.Empty)
  47.         return Win32.INT;                                   -- process.h:84
  48.    
  49.     function execle
  50.         (cmdname: in Win32.PCSTR;
  51.          args   : in Stdarg.ArgList := Stdarg.Empty;
  52.          env    : in Stdarg.ArgList := Stdarg.Empty)
  53.         return Win32.INT;                                   -- process.h:85
  54.    
  55.     function execlp
  56.         (cmdname: in Win32.PCSTR;
  57.          args   : in Stdarg.ArgList := Stdarg.Empty)
  58.         return Win32.INT;                                   -- process.h:86
  59.    
  60.     function execlpe
  61.         (cmdname: in Win32.PCSTR;
  62.          args   : in Stdarg.ArgList := Stdarg.Empty;
  63.          env    : in Stdarg.ArgList := Stdarg.Empty)
  64.         return Win32.INT;                                   -- process.h:87
  65.    
  66.     function execv
  67.         (cmdname: in Win32.PCSTR;
  68.          args   : in String_Vector_Access)
  69.         return Win32.INT;                                   -- process.h:88
  70.  
  71.     function execve
  72.         (cmdname: in Win32.PCSTR;
  73.          args   : in String_Vector_Access;
  74.          env    : in String_Vector_Access) 
  75.         return Win32.INT;                                   -- process.h:89
  76.  
  77.     function execvp
  78.         (cmdname: in Win32.PCSTR;
  79.          args   : in String_Vector_Access)
  80.         return Win32.INT;                                   -- process.h:90
  81.  
  82.     function execvpe
  83.         (cmdname: in Win32.PCSTR;
  84.          args   : in String_Vector_Access;
  85.          env    : in String_Vector_Access) 
  86.         return Win32.INT;                                   -- process.h:91
  87.  
  88.     procedure exit_program(status: Win32.INT);              -- process.h:92
  89.  
  90.     procedure exit_program_now(status: Win32.INT);          -- process.h:93
  91.  
  92.     function getpid return Win32.INT;                       -- process.h:94
  93.  
  94.     function spawnl
  95.         (mode   : in Win32.INT;
  96.          cmdname: in Win32.PCSTR;
  97.          args   : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT;
  98.                                                             -- process.h:95
  99.    
  100.     function spawnle
  101.         (mode   : in Win32.INT;
  102.          cmdname: in Win32.PCSTR;
  103.          args   : in Stdarg.ArgList := Stdarg.Empty;
  104.          env    : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT;
  105.                                                             -- process.h:96
  106.    
  107.     function spawnlp
  108.         (mode   : in Win32.INT;
  109.          cmdname: in Win32.PCSTR;
  110.          args   : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT;
  111.                                                             -- process.h:97
  112.    
  113.     function spawnlpe
  114.         (mode   : in Win32.INT;
  115.          cmdname: in Win32.PCSTR;
  116.          args   : in Stdarg.ArgList := Stdarg.Empty;
  117.          env    : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT;
  118.                                                             -- process.h:98
  119.    
  120.     function spawnv
  121.         (mode   : in Win32.INT;
  122.          cmdname: in Win32.PCSTR;
  123.          args   : in String_Vector_Access) return Win32.INT;
  124.                                                             -- process.h:99
  125.    
  126.     function spawnve
  127.         (mode   : in Win32.INT;
  128.          cmdname: in Win32.PCSTR;
  129.          args   : in String_Vector_Access;
  130.          env    : in String_Vector_Access) return Win32.INT;
  131.                                                             -- process.h:100
  132.    
  133.     function spawnvp
  134.         (mode   : in Win32.INT;
  135.          cmdname: in Win32.PCSTR;
  136.          args   : in String_Vector_Access) return Win32.INT;
  137.                                                             -- process.h:102
  138.    
  139.     function spawnvpe
  140.         (mode   : in Win32.INT;
  141.          cmdname: in Win32.PCSTR;
  142.          args   : in String_Vector_Access;
  143.          env    : in String_Vector_Access) return Win32.INT;
  144.                                                             -- process.h:103
  145.  
  146.     function system(p1: Win32.PCSTR) 
  147.         return Win32.INT;                                   -- process.h:105
  148.  
  149.     function loaddll(p1: Win32.PSTR) return Win32.INT;  
  150.                                                             -- process.h:106
  151.  
  152.     function unloaddll(p1: Win32.INT) 
  153.         return Win32.INT;                                   -- process.h:107
  154.  
  155.     function getdllprocaddr(p1: Win32.INT;
  156.                             p2: Win32.PSTR;
  157.                             p3: Win32.INT)
  158.                         return Win32.PCVOID;                -- process.h:108
  159.  
  160. private
  161.  
  162.     pragma Import(C, beginthread, "_beginthread");          -- process.h:76
  163.     pragma Import(C, endthread, "_endthread");              -- process.h:78
  164.     pragma Import(C, c_abort, "abort");                     -- process.h:80
  165.     pragma Import(C, cexit, "_cexit");                      -- process.h:81
  166.     pragma Import(C, c_exit, "_c_exit");                    -- process.h:82
  167.     pragma Import(C, cwait, "_cwait");                      -- process.h:83
  168.     pragma Import(C, execv, "_execv");                      -- process.h:88
  169.     pragma Import(C, execve, "_execve");                    -- process.h:89
  170.     pragma Import(C, execvp, "_execvp");                    -- process.h:90
  171.     pragma Import(C, execvpe, "_execvpe");                  -- process.h:91
  172.     pragma Import(C, exit_program, "exit");                 -- process.h:92
  173.     pragma Import(C, exit_program_now, "_exit");            -- process.h:93
  174.     pragma Import(C, getpid, "_getpid");                    -- process.h:94
  175.     pragma Import(C, spawnv, "_spawnv");                    -- process.h:99
  176.     pragma Import(C, spawnve, "_spawnve");                  -- process.h:100
  177.     pragma Import(C, spawnvp, "_spawnvp");                  -- process.h:102
  178.     pragma Import(C, spawnvpe, "_spawnvpe");                -- process.h:103
  179.     pragma Import(C, system, "system");                     -- process.h:105
  180.     pragma Import(C, loaddll, "_loaddll");                  -- process.h:106
  181.     pragma Import(C, unloaddll, "_unloaddll");              -- process.h:107
  182.     pragma Import(C, getdllprocaddr, "_getdllprocaddr");    -- process.h:108
  183.  
  184. -------------------------------------------------------------------------------
  185. --
  186. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS PROVIDED WITHOUT CHARGE
  187. -- "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  188. -- BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
  189. -- FITNESS FOR A PARTICULAR PURPOSE.  The user assumes the entire risk as to
  190. -- the accuracy and the use of this file.  This file may be used, copied,
  191. -- modified and distributed only by licensees of Microsoft Corporation's
  192. -- WIN32 Software Development Kit in accordance with the terms of the 
  193. -- licensee's End-User License Agreement for Microsoft Software for the
  194. -- WIN32 Development Kit.
  195. --
  196. -- Copyright (c) Intermetrics, Inc. 1995
  197. -- Portions (c) 1985-1994 Microsoft Corporation with permission.
  198. -- Microsoft is a registered trademark and Windows and Windows NT are
  199. -- trademarks of Microsoft Corporation.
  200. --
  201. -------------------------------------------------------------------------------
  202.  
  203. end Win32.Process;
  204.