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

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-stdlib.ads,v $ 
  2. -- $Revision: 1.12 $ $Date: 96/03/15 12:56:05 $ $Author: stm $ 
  3. -- See end of file for Copyright (c) information.
  4.  
  5. with Win32;
  6. with Win32.Strings;
  7.  
  8. package Win32.Stdlib is
  9.  
  10.     EXIT_SUCCESS           : constant := 0;                 -- stdlib.h:72
  11.     EXIT_FAILURE           : constant := 1;                 -- stdlib.h:73
  12.     RAND_MAX               : constant := 16#7fff#;          -- stdlib.h:105
  13.     MAX_PATH               : constant := 260;               -- stdlib.h:131
  14.     MAX_DRIVE              : constant := 3;                 -- stdlib.h:132
  15.     MAX_DIR                : constant := 256;               -- stdlib.h:133
  16.     MAX_FNAME              : constant := 256;               -- stdlib.h:134
  17.     MAX_EXT                : constant := 256;               -- stdlib.h:135
  18.     CRIT_ERROR_PROMPT      : constant := 0;                 -- stdlib.h:138
  19.     CRIT_ERROR_FAIL        : constant := 1;                 -- stdlib.h:139
  20.     SLEEP_MINIMUM          : constant := 0;                 -- stdlib.h:142
  21.     SLEEP_FOREVER          : constant := -1;                -- stdlib.h:143
  22.     DOS_MODE               : constant := 0;                 -- stdlib.h:243
  23.     OS2_MODE               : constant := 1;                 -- stdlib.h:244
  24.     WIN_MODE               : constant := 2;                 -- stdlib.h:245
  25.     OS2_20_MODE            : constant := 3;                 -- stdlib.h:246
  26.     DOSX32_MODE            : constant := 4;                 -- stdlib.h:247
  27.     POSIX_MODE             : constant := 5;                 -- stdlib.h:248
  28.     REAL_MODE              : constant := 0;                 -- stdlib.h:259
  29.     PROT_MODE              : constant := 1;                 -- stdlib.h:260
  30.     FLAT_MODE              : constant := 2;                 -- stdlib.h:261
  31.  
  32.     type onexit_t is access function return Win32.INT;      -- stdlib.h:77
  33.     pragma Convention(Stdcall, onexit_t);
  34.  
  35.     type div_t is                                           -- stdlib.h:90
  36.         record
  37.             quot : Win32.INT;                               -- stdlib.h:91
  38.             c_rem: Win32.INT;                               -- stdlib.h:92
  39.         end record;
  40.  
  41.     type ldiv_t is                                          -- stdlib.h:95
  42.         record
  43.             quot : Win32.INT;                               -- stdlib.h:96
  44.             c_rem: Win32.INT;                               -- stdlib.h:97
  45.         end record;
  46.  
  47.     type atexit_t is access procedure;                      -- stdlib.h:276
  48.  
  49.     -- use extensible arrays
  50.     type String_Array is array (0..Win32.ANYSIZE_ARRAY) of aliased Win32.PSTR;
  51.  
  52.     -- auxiliary declarations
  53.  
  54.      type USA is access Win32.USHORT;
  55.      function mb_cur_max_addr return USA;
  56.      pragma Import(C, mb_cur_max_addr, "__mb_cur_max_addr");
  57.  
  58.     type SAP is access String_Array;
  59.     function sys_errlist_addr return SAP;
  60.     pragma Import(C, sys_errlist_addr, "__sys_errlist_addr");
  61.  
  62.     type AI is access Win32.INT;
  63.     function sys_nerr_addr return AI;
  64.     pragma Import(C, sys_nerr_addr, "__sys_nerr_addr");
  65.  
  66.     function argc_addr return AI;
  67.     pragma Import(C, argc_addr, "__argc_addr");
  68.  
  69.     function argv_addr return SAP;
  70.     pragma Import(C, argv_addr, "__argv_addr");
  71.  
  72.     function environ_addr return SAP;
  73.     pragma Import(C, environ_addr, "__environ_addr");
  74.  
  75.     function fmode_addr return AI;
  76.     pragma Import(C, fmode_addr, "__fmode_addr");
  77.  
  78.     function fileinfo_addr return AI;
  79.     pragma Import(C, fileinfo_addr, "__fileinfo_addr");
  80.  
  81.     type SP is access Win32.PSTR;
  82.     function pgmptr_addr return SP;
  83.     pragma Import(C, pgmptr_addr, "__pgmptr_addr");
  84.  
  85.     function osver_addr return AI;
  86.     pragma Import(C, osver_addr, "__osver_addr");
  87.  
  88.     function winver_addr return AI;
  89.     pragma Import(C, winver_addr, "__winver_addr");
  90.  
  91.     function winmajor_addr return AI;
  92.     pragma Import(C, winmajor_addr, "__winmajor_addr");
  93.  
  94.     function winminor_addr return AI;
  95.     pragma Import(C, winminor_addr, "__winminor_addr");
  96.  
  97.     -- end of auxiliary declarations
  98.  
  99.     MB_CUR_MAX: Win32.USHORT 
  100.         renames mb_cur_max_addr.all;                        -- max mb-len for current locale
  101.  
  102.     sys_errlist: String_Array
  103.         renames sys_errlist_addr.all;                       -- perror error message table
  104.  
  105.     sys_nerr: Win32.INT
  106.         renames sys_nerr_addr.all;                          -- # of entries in sys_errlist table
  107.  
  108.     argc: Win32.INT
  109.         renames argc_addr.all;                              -- count of cmd line args
  110.  
  111.     argv: String_Array
  112.         renames argv_addr.all;                              -- table of cmd line args
  113.  
  114.     environ: String_Array
  115.         renames environ_addr.all;                           -- environment table
  116.  
  117.     fmode: Win32.INT
  118.         renames fmode_addr.all;                             -- default file translation mode
  119.  
  120.     fileinfo: Win32.INT
  121.         renames fileinfo_addr.all;                          -- open file info mode (for spawn)
  122.  
  123.     pgmptr: Win32.PSTR
  124.         renames pgmptr_addr.all;                            -- module (EXE) name
  125.  
  126.     -- Windows major/minor and O.S. version numbers
  127.  
  128.     osver: Win32.INT renames osver_addr.all;
  129.  
  130.     winver: Win32.INT renames winver_addr.all;
  131.  
  132.     winmajor: Win32.INT renames winmajor_addr.all;
  133.  
  134.     winminor: Win32.INT renames winminor_addr.all;
  135.  
  136.  
  137.     function errno return Win32.INT;                        -- XENIX style error number
  138.  
  139.     function doserrno return Win32.ULONG;                   -- OS system error value
  140.  
  141.  
  142.     function atexit(proc: atexit_t) return Win32.INT;       -- stdlib.h:276
  143.  
  144.     function atoi(string1: Win32.PCSTR) return Win32.INT;
  145.                                                             -- stdlib.h:278
  146.  
  147.     function atol(string1: Win32.PCSTR) return Win32.INT;
  148.                                                             -- stdlib.h:279
  149.     function div(numer: Win32.INT;
  150.                  denom: Win32.INT)
  151.                      return div_t;                          -- stdlib.h:284
  152.  
  153.     function getenv(varname: Win32.PCSTR) return Win32.PSTR;  
  154.                                                             -- stdlib.h:287
  155.  
  156.     function itoa(value  : Win32.INT;
  157.                   string1: Win32.PSTR;
  158.                   radix  : Win32.INT)
  159.                       return Win32.PSTR;                    -- stdlib.h:288
  160.  
  161.     function ldiv(numer: Win32.INT;
  162.                   denom: Win32.INT)
  163.                       return ldiv_t;                        -- stdlib.h:290
  164.  
  165.     function ltoa(value  : Win32.INT;
  166.                   string1: Win32.PSTR;
  167.                   radix  : Win32.INT)
  168.                       return Win32.PSTR;                    -- stdlib.h:291
  169.  
  170.     function mblen(mbstr: Win32.PCSTR;
  171.                    count: Win32.Strings.size_t)
  172.                        return Win32.INT;                    -- stdlib.h:293
  173.  
  174.     function mbstrlen(s: Win32.PCSTR) return Win32.Strings.size_t;
  175.                                                             -- stdlib.h:294
  176.  
  177.     function mbtowc(wchar : Win32.Pwstr;
  178.                     mbchar: Win32.PCSTR;
  179.                     count : Win32.Strings.size_t)
  180.                         return Win32.INT;                   -- stdlib.h:295
  181.  
  182.     function mbstowcs(wcstr: Win32.Pwstr;
  183.                       mbstr: Win32.PCSTR;
  184.                       count: Win32.Strings.size_t)
  185.                           return Win32.Strings.size_t;      -- stdlib.h:296
  186.  
  187.     function rand return Win32.INT;                         -- stdlib.h:299
  188.  
  189.     procedure srand(seed: Win32.UINT);                      -- stdlib.h:301
  190.  
  191.     function strtod(nptr  : Win32.PCSTR;
  192.                     endptr: access Win32.PSTR)
  193.                         return Win32.DOUBLE;                -- stdlib.h:302
  194.  
  195.     function strtol(nptr  : Win32.PCSTR;
  196.                     endptr: access Win32.PSTR;
  197.                     base  : Win32.INT)
  198.                         return Win32.INT;                   -- stdlib.h:303
  199.  
  200.     function strtoul(nptr  : Win32.PCSTR;
  201.                      endptr: access Win32.PSTR;
  202.                      base  : Win32.INT)
  203.                          return Win32.UINT;                 -- stdlib.h:304
  204.  
  205.     function ultoa(value  : Win32.UINT;
  206.                    string1: Win32.PSTR;
  207.                    radix  : Win32.INT)
  208.                        return Win32.PSTR;                   -- stdlib.h:306
  209.  
  210.     function wctomb(mbchar: Win32.PSTR;
  211.                     wchar : Win32.wchar_t)
  212.                         return Win32.INT;                   -- stdlib.h:307
  213.  
  214.     function wcstombs(mbstr  : Win32.PSTR;
  215.                       wchar_t: Win32.PCWSTR;
  216.                       count  : Win32.Strings.size_t)
  217.                           return Win32.Strings.size_t;      -- stdlib.h:308
  218.  
  219.     function ecvt(value: Win32.DOUBLE;
  220.                   count: Win32.INT;
  221.                   dec  : Win32.PINT;
  222.                   sign : Win32.PINT)
  223.                       return Win32.PSTR;                    -- stdlib.h:325
  224.  
  225.     function fcvt(value: Win32.DOUBLE;
  226.                   count: Win32.INT;
  227.                   dec  : Win32.PINT;
  228.                   sign : Win32.PINT)
  229.                       return Win32.PSTR;                    -- stdlib.h:327
  230.  
  231.     function fullpath(buffer  : Win32.PSTR;
  232.                       pathname: Win32.PCSTR;
  233.                       maxlen  : Win32.Strings.size_t)
  234.                           return Win32.PSTR;                -- stdlib.h:328
  235.  
  236.     function gcvt(value     : Win32.DOUBLE;
  237.                   num_digits: Win32.INT;
  238.                   buffer    : Win32.PSTR)
  239.                       return Win32.PSTR;                    -- stdlib.h:329
  240.  
  241.     function lrotl(value: Win32.UINT;
  242.                    shift: Win32.INT)
  243.                        return Win32.UINT;                   -- stdlib.h:330
  244.  
  245.     function lrotr(value: Win32.UINT;
  246.                    shift: Win32.INT)
  247.                        return Win32.UINT;                   -- stdlib.h:331
  248.  
  249.     procedure makepath(path : Win32.PSTR;
  250.                        drive: Win32.PCSTR;
  251.                        dir  : Win32.PCSTR;
  252.                        fname: Win32.PCSTR;
  253.                        ext  : Win32.PCSTR);                 -- stdlib.h:332
  254.  
  255.     function onexit(func: onexit_t) return onexit_t;        -- stdlib.h:334
  256.  
  257.     function putenv(envstring: Win32.PCSTR) return Win32.INT;
  258.                                                             -- stdlib.h:336
  259.  
  260.     function rotl(value: Win32.UINT;
  261.                   shift: Win32.INT)
  262.                       return Win32.UINT;                    -- stdlib.h:337
  263.  
  264.     function rotr(value: Win32.UINT;
  265.                   shift: Win32.INT)
  266.                       return Win32.UINT;                    -- stdlib.h:338
  267.  
  268.     procedure searchenv(filename: Win32.PCSTR;
  269.                         varname : Win32.PCSTR;
  270.                         pathname: Win32.PSTR);              -- stdlib.h:339
  271.  
  272.     procedure splitpath(path : Win32.PCSTR;
  273.                         drive: Win32.PSTR;
  274.                         dir  : Win32.PSTR;
  275.                         fname: Win32.PSTR;
  276.                         ext  : Win32.PSTR);                 -- stdlib.h:340
  277.  
  278.     procedure swab(src : Win32.PSTR;
  279.                    dest: Win32.PSTR;
  280.                    n   : Win32.INT);                        -- stdlib.h:341
  281.  
  282.     procedure seterrormode(fnErrorMode: Win32.INT);         -- stdlib.h:342
  283.  
  284.     procedure beep(dwFrequency: Win32.UINT;
  285.                    dwDuration : Win32.UINT);                -- stdlib.h:343
  286.  
  287.     procedure sleep(cMilliSeconds: Win32.UINT);             -- stdlib.h:344
  288.  
  289.     generic
  290.         type T is private;
  291.         with function ">"(A, B: T) return Boolean;
  292.     function Maximum(A, B: T) return T;                     -- stdlib.h:360
  293.  
  294.     function Max(A, B: Win32.INT) return Win32.INT;
  295.  
  296.     generic
  297.         type T is private;
  298.         with function "<"(A, B: T) return Boolean;
  299.     function Minimum(A, B: T) return T;                     -- stdlib.h:361
  300.  
  301.     function Min(A, B: Win32.INT) return Win32.INT;
  302.  
  303.     procedure exit_program (Status: Win32.INT);             -- stdlib.h:285
  304.  
  305.     procedure exit_program_now (Status: Win32.INT);         -- stdlib.h:326
  306.  
  307. private
  308.  
  309.     pragma Convention(C, div_t);                            -- stdlib.h:90
  310.     pragma Convention(C, ldiv_t);                           -- stdlib.h:95
  311.  
  312.     pragma Inline(errno);
  313.     pragma Inline(doserrno);
  314.  
  315.     pragma Import(C, atexit, "atexit");                     -- stdlib.h:276
  316.     pragma Import(C, atoi, "atoi");                         -- stdlib.h:278
  317.     pragma Import(C, atol, "atol");                         -- stdlib.h:279
  318.     pragma Import(C, div, "div");                           -- stdlib.h:284
  319.     pragma Import(C, getenv, "getenv");                     -- stdlib.h:287
  320.     pragma Import(C, itoa, "_itoa");                        -- stdlib.h:288
  321.     pragma Import(C, ldiv, "ldiv");                         -- stdlib.h:290
  322.     pragma Import(C, ltoa, "_ltoa");                        -- stdlib.h:291
  323.     pragma Import(C, mblen, "mblen");                       -- stdlib.h:293
  324.     pragma Import(C, mbstrlen, "_mbstrlen");                -- stdlib.h:294
  325.     pragma Import(C, mbtowc, "mbtowc");                     -- stdlib.h:295
  326.     pragma Import(C, mbstowcs, "mbstowcs");                 -- stdlib.h:296
  327.     pragma Import(C, rand, "rand");                         -- stdlib.h:299
  328.     pragma Import(C, srand, "srand");                       -- stdlib.h:301
  329.     pragma Import(C, strtod, "strtod");                     -- stdlib.h:302
  330.     pragma Import(C, strtol, "strtol");                     -- stdlib.h:303
  331.     pragma Import(C, strtoul, "strtoul");                   -- stdlib.h:304
  332.     pragma Import(C, ultoa, "_ultoa");                      -- stdlib.h:306
  333.     pragma Import(C, wctomb, "wctomb");                     -- stdlib.h:307
  334.     pragma Import(C, wcstombs, "wcstombs");                 -- stdlib.h:308
  335.     pragma Import(C, ecvt, "_ecvt");                        -- stdlib.h:325
  336.     pragma Import(C, fcvt, "_fcvt");                        -- stdlib.h:327
  337.     pragma Import(C, fullpath, "_fullpath");                -- stdlib.h:328
  338.     pragma Import(C, gcvt, "_gcvt");                        -- stdlib.h:329
  339.     pragma Import(C, lrotl, "_lrotl");                      -- stdlib.h:330
  340.     pragma Import(C, lrotr, "_lrotr");                      -- stdlib.h:331
  341.     pragma Import(C, makepath, "_makepath");                -- stdlib.h:332
  342.     pragma Import(C, onexit, "_onexit");                    -- stdlib.h:334
  343.     pragma Import(C, putenv, "_putenv");                    -- stdlib.h:336
  344.     pragma Import(C, rotl, "_rotl");                        -- stdlib.h:337
  345.     pragma Import(C, rotr, "_rotr");                        -- stdlib.h:338
  346.     pragma Import(C, searchenv, "_searchenv");              -- stdlib.h:339
  347.     pragma Import(C, splitpath, "_splitpath");              -- stdlib.h:340
  348.     pragma Import(C, swab, "_swab");                        -- stdlib.h:341
  349.     pragma Import(C, seterrormode, "_seterrormode");        -- stdlib.h:342
  350.     pragma Import(C, beep, "_beep");                        -- stdlib.h:343
  351.     pragma Import(C, sleep, "_sleep");                      -- stdlib.h:344
  352.     pragma Import(C, exit_program, "exit");
  353.     pragma Import(C, exit_program_now, "_exit");
  354.  
  355. -------------------------------------------------------------------------------
  356. --
  357. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS PROVIDED WITHOUT CHARGE
  358. -- "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
  359. -- BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR
  360. -- FITNESS FOR A PARTICULAR PURPOSE.  The user assumes the entire risk as to
  361. -- the accuracy and the use of this file.  This file may be used, copied,
  362. -- modified and distributed only by licensees of Microsoft Corporation's
  363. -- WIN32 Software Development Kit in accordance with the terms of the 
  364. -- licensee's End-User License Agreement for Microsoft Software for the
  365. -- WIN32 Development Kit.
  366. --
  367. -- Copyright (c) Intermetrics, Inc. 1995
  368. -- Portions (c) 1985-1994 Microsoft Corporation with permission.
  369. -- Microsoft is a registered trademark and Windows and Windows NT are
  370. -- trademarks of Microsoft Corporation.
  371. --
  372. -------------------------------------------------------------------------------
  373.  
  374. end Win32.Stdlib;
  375.