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

SCM Repository

[smlnj] View of /sml/releases/release-110.37/src/ml-nlffi-lib/zstring.sig
ViewVC logotype

View of /sml/releases/release-110.37/src/ml-nlffi-lib/zstring.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 975 - (download) (as text) (annotate)
Wed Oct 31 20:22:44 2001 UTC (18 years, 11 months ago) by blume
Original Path: sml/trunk/src/ml-nlffi-lib/zstring.sig
File size: 917 byte(s)
updates to CKIT, CM, NLFFI, and scripts (see HISTORY)
(*
 * Functions for translating between 0-terminated C strings and native
 * ML strings.
 *
 *  (C) 2001, Lucent Technologies, Bell Laboratories
 *
 * author: Matthias Blume (blume@research.bell-labs.com)
 *)
signature ZSTRING = sig

    type 'c zstring = (C.uchar, 'c) C.ptr
    type 'c zstring' = (C.uchar, 'c) C.ptr'

    (* the C strlen function *)
    val length : 'c zstring -> int
    val length' : 'c zstring' -> int

    (* make ML string from 0-terminated C string *)
    val toML : 'c zstring -> string
    val toML' : 'c zstring' -> string

    (* Copy contents of ML string into C string and add terminating 0. *)
    val cpML : { from: string, to: C.rw zstring } -> unit
    val cpML' : { from: string, to: C.rw zstring' } -> unit

    (* Make C-duplicate of ML string (allocate memory and then copy). *)
    val dupML : string -> C.rw zstring option
    val dupML' : string -> C.rw zstring' option
end

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