This file is indexed.

/usr/lib/hugs/packages/hugsbase/Hugs/ForeignPtr.hs is in hugs 98.200609.21-5.4.

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
module Hugs.ForeignPtr
        ( 
	  ForeignPtr             -- abstract, instance of: Eq
	, FinalizerPtr
	, FinalizerEnvPtr
        , newForeignPtr_         -- :: Ptr a -> IO (ForeignPtr a)
        , addForeignPtrFinalizer -- :: FinalizerPtr a -> ForeignPtr a -> IO ()
	, addForeignPtrFinalizerEnv -- :: FinalizerEnvPtr env a -> Ptr env ->
				    --    ForeignPtr a -> IO ()
	, unsafeForeignPtrToPtr	 -- :: ForeignPtr a -> Ptr a
	, touchForeignPtr        -- :: ForeignPtr a -> IO ()
	, castForeignPtr	 -- :: ForeignPtr a -> ForeignPtr b
        ) 
	where

import Hugs.Prelude		( ForeignPtr )
import Foreign.Ptr		( Ptr, FunPtr )

-- data ForeignPtr a -- defined in Prelude.hs

type FinalizerPtr        a = FunPtr (           Ptr a -> IO ())
type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ())

primitive newForeignPtr_ :: Ptr a -> IO (ForeignPtr a)
primitive addForeignPtrFinalizer :: FinalizerPtr a -> ForeignPtr a -> IO ()
primitive addForeignPtrFinalizerEnv ::
		FinalizerEnvPtr env a -> Ptr env -> ForeignPtr a -> IO ()
primitive touchForeignPtr :: ForeignPtr a -> IO ()
primitive unsafeForeignPtrToPtr :: ForeignPtr a -> Ptr a
primitive castForeignPtr "primUnsafeCoerce" :: ForeignPtr a -> ForeignPtr b