home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-process.adb < prev    next >
Encoding:
Text File  |  1995-12-01  |  6.5 KB  |  208 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-process.adb,v $ 
  2. -- $Revision: 1.4 $ $Date: 95/02/02 18:13:38 $ $Author: mg $ 
  3. -------------------------------------------------------------------------------
  4. --
  5. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS FURNISHED "AS IS" WITHOUT 
  6. -- WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
  7. -- TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 
  8. -- PURPOSE.  The user assumes the entire risk as to the accuracy and the 
  9. -- use of this file.
  10. --
  11. -- Copyright (c) Intermetrics, Inc. 1995
  12. -- Royalty-free, unlimited, worldwide, non-exclusive use, modification, 
  13. -- reproduction and further distribution of this file is permitted.
  14. --
  15. -------------------------------------------------------------------------------
  16.  
  17.  
  18. with Ada.Unchecked_Conversion;
  19. with Stdarg.Impl;
  20. with Stdarg.Inst;
  21.  
  22. package body Win32.Process is
  23.     
  24.     use Stdarg, Stdarg.Impl, Stdarg.Inst;
  25.  
  26.     function "&" is new Stdarg.Concat(Win32.PCSTR);
  27.  
  28.     Null_Ptr: constant Win32.PCSTR := null;
  29.  
  30.     function execl
  31.         (cmdname: in Win32.PCSTR;
  32.          args   : in Stdarg.ArgList := Stdarg.Empty)
  33.         return Win32.INT is
  34.  
  35.         Complete_Args: Stdarg.Arglist :=
  36.             Stdarg.Empty & Cmdname & Args & Null_Ptr;
  37.  
  38.         procedure C_Execl;
  39.         pragma Import(C, C_Execl, "_execl");
  40.  
  41.         function To_INT is new Ada.Unchecked_Conversion(
  42.                          Stdarg.C_Param, Win32.INT);
  43.     begin
  44.         return To_INT(F_Varargs(
  45.             C_Execl'Address,
  46.             ArgCount(Complete_Args),
  47.             Address_of_First_Arg(Complete_Args)));
  48.     end execl;
  49.    
  50.     function execle
  51.         (cmdname: in Win32.PCSTR;
  52.          args   : in Stdarg.ArgList := Stdarg.Empty;
  53.          env    : in Stdarg.ArgList := Stdarg.Empty)
  54.         return Win32.INT is
  55.     
  56.         Complete_Args: Stdarg.Arglist :=
  57.             Stdarg.Empty & Cmdname & 
  58.             Args & Null_Ptr &
  59.             Env  & Null_Ptr;
  60.  
  61.         procedure C_execle;
  62.         pragma Import(C, C_execle, "_execle");
  63.  
  64.         function To_INT is new Ada.Unchecked_Conversion(
  65.                          Stdarg.C_Param, Win32.INT);
  66.     begin
  67.         return To_INT(F_Varargs(
  68.             C_execle'Address,
  69.             ArgCount(Complete_Args),
  70.             Address_of_First_Arg(Complete_Args)));
  71.     end execle;
  72.    
  73.     function execlp
  74.         (cmdname: in Win32.PCSTR;
  75.          args   : in Stdarg.ArgList := Stdarg.Empty)
  76.         return Win32.INT is
  77.     
  78.         Complete_Args: Stdarg.Arglist :=
  79.             Stdarg.Empty & Cmdname & Args & Null_Ptr;
  80.  
  81.         procedure C_execlp;
  82.         pragma Import(C, C_execlp, "_execlp");
  83.  
  84.         function To_INT is new Ada.Unchecked_Conversion(
  85.                          Stdarg.C_Param, Win32.INT);
  86.     begin
  87.         return To_INT(F_Varargs(
  88.             C_execlp'Address,
  89.             ArgCount(Complete_Args),
  90.             Address_of_First_Arg(Complete_Args)));
  91.     end execlp;
  92.    
  93.     function execlpe
  94.         (cmdname: in Win32.PCSTR;
  95.          args   : in Stdarg.ArgList := Stdarg.Empty;
  96.          env    : in Stdarg.ArgList := Stdarg.Empty)
  97.         return Win32.INT is
  98.     
  99.         Complete_Args: Stdarg.Arglist :=
  100.             Stdarg.Empty & Cmdname & 
  101.             Args & Null_Ptr &
  102.             Env  & Null_Ptr;
  103.  
  104.         procedure C_execlpe;
  105.         pragma Import(C, C_execlpe, "_execlpe");
  106.  
  107.         function To_INT is new Ada.Unchecked_Conversion(
  108.                          Stdarg.C_Param, Win32.INT);
  109.     begin
  110.         return To_INT(F_Varargs(
  111.             C_execlpe'Address,
  112.             ArgCount(Complete_Args),
  113.             Address_of_First_Arg(Complete_Args)));
  114.     end execlpe;
  115.    
  116.     function spawnl
  117.         (mode   : in Win32.INT;
  118.          cmdname: in Win32.PCSTR;
  119.          args   : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT is
  120.  
  121.         Complete_Args: Stdarg.Arglist :=
  122.             Stdarg.Empty & Mode & Cmdname & 
  123.             Args & Null_Ptr;
  124.  
  125.         procedure C_spawnl;
  126.         pragma Import(C, C_spawnl, "_spawnl");
  127.  
  128.         function To_INT is new Ada.Unchecked_Conversion(
  129.                          Stdarg.C_Param, Win32.INT);
  130.     begin
  131.         return To_INT(F_Varargs(
  132.             C_spawnl'Address,
  133.             ArgCount(Complete_Args),
  134.             Address_of_First_Arg(Complete_Args)));
  135.  
  136.     end spawnl;
  137.    
  138.     function spawnle
  139.         (mode   : in Win32.INT;
  140.          cmdname: in Win32.PCSTR;
  141.          args   : in Stdarg.ArgList := Stdarg.Empty;
  142.          env    : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT is
  143.     
  144.         Complete_Args: Stdarg.Arglist :=
  145.             Stdarg.Empty & Mode & Cmdname &
  146.             Args & Null_Ptr &
  147.             Env  & Null_Ptr;
  148.  
  149.         procedure C_spawnle;
  150.         pragma Import(C, C_spawnle, "_spawnle");
  151.  
  152.         function To_INT is new Ada.Unchecked_Conversion(
  153.                          Stdarg.C_Param, Win32.INT);
  154.     begin
  155.         return To_INT(F_Varargs(
  156.             C_spawnle'Address,
  157.             ArgCount(Complete_Args),
  158.             Address_of_First_Arg(Complete_Args)));
  159.  
  160.     end spawnle;
  161.    
  162.     function spawnlp
  163.         (mode   : in Win32.INT;
  164.          cmdname: in Win32.PCSTR;
  165.          args   : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT is
  166.     
  167.         Complete_Args: Stdarg.Arglist :=
  168.             Stdarg.Empty & Mode & Cmdname & 
  169.             Args & Null_Ptr;
  170.  
  171.         procedure C_spawnlp;
  172.         pragma Import(C, C_spawnlp, "_spawnlp");
  173.  
  174.         function To_INT is new Ada.Unchecked_Conversion(
  175.                          Stdarg.C_Param, Win32.INT);
  176.     begin
  177.         return To_INT(F_Varargs(
  178.             C_spawnlp'Address,
  179.             ArgCount(Complete_Args),
  180.             Address_of_First_Arg(Complete_Args)));
  181.  
  182.     end spawnlp;
  183.    
  184.     function spawnlpe
  185.         (mode   : in Win32.INT;
  186.          cmdname: in Win32.PCSTR;
  187.          args   : in Stdarg.ArgList := Stdarg.Empty;
  188.          env    : in Stdarg.ArgList := Stdarg.Empty) return Win32.INT is
  189.     
  190.         Complete_Args: Stdarg.Arglist :=
  191.             Stdarg.Empty & Mode & Cmdname &
  192.             Args & Null_Ptr &
  193.             Env  & Null_Ptr;
  194.  
  195.         procedure C_spawnlpe;
  196.         pragma Import(C, C_spawnlpe, "_spawnlpe");
  197.  
  198.         function To_INT is new Ada.Unchecked_Conversion(
  199.                          Stdarg.C_Param, Win32.INT);
  200.     begin
  201.         return To_INT(F_Varargs(
  202.             C_spawnlpe'Address,
  203.             ArgCount(Complete_Args),
  204.             Address_of_First_Arg(Complete_Args)));
  205.     end spawnlpe;
  206.    
  207. end Win32.Process;
  208.