PreviousUpNext

15.3.580  src/lib/std/src/winix/winix-path.api

## winix-path.api

# Compiled by:
#     src/lib/std/src/standard-core.sublib



# The generic interface to syntactic pathname manipulation.
# A sub-api of api Winix:
#
#     src/lib/std/src/winix/winix--premicrothread.api

api Winix_Path {

    exception PATH;

    parent_arc:   String;
    current_arc:  String;

    volume_is_valid:  { is_absolute:  Bool, disk_volume:  String } -> Bool;

    from_string
        :
        String
        ->
        { is_absolute:  Bool, disk_volume:  String, arcs:  List( String ) };


    to_string
        :
        { is_absolute:  Bool, disk_volume:  String, arcs:  List( String ) }
        ->
        String;

    get_volume:    String -> String;
    get_parent:    String -> String;

    split_path_into_dir_and_file:  String -> { dir:  String, file:  String };
    make_path_from_dir_and_file:   { dir:  String, file:  String } -> String;
    dir:              String -> String;
    file:             String -> String;
    
    split_base_ext:  String -> { base:  String, ext:  Null_Or( String ) };
    join_base_ext:   { base:  String, ext:  Null_Or( String ) } -> String;
    base:             String -> String;    
    ext:              String -> Null_Or( String );

    make_canonical:  String -> String;
    is_canonical:  String -> Bool;

    make_absolute:   { path:  String, relative_to:  String } -> String;
    make_relative:   { path:  String, relative_to:  String } -> String;
    is_absolute:   String -> Bool;
    is_relative:   String -> Bool;

    is_root:       String -> Bool;

    cat:         ((String, String)) -> String;

    from_unix_path:  String -> String;
    to_unix_path:    String -> String;

}; #  Winix_Path 



## COPYRIGHT (c) 1995 AT&T Bell Laboratories.
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext