Show
Ignore:
Timestamp:
05/26/06 19:14:30 (3 years ago)
Author:
pguyot
Message:

Change in the APIs to be compatible with Relativity API.
(actually, use of :DefGlobalFn(symbol, spec) is discouraged in Relativity)

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • NEWT0/trunk/contrib/NativeCalls/native.newt

    r31 r55  
    1212 
    1313    local libc := OpenNativeLibrary("libc"); 
    14     libc:DefineGlobalFn({ 
    15         name: "gethostname", 
    16         symbol: '|libc.gethostname|, 
     14    libc:DefGlobalFn( 
     15        '|libc.gethostname|, 
     16        {name: "gethostname", 
    1717        args: ['string, 'sint32], 
    1818        result: 'sint32}); 
    19     libc:DefineGlobalFn({ 
    20         name: "socket", 
    21         symbol: '|libc.socket|, 
     19    libc:DefGlobalFn( 
     20        '|libc.socket|, 
     21        {name: "socket", 
    2222        args: ['sint32, 'sint32, 'sint32], 
    2323        result: 'sint32}); 
    24     libc:DefineGlobalFn({ 
    25         name: "close", 
    26         symbol: '|libc.close|, 
     24    libc:DefGlobalFn( 
     25        '|libc.close|, 
     26        {name: "close", 
     27        args: ['sint32], 
     28        result: 'sint32}); 
     29    libc:DefGlobalFn( 
     30        '|libc.popen|, 
     31        {name: "popen", 
     32        args: ['string, 'string], 
     33        result: 'sint32}); 
     34    libc:DefGlobalFn( 
     35        '|libc.pclose|, 
     36        {name: "pclose", 
    2737        args: ['sint32], 
    2838        result: 'sint32}); 
    2939 
    3040    local libm := OpenNativeLibrary("libm"); 
    31     libm:DefineGlobalFn({ 
    32         name: "cos", 
    33         symbol: '|libm.cos|, 
     41    libm:DefGlobalFn( 
     42        '|libm.cos|, 
     43        {name: "cos", 
    3444        args: ['double], 
    3545        result: 'double}); 
    3646 
    3747    local libcurses := OpenNativeLibrary("libcurses"); 
    38     libcurses:DefineGlobalFn({ 
    39         name: "initscr", 
    40         symbol: '|libcurses.initscr|, 
     48    libcurses:DefGlobalFn( 
     49        '|libcurses.initscr|, 
     50        {name: "initscr", 
    4151        args: [], 
    4252        result: 'pointer}); 
    43     libcurses:DefineGlobalFn({ 
    44         name: "cbreak", 
    45         symbol: '|libcurses.cbreak|, 
     53    libcurses:DefGlobalFn( 
     54        '|libcurses.cbreak|, 
     55        {name: "cbreak", 
    4656        args: [], 
    4757        result: 'sint32}); 
    48     libcurses:DefineGlobalFn({ 
    49         name: "noecho", 
    50         symbol: '|libcurses.noecho|, 
     58    libcurses:DefGlobalFn( 
     59        '|libcurses.noecho|, 
     60        {name: "noecho", 
    5161        args: [], 
    5262        result: 'sint32}); 
    53     libcurses:DefineGlobalFn({ 
    54         name: "flash", 
    55         symbol: '|libcurses.flash|, 
     63    libcurses:DefGlobalFn( 
     64        '|libcurses.flash|, 
     65        {name: "flash", 
    5666        args: [], 
    5767        result: 'sint32}); 
    58     libcurses:DefineGlobalFn({ 
    59         name: "endwin", 
    60         symbol: '|libcurses.endwin|, 
     68    libcurses:DefGlobalFn( 
     69        '|libcurses.endwin|, 
     70        {name: "endwin", 
    6171        args: [], 
    6272        result: 'sint32}); 
     
    111121    |libcurses.endwin|(); 
    112122 
     123    // call open(1) 
     124    local popenref := |libc.popen|("open /Applications/TextEdit.app/", "r"); 
     125    |libc.pclose|(popenref); 
     126 
    113127    libm:Close(); 
    114128    libc:Close();