Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/ml-nlffi-lib/c.sig
ViewVC logotype

Diff of /sml/trunk/src/ml-nlffi-lib/c.sig

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1031, Mon Jan 21 22:15:18 2002 UTC revision 1036, Fri Jan 25 22:05:44 2002 UTC
# Line 62  Line 62 
62      (* going from abstract to concrete and vice versa *)      (* going from abstract to concrete and vice versa *)
63      structure Cvt : sig      structure Cvt : sig
64          (* ML -> C *)          (* ML -> C *)
65          val c_schar  : MLRep.SChar.int   -> schar          val c_schar  : MLRep.Signed.int   -> schar
66          val c_uchar  : MLRep.UChar.word  -> uchar          val c_uchar  : MLRep.Unsigned.word  -> uchar
67          val c_sint   : MLRep.SInt.int    -> sint          val c_sint   : MLRep.Signed.int    -> sint
68          val c_uint   : MLRep.UInt.word   -> uint          val c_uint   : MLRep.Unsigned.word   -> uint
69          val c_sshort : MLRep.SShort.int  -> sshort          val c_sshort : MLRep.Signed.int  -> sshort
70          val c_ushort : MLRep.UShort.word -> ushort          val c_ushort : MLRep.Unsigned.word -> ushort
71          val c_slong  : MLRep.SLong.int   -> slong          val c_slong  : MLRep.Signed.int   -> slong
72          val c_ulong  : MLRep.ULong.word  -> ulong          val c_ulong  : MLRep.Unsigned.word  -> ulong
73          val c_float  : MLRep.Float.real  -> float          val c_float  : MLRep.Real.real  -> float
74          val c_double : MLRep.Double.real -> double          val c_double : MLRep.Real.real -> double
75    
76          (* C -> ML *)          (* C -> ML *)
77          val ml_schar  : schar  -> MLRep.SChar.int          val ml_schar  : schar  -> MLRep.Signed.int
78          val ml_uchar  : uchar  -> MLRep.UChar.word          val ml_uchar  : uchar  -> MLRep.Unsigned.word
79          val ml_sint   : sint   -> MLRep.SInt.int          val ml_sint   : sint   -> MLRep.Signed.int
80          val ml_uint   : uint   -> MLRep.UInt.word          val ml_uint   : uint   -> MLRep.Unsigned.word
81          val ml_sshort : sshort -> MLRep.SShort.int          val ml_sshort : sshort -> MLRep.Signed.int
82          val ml_ushort : ushort -> MLRep.UShort.word          val ml_ushort : ushort -> MLRep.Unsigned.word
83          val ml_slong  : slong  -> MLRep.SLong.int          val ml_slong  : slong  -> MLRep.Signed.int
84          val ml_ulong  : ulong  -> MLRep.ULong.word          val ml_ulong  : ulong  -> MLRep.Unsigned.word
85          val ml_float  : float  -> MLRep.Float.real          val ml_float  : float  -> MLRep.Real.real
86          val ml_double : double -> MLRep.Double.real          val ml_double : double -> MLRep.Real.real
87      end      end
88    
89      (* type-abbreviations for a bit more convenience. *)      (* type-abbreviations for a bit more convenience. *)
# Line 290  Line 290 
290       * fetching does not care about constness *)       * fetching does not care about constness *)
291      structure Get : sig      structure Get : sig
292    
293          (* primitive types *)          (* primitive types; the results are concrete here *)
294          val schar :  'c schar_obj -> schar          val schar :  'c schar_obj -> MLRep.Signed.int
295          val uchar :  'c uchar_obj -> uchar          val uchar :  'c uchar_obj -> MLRep.Unsigned.word
296          val sint :   'c sint_obj -> sint          val sint :   'c sint_obj -> MLRep.Signed.int
297          val uint :   'c uint_obj -> uint          val uint :   'c uint_obj -> MLRep.Unsigned.word
298          val sshort : 'c sshort_obj -> sshort          val sshort : 'c sshort_obj -> MLRep.Signed.int
299          val ushort : 'c ushort_obj -> ushort          val ushort : 'c ushort_obj -> MLRep.Unsigned.word
300          val slong :  'c slong_obj -> slong          val slong :  'c slong_obj -> MLRep.Signed.int
301          val ulong :  'c ulong_obj -> ulong          val ulong :  'c ulong_obj -> MLRep.Unsigned.word
302          val float :  'c float_obj -> float          val float :  'c float_obj -> MLRep.Real.real
303          val double : 'c double_obj -> double          val double : 'c double_obj -> MLRep.Real.real
304    
305          (* alt *)          (* alt *)
306          val schar' :  'c schar_obj' -> schar          val schar' :  'c schar_obj' -> MLRep.Signed.int
307          val uchar' :  'c uchar_obj' -> uchar          val uchar' :  'c uchar_obj' -> MLRep.Unsigned.word
308          val sint' :   'c sint_obj' -> sint          val sint' :   'c sint_obj' -> MLRep.Signed.int
309          val uint' :   'c uint_obj' -> uint          val uint' :   'c uint_obj' -> MLRep.Unsigned.word
310          val sshort' : 'c sshort_obj' -> sshort          val sshort' : 'c sshort_obj' -> MLRep.Signed.int
311          val ushort' : 'c ushort_obj' -> ushort          val ushort' : 'c ushort_obj' -> MLRep.Unsigned.word
312          val slong' :  'c slong_obj' -> slong          val slong' :  'c slong_obj' -> MLRep.Signed.int
313          val ulong' :  'c ulong_obj' -> ulong          val ulong' :  'c ulong_obj' -> MLRep.Unsigned.word
314          val float' :  'c float_obj' -> float          val float' :  'c float_obj' -> MLRep.Real.real
315          val double' : 'c double_obj' -> double          val double' : 'c double_obj' -> MLRep.Real.real
316    
317          (* fetching pointers *)          (* fetching pointers; results have to be abstract *)
318          val ptr : (('t, 'pc) ptr, 'c) obj -> ('t, 'pc) ptr          val ptr : (('t, 'pc) ptr, 'c) obj -> ('t, 'pc) ptr
319          val fptr : ('f, 'c) fptr_obj -> 'f fptr          val fptr : ('f, 'c) fptr_obj -> 'f fptr
320          val voidptr : 'c voidptr_obj -> voidptr          val voidptr : 'c voidptr_obj -> voidptr
# Line 324  Line 324 
324          val fptr' : ('f, 'c) fptr_obj' -> 'f fptr'          val fptr' : ('f, 'c) fptr_obj' -> 'f fptr'
325          val voidptr' : 'c voidptr_obj' -> voidptr          val voidptr' : 'c voidptr_obj' -> voidptr
326    
327          (* bitfields *)          (* bitfields; concrete again *)
328          val sbf : 'c sbf -> sint          val sbf : 'c sbf -> MLRep.Signed.int
329          val ubf : 'c ubf -> uint          val ubf : 'c ubf -> MLRep.Unsigned.word
330      end      end
331    
332      (* "store" methods; these require rw objects *)      (* "store" methods; these require rw objects *)
333      structure Set : sig      structure Set : sig
334          (* primitive types *)          (* primitive types; use concrete values *)
335          val schar :  rw schar_obj * schar -> unit          val schar :  rw schar_obj * MLRep.Signed.int -> unit
336          val uchar :  rw uchar_obj * uchar -> unit          val uchar :  rw uchar_obj * MLRep.Unsigned.word -> unit
337          val sint :   rw sint_obj * sint -> unit          val sint :   rw sint_obj * MLRep.Signed.int -> unit
338          val uint :   rw uint_obj * uint -> unit          val uint :   rw uint_obj * MLRep.Unsigned.word -> unit
339          val sshort : rw sshort_obj * sshort -> unit          val sshort : rw sshort_obj * MLRep.Signed.int -> unit
340          val ushort : rw ushort_obj * ushort -> unit          val ushort : rw ushort_obj * MLRep.Unsigned.word -> unit
341          val slong :  rw slong_obj * slong -> unit          val slong :  rw slong_obj * MLRep.Signed.int -> unit
342          val ulong :  rw ulong_obj * ulong -> unit          val ulong :  rw ulong_obj * MLRep.Unsigned.word -> unit
343          val float :  rw float_obj * float -> unit          val float :  rw float_obj * MLRep.Real.real -> unit
344          val double : rw double_obj * double -> unit          val double : rw double_obj * MLRep.Real.real -> unit
345    
346          (* alt *)          (* alt *)
347          val schar' :  rw schar_obj' * schar -> unit          val schar' :  rw schar_obj' * MLRep.Signed.int -> unit
348          val uchar' :  rw uchar_obj' * uchar -> unit          val uchar' :  rw uchar_obj' * MLRep.Unsigned.word -> unit
349          val sint' :   rw sint_obj' * sint -> unit          val sint' :   rw sint_obj' * MLRep.Signed.int -> unit
350          val uint' :   rw uint_obj' * uint -> unit          val uint' :   rw uint_obj' * MLRep.Unsigned.word -> unit
351          val sshort' : rw sshort_obj' * sshort -> unit          val sshort' : rw sshort_obj' * MLRep.Signed.int -> unit
352          val ushort' : rw ushort_obj' * ushort -> unit          val ushort' : rw ushort_obj' * MLRep.Unsigned.word -> unit
353          val slong' :  rw slong_obj' * slong -> unit          val slong' :  rw slong_obj' * MLRep.Signed.int -> unit
354          val ulong' :  rw ulong_obj' * ulong -> unit          val ulong' :  rw ulong_obj' * MLRep.Unsigned.word -> unit
355          val float' :  rw float_obj' * float -> unit          val float' :  rw float_obj' * MLRep.Real.real -> unit
356          val double' : rw double_obj' * double -> unit          val double' : rw double_obj' * MLRep.Real.real -> unit
357    
358          (* storing pointers *)          (* storing pointers; abstract *)
359          val ptr : (('t, 'pc) ptr, rw) obj * ('t, 'pc) ptr -> unit          val ptr : (('t, 'pc) ptr, rw) obj * ('t, 'pc) ptr -> unit
360          val fptr : ('f, rw) fptr_obj * 'f fptr -> unit          val fptr : ('f, rw) fptr_obj * 'f fptr -> unit
361          val voidptr : rw voidptr_obj * voidptr -> unit          val voidptr : rw voidptr_obj * voidptr -> unit
# Line 373  Line 373 
373          (* alt *)          (* alt *)
374          val ptr_voidptr' : (('t, 'pc) ptr, rw) obj' * voidptr -> unit          val ptr_voidptr' : (('t, 'pc) ptr, rw) obj' * voidptr -> unit
375    
376          (* bitfields *)          (* bitfields; concrete *)
377          val sbf : rw sbf * sint -> unit          val sbf : rw sbf * MLRep.Signed.int -> unit
378          val ubf : rw ubf * uint -> unit          val ubf : rw ubf * MLRep.Unsigned.word -> unit
379      end      end
380    
381      (* copying the contents of arbitrary objects *)      (* copying the contents of arbitrary objects *)

Legend:
Removed from v.1031  
changed lines
  Added in v.1036

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0