This file is indexed.

/usr/share/doc/libghc-dpkg-doc/html/src/Debian-Dpkg-PkgSpec.html is in libghc-dpkg-doc 0.0.3-10.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<!-- Generated by HsColour, http://code.haskell.org/~malcolm/hscolour/ -->
<title>dist-ghc/build/Debian/Dpkg/PkgSpec.hs</title>
<link type='text/css' rel='stylesheet' href='hscolour.css' />
</head>
<body>
<pre><a name="line-1"></a><span class='hs-comment'>{-# LINE 1 "Debian/Dpkg/PkgSpec.hsc" #-}</span>
<a name="line-2"></a><span class='hs-comment'>{-
<a name="line-3"></a>{-# LINE 2 "Debian/Dpkg/PkgSpec.hsc" #-}
<a name="line-4"></a> PkgSpec.hsc: Haskell bindings to libdpkg
<a name="line-5"></a>   Copyright (C) 2012 Clint Adams
<a name="line-6"></a>
<a name="line-7"></a> This program is free software; you can redistribute it and/or modify
<a name="line-8"></a> it under the terms of the GNU General Public License as published by
<a name="line-9"></a> the Free Software Foundation; either version 3 of the License, or
<a name="line-10"></a> (at your option) any later version.
<a name="line-11"></a>
<a name="line-12"></a> This program is distributed in the hope that it will be useful,
<a name="line-13"></a> but WITHOUT ANY WARRANTY; without even the implied warranty of
<a name="line-14"></a> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
<a name="line-15"></a> GNU General Public License for more details.
<a name="line-16"></a>
<a name="line-17"></a> You should have received a copy of the GNU General Public License
<a name="line-18"></a> along with this program; if not, write to the Free Software
<a name="line-19"></a> Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
<a name="line-20"></a>-}</span>
<a name="line-21"></a>
<a name="line-22"></a><span class='hs-comment'>{-# LANGUAGE CPP, ForeignFunctionInterface #-}</span>
<a name="line-23"></a>
<a name="line-24"></a>
<a name="line-25"></a><span class='hs-comment'>{-# LINE 23 "Debian/Dpkg/PkgSpec.hsc" #-}</span>
<a name="line-26"></a>
<a name="line-27"></a><span class='hs-keyword'>module</span> <span class='hs-conid'>Debian</span><span class='hs-varop'>.</span><span class='hs-conid'>Dpkg</span><span class='hs-varop'>.</span><span class='hs-conid'>PkgSpec</span> <span class='hs-layout'>(</span>
<a name="line-28"></a>  <span class='hs-varid'>pkgSpecParsePkg</span>
<a name="line-29"></a><span class='hs-layout'>)</span> <span class='hs-keyword'>where</span>
<a name="line-30"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span><span class='hs-layout'>,</span><span class='hs-conid'>FunPtr</span><span class='hs-layout'>,</span><span class='hs-varid'>plusPtr</span><span class='hs-layout'>)</span>
<a name="line-31"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-varid'>wordPtrToPtr</span><span class='hs-layout'>,</span><span class='hs-varid'>castPtrToFunPtr</span><span class='hs-layout'>)</span>
<a name="line-32"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Storable</span>
<a name="line-33"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>C</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
<a name="line-34"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>C</span><span class='hs-varop'>.</span><span class='hs-conid'>String</span> <span class='hs-layout'>(</span><span class='hs-conid'>CString</span><span class='hs-layout'>,</span><span class='hs-conid'>CStringLen</span><span class='hs-layout'>,</span><span class='hs-conid'>CWString</span><span class='hs-layout'>,</span><span class='hs-conid'>CWStringLen</span><span class='hs-layout'>)</span>
<a name="line-35"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Marshal</span><span class='hs-varop'>.</span><span class='hs-conid'>Alloc</span> <span class='hs-layout'>(</span><span class='hs-varid'>alloca</span><span class='hs-layout'>)</span>
<a name="line-36"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Marshal</span><span class='hs-varop'>.</span><span class='hs-conid'>Array</span> <span class='hs-layout'>(</span><span class='hs-varid'>peekArray</span><span class='hs-layout'>,</span><span class='hs-varid'>pokeArray</span><span class='hs-layout'>)</span>
<a name="line-37"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Int</span>
<a name="line-38"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>Word</span>
<a name="line-39"></a>
<a name="line-40"></a><span class='hs-comment'>{-# LINE 28 "Debian/Dpkg/PkgSpec.hsc" #-}</span>
<a name="line-41"></a>
<a name="line-42"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Ptr</span> <span class='hs-layout'>(</span><span class='hs-varid'>nullPtr</span><span class='hs-layout'>)</span>
<a name="line-43"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>C</span><span class='hs-varop'>.</span><span class='hs-conid'>String</span> <span class='hs-layout'>(</span><span class='hs-varid'>withCString</span><span class='hs-layout'>,</span> <span class='hs-varid'>peekCString</span><span class='hs-layout'>)</span>
<a name="line-44"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Foreign</span><span class='hs-varop'>.</span><span class='hs-conid'>Marshal</span><span class='hs-varop'>.</span><span class='hs-conid'>Utils</span> <span class='hs-layout'>(</span><span class='hs-varid'>with</span><span class='hs-layout'>)</span>
<a name="line-45"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span> <span class='hs-layout'>(</span><span class='hs-varid'>liftM</span><span class='hs-layout'>,</span> <span class='hs-varid'>join</span><span class='hs-layout'>)</span>
<a name="line-46"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Control</span><span class='hs-varop'>.</span><span class='hs-conid'>Monad</span><span class='hs-varop'>.</span><span class='hs-conid'>Loops</span> <span class='hs-layout'>(</span><span class='hs-varid'>unfoldrM</span><span class='hs-layout'>)</span>
<a name="line-47"></a><span class='hs-keyword'>import</span> <span class='hs-keyword'>qualified</span> <span class='hs-conid'>Data</span><span class='hs-varop'>.</span><span class='hs-conid'>ByteString</span> <span class='hs-keyword'>as</span> <span class='hs-conid'>BS</span>
<a name="line-48"></a><span class='hs-keyword'>import</span> <span class='hs-conid'>Debian</span><span class='hs-varop'>.</span><span class='hs-conid'>Dpkg</span><span class='hs-varop'>.</span><span class='hs-conid'>Types</span>
<a name="line-49"></a>
<a name="line-50"></a>
<a name="line-51"></a><span class='hs-comment'>{-# LINE 38 "Debian/Dpkg/PkgSpec.hsc" #-}</span>
<a name="line-52"></a>
<a name="line-53"></a><a name="FIXME"></a><span class='hs-keyword'>type</span> <span class='hs-conid'>FIXME</span> <span class='hs-keyglyph'>=</span> <span class='hs-conid'>C'dpkg_error</span>
<a name="line-54"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"pkg_spec_parse_pkg"</span> <span class='hs-varid'>c'pkg_spec_parse_pkg</span>
<a name="line-55"></a>  <span class='hs-keyglyph'>::</span> <span class='hs-conid'>CString</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Ptr</span> <span class='hs-conid'>FIXME</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>C'pkginfo</span><span class='hs-layout'>)</span>
<a name="line-56"></a><span class='hs-keyword'>foreign</span> <span class='hs-keyword'>import</span> <span class='hs-keyword'>ccall</span> <span class='hs-keyword'>unsafe</span> <span class='hs-str'>"&amp;pkg_spec_parse_pkg"</span> <span class='hs-varid'>p'pkg_spec_parse_pkg</span>
<a name="line-57"></a>  <span class='hs-keyglyph'>::</span> <span class='hs-conid'>FunPtr</span> <span class='hs-layout'>(</span><span class='hs-conid'>CString</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>Ptr</span> <span class='hs-conid'>FIXME</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-layout'>(</span><span class='hs-conid'>Ptr</span> <span class='hs-conid'>C'pkginfo</span><span class='hs-layout'>)</span><span class='hs-layout'>)</span>
<a name="line-58"></a>
<a name="line-59"></a><span class='hs-comment'>{-# LINE 41 "Debian/Dpkg/PkgSpec.hsc" #-}</span>
<a name="line-60"></a>
<a name="line-61"></a><a name="pkgSpecParsePkg"></a><span class='hs-comment'>-- FIXME: if NULL return, handle error</span>
<a name="line-62"></a><span class='hs-definition'>pkgSpecParsePkg</span> <span class='hs-keyglyph'>::</span> <span class='hs-conid'>String</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-conid'>IO</span> <span class='hs-conid'>C'pkginfo</span>
<a name="line-63"></a><span class='hs-definition'>pkgSpecParsePkg</span> <span class='hs-varid'>p</span> <span class='hs-keyglyph'>=</span> <span class='hs-varid'>alloca</span> <span class='hs-varop'>$</span> <span class='hs-keyglyph'>\</span><span class='hs-varid'>derr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>withCString</span> <span class='hs-varid'>p</span> <span class='hs-layout'>(</span><span class='hs-keyglyph'>\</span><span class='hs-varid'>pcstr</span> <span class='hs-keyglyph'>-&gt;</span> <span class='hs-varid'>c'pkg_spec_parse_pkg</span> <span class='hs-varid'>pcstr</span> <span class='hs-varid'>derr</span><span class='hs-layout'>)</span> <span class='hs-varop'>&gt;&gt;=</span> <span class='hs-varid'>peek</span>
<a name="line-64"></a>
</pre></body>
</html>