1--
2--  Copyright (c) 2014-15 John Marino <draco@marino.st>
3--
4--  Permission to use, copy, modify, and distribute this software for any
5--  purpose with or without fee is hereby granted, provided that the above
6--  copyright notice and this permission notice appear in all copies.
7--
8--  THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9--  WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10--  MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11--  ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12--  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13--  ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14--  OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15--
16
17
18package body DragonFly.FileStatus is
19
20
21   --------------------
22   --  stat wrapper  --
23   --------------------
24
25   procedure stat (
26                path   : in String;
27                sb     : in out inode_data;
28                result : out Int32)
29   is
30      path_ptr : ICS.chars_ptr;
31   begin
32      path_ptr := ICS.New_String (path);
33      result   := private_stat (path_ptr, sb);
34   end stat;
35
36
37   -----------------------
38   --  symlink wrapper  --
39   -----------------------
40
41   function symlink (source, newlink : String) return Boolean
42   is
43      source_ptr  : ICS.chars_ptr := ICS.New_String (source);
44      newlink_ptr : ICS.chars_ptr := ICS.New_String (newlink);
45      result      : Int32;
46   begin
47      result := private_symlink (source_ptr, newlink_ptr);
48      return result = 0;
49   end symlink;
50
51end DragonFly.FileStatus;
52