BeOS port related changes (initial commit)

This commit is contained in:
zharik 2003-03-29 21:51:19 +00:00
parent ff3bd0a039
commit f760aae131
24 changed files with 844 additions and 244 deletions

View File

@ -115,8 +115,11 @@ bool PopupLocked(long tries, int isopen, const char* file) {
}
// Pause approx 1 second before trying again
#ifndef __BEOS__
usleep(1000);
#else
sleep(1);
#endif
// Try again
return true;
}

View File

@ -24,63 +24,63 @@
## Master build file.
## ------------------------------------------------------------------
gcalst cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gcarea cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg0 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg1 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg3 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg4 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg5 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg6 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg7 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gccfgg8 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gckeys cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gclang cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gcmisc cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gealst cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gearea cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gecarb cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gecmfd cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gectnr cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gectrl cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gedoit cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gedoss cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geedit cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geedit2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geedit3 cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gefile cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gefind cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geglob cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gehdre cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gehdrs cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geinit cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geline cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gelmsg cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gemain cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gemenu cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gemlst cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gemnus cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gemrks cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gemsgs cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
genode cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geplay cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gepost cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geqwks cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gerand cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geread cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geread2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gescan cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gesrch cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gesoup cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
getpls cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geusrbse cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geutil cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geutil2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
geview cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gmarea cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
golded3 cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
gcalst cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gcarea cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg0 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg1 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg3 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg4 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg5 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg6 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg7 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gccfgg8 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gckeys cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gclang cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gcmisc cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gealst cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gearea cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gecarb cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gecmfd cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gectnr cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gectrl cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gedoit cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gedoss cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geedit cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geedit2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geedit3 cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gefile cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gefind cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geglob cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gehdre cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gehdrs cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geinit cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geline cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gelmsg cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gemain cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gemenu cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gemlst cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gemnus cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gemrks cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gemsgs cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
genode cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geplay cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gepost cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geqwks cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gerand cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geread cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geread2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gescan cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gesrch cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gesoup cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
getpls cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geusrbse cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geutil cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geutil2 cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
geview cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gmarea cpp all ovl bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
golded3 cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
gedcyg rc cyg
gedemx rc emx

View File

@ -111,6 +111,11 @@ const char* __gver_shortver__ = __GVER_SVER__(__GVER_MAJOR__,__GVER_MINOR__,__GV
#define __GVER_SHORTPLATFORM__ "BSD"
#define __GVER_SHORTLOGNAME__ "B"
#define __GVER_CFGEXT__ ".geb"
#elif defined(__BEOS__)
#define __GVER_PLATFORM__ "/BeOS"
#define __GVER_SHORTPLATFORM__ "BeOS"
#define __GVER_SHORTLOGNAME__ "B"
#define __GVER_CFGEXT__ ".gbe"
#elif defined(__UNIX__)
#define __GVER_PLATFORM__ "/UNX"
#define __GVER_SHORTPLATFORM__ "UNX"

113
goldlib/gall/be_lock.c Normal file
View File

@ -0,0 +1,113 @@
/*
BeLock.c - implementation of Fido-style message bases lock library.
Copyright 2001-2003 Siarzhuk Zharski, imker@gmx.li
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
4. Neither the names of the authors nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
*/
#include <stdio.h>
#include <errno.h>
#include "be_lock.h"
static const char rcsid[]="$Id$";
static status_t look_for_port(int file_handle, bool b_create, port_id *port_id_ptr)
{
status_t status = B_OK;
struct stat st = {0};
char name[B_OS_NAME_LENGTH] = {0};
if(fstat(file_handle, &st))
return B_IO_ERROR;
sprintf(name, "FidoLock:%08X:%08X", st.st_dev, st.st_ino);
*port_id_ptr = find_port(name);
if(*port_id_ptr == B_NAME_NOT_FOUND)
{
if(b_create)
{
*port_id_ptr = create_port(1, name);
if(*port_id_ptr == B_BAD_VALUE || *port_id_ptr == B_NO_MORE_PORTS)
status = *port_id_ptr;
}
else
status = B_NAME_NOT_FOUND;
}
else // already have such lock ...
status = B_BUSY;
return status;
}
status_t beos_lock(int file_handle)
{
port_id pid = 0;
return look_for_port(file_handle, true, &pid);
}
status_t beos_unlock(int file_handle)
{
port_id pid = 0;
status_t status = look_for_port(file_handle, false, &pid);
if(status == B_BUSY)
status = delete_port(pid);
return status;
}
#define IMPLEMENT_BEOS_FUNC(_FUNC_NAME, _FUNC)\
status_t _FUNC_NAME(FILE *handle) \
{ \
int file_handle = fileno(handle); \
if(file_handle == -1) \
return B_IO_ERROR; \
return _FUNC(file_handle); \
} \
IMPLEMENT_BEOS_FUNC(beos_flock, beos_lock)
IMPLEMENT_BEOS_FUNC(beos_funlock, beos_unlock)
#define IMPLEMENT_BE_FUNC(_FUNC_NAME, _HANDLE_TYPE, _FUNC)\
int _FUNC_NAME(_HANDLE_TYPE handle)\
{ \
int ret_value = 0; \
status_t status = _FUNC(handle); \
if(status != B_OK) \
{ \
errno = status; \
ret_value = -1; \
} \
return ret_value; \
} \
IMPLEMENT_BE_FUNC(be_lock, int, beos_lock)
IMPLEMENT_BE_FUNC(be_unlock, int, beos_unlock)
IMPLEMENT_BE_FUNC(be_flock, FILE *, beos_flock)
IMPLEMENT_BE_FUNC(be_funlock, FILE *, beos_funlock)

143
goldlib/gall/be_lock.h Normal file
View File

@ -0,0 +1,143 @@
/*
BeLock.h - interface to Fido-style message bases lock library.
Copyright 2001-2003 Siarzhuk Zharski, imker@gmx.li
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software
must display the following acknowledgement:
4. Neither the names of the authors nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
*/
/*
COMMENT: Many of Fidonet message bases uses file locks for theirs work in
concurrent environment. The Be Operating System has not such possibility.
Existing BeOS inplementations of locking allows to block only "nodes" from
any access. This blocking cannot prevent from some "entry" modification
attempts - for example, you can delete such file without problems or move
it to somewhere. The node is still locked but it is not that we wait for.
After long discussion on beos developer mail-lists I have not found usable
solution for this problem. That's why I decide to implement some alternative
locking technology. The key idea of my locking is using some BeOS-specific
kernel objects. At this time I found only single one to be accessible from
many processes - the BeOS kernel ports. See BeBook->Kernel Kit->Ports for
details. We can create port with some name and we can look for port with
such name in the system. Than, the locking algorithm is below:
1) Get the device and node IDs for file handle we going to lock:
fstat(file_handle, &stat_info);
2) Create the name for the port to be used as locking object:
sprintf(name, "FidoLock:%08X:%08X", stat_info.st_dev, stat_info.st_ino);
3) Look for existing port with this name:
pid = find_port(name);
if(pid == B_NAME_NOT_FOUND)
{
4) Create such port.
pid = create_port(1, name);
}
else
{
5) If such port exists - the file is locked - we must not touch it now -
say calling program about failed lock.
}
To unlock locked file - just delete the port
delete_port(pid);
This technique is also not perfect, but, in my opinion it is more safe than
node locking and more safe that work without any locking at al.
*/
#ifndef __BeLock_H_
#define __BeLock_H_
#include <OS.h>
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
/* be[os]_[f][un]lock() - acquires/releases file lock for file handle or stream
parameters:
file_handle - hanlde to file you want to [un]lock
file - opened stream for file you want to [un]lock
returns:
be_* - set of functions:
0 - on success
-1 - on fails. See errno for error code and B_* - codes below.
beos_* - set of functions:
B_OK
[0x00000000] - on success
other codes on error:
B_IO_ERROR (EIO)
[0x80000001] - input/output error.
For example fstat or fileno on file handles failed.
B_NAME_NOT_FOUND
[0x80000007] - port_name doesn't name an existing port.
Try to unlock non-existing filelock.
B_BAD_VALUE (EINVAL)
[0x80000005] - port's queue_length is too big or less than zero.
Error creating new port.
B_NO_MORE_PORTS
[0x80001201] - the system couldn't allocate another port.
Error creating new port.
B_BUSY (EBUSY)
[0x8000000E] - file is already locked - port exists.
B_BAD_PORT_ID
[0x80001200] - port doesn't identify an open port.
$Id$
*/
int be_lock(int file_handle);
int be_unlock(int file_handle);
int be_flock(FILE *file);
int be_funlock(FILE *file);
status_t beos_lock(int file_handle);
status_t beos_unlock(int file_handle);
status_t beos_flock(FILE *file);
status_t beos_funlock(FILE *file);
#ifdef __cplusplus
} //extern "C"
#endif //__cplusplus
#endif // __BeLock_H_

View File

@ -22,117 +22,117 @@
## ------------------------------------------------------------------
## CRC and hash calculation.
gcrc16tb cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrc32tb cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrchash cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrckeyv cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrcm16 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrcm32 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrcs16 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrcs32 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcrc16tb cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrc32tb cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrchash cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrckeyv cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrcm16 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrcm32 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrcs16 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcrcs32 cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Debugging.
gdbgerr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gdbgexit cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gdbgtrk cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gdbgerr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gdbgexit cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gdbgtrk cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Directory handling.
gdirposx cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gdirposx cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Expression evaluators.
geval cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gevalhum cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gevalrpn cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
geval cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gevalhum cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gevalrpn cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## File handling.
gfile cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gfilport cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gfilutl1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gfilutl2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gfile cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gfilport cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gfilutl1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gfilutl2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## FTN address classes.
gftnaddr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gftnaddr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Nodelist index access classes.
gftnnl cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gftnnlfd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gftnnlfu cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gftnnlge cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gftnnlv7 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gftnnl cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gftnnlfd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gftnnlfu cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gftnnlge cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gftnnlv7 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Keyboard.
gkbdbase cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gkbdgetm cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gkbdunix cpp all nov lnx
gkbdwait cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gkbdbase cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gkbdgetm cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gkbdunix cpp all nov lnx be
gkbdwait cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Logfile class.
glog cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
glog cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Misc. memory stuff.
gmemdbg cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmemutil cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmemdbg cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmemutil cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Mouse.
gmoubase cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoubase cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Message attributes.
gmsgattr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmsgattr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Message handling.
ghdrmime cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
ghdrmime cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## GoldED printer definition strings.
gprnutil cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gprnutil cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## UNIX signals.
gsigunix cpp all nov lnx
gsigunix cpp all nov lnx be
## Sound.
gsnd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gsndwrap cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gsnd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gsndwrap cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Strings.
gstrbags cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gstrctyp cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gstrmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gstrname cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gstrutil cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gstrbags cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gstrctyp cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gstrmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gstrname cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gstrutil cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Time related.
gtimjuld cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gtimutil cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gtimjuld cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gtimutil cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Text searching.
gbmh cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gfuzzy cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gregex cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwildmat cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gsearch cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gsrchmgr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gbmh cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gfuzzy cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gregex cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwildmat cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gsearch cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gsrchmgr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Text processing.
gtxtpara cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gtxtpara cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## BBS userbase access.
gusrbase cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrezyc cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrgold cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrhuds cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrmax cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrpcb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrra2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrxbbs cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gusrbase cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrezyc cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrgold cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrhuds cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrmax cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrpcb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrra2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gusrxbbs cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Miscellaneous utility.
gutlclip cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutlcode cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutlgrp cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutlmisc cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutlmtsk cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutltag cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutlvers cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gcharset cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gutlclip cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gutlcode cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gutlgrp cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gutlmisc cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gutlmtsk cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gutltag cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gutlvers cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gcharset cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## OS specific utilities
gutldos cpp all djg
@ -140,24 +140,25 @@ gutlos2 cpp all bco wco emx
gutlos2m cpp all bco wco emx
gutlwin cpp all bcx cyg
gutlwinm cpp all bcx cyg
gutlunix cpp all lnx
gutlunix cpp all lnx be
be_lock c all be
## Low-level text video
gvidbase cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gvidinit cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gvidbase cpp all nov bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gvidinit cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## Text windowing.
gwinbase cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwindow cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinhlp1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinhlp2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwininit cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinline cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinmenu cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinmnub cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinpckf cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinpcks cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinpick cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinput2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gwinbase cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwindow cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinhlp1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinhlp2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwininit cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinline cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinmenu cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinmnub cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinpckf cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinpcks cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinpick cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gwinput2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
## ------------------------------------------------------------------

View File

@ -73,6 +73,9 @@
#if defined(__OpenBSD__)
#define __UNIX__ __OpenBSD__
#endif
#if defined(__BEOS__)
#define __UNIX__ __BEOS__
#endif
#endif
#ifdef __GNUC__

View File

@ -72,6 +72,14 @@ extern __inline__ int isxalnum(char c) { return isascii(c) ? isalnum(c) : (c !=
}
#endif
#ifdef __BEOS__
//sz: there are some problems under BeOS with that function - symbols
// from second half of ASCII table are assumed as control ones ...
// This is a real disaster for cyrillic users ...
// It's also not possible to use setlocale() to change it's behaviour. =-(
#undef iscntrl
# define iscntrl(c) ((c < 0x7f) ? __isctype((c), _IScntrl) : 0)
#endif //__BEOS__
// ------------------------------------------------------------------

View File

@ -45,6 +45,10 @@
#include <sys/locking.h>
#endif
#if defined(__BEOS__)
#include "be_lock.h"
#endif
// ------------------------------------------------------------------
@ -133,10 +137,11 @@ int unlock(int handle, long ofs, long length)
// ------------------------------------------------------------------
#if defined(__UNIX__) || defined(__CYGWIN__)
#if defined(__UNIX__) || defined(__CYGWIN__)
int lock(int handle, long offset, long length) {
#ifndef __BEOS__
struct flock fl;
fl.l_type = F_WRLCK;
fl.l_whence = SEEK_SET;
@ -144,6 +149,9 @@ int lock(int handle, long offset, long length) {
fl.l_len = length;
return fcntl(handle, F_SETLK, &fl);
#else //__BEOS__
return be_lock(handle);
#endif
}
#endif
@ -155,6 +163,7 @@ int lock(int handle, long offset, long length) {
int unlock(int handle, long offset, long length) {
#ifndef __BEOS__
struct flock fl;
fl.l_type = F_UNLCK;
fl.l_whence = SEEK_SET;
@ -162,6 +171,9 @@ int unlock(int handle, long offset, long length) {
fl.l_len = length;
return fcntl(handle, F_SETLK, &fl);
#else //__BEOS__
return be_unlock(handle);
#endif //__BEOS__
}
#endif

View File

@ -52,9 +52,11 @@
// ------------------------------------------------------------------M
#if defined(__UNIX__)
#if not defined(__BEOS__)
#define O_TEXT 0
#define O_BINARY 0
#endif
#endif
#ifndef S_IWUSR
#define S_IWUSR S_IWRITE

View File

@ -60,6 +60,9 @@
#include <stdio.h>
#endif
#if defined(__BEOS__)
#include <InterfaceDefs.h>
#endif
// ------------------------------------------------------------------
@ -177,7 +180,7 @@ GKbd::GKbd() {
Init();
#if defined(__UNIX__) && !defined(__USE_NCURSES__)
#if defined(__UNIX__) && !defined(__USE_NCURSES__) && !defined(__BEOS__)
gkbd_keymap_init();
@ -283,6 +286,58 @@ GKbd::GKbd() {
gkbd_define_keysym("\033\x0D", Key_A_Ent);
gkbd_define_keysym("\033\x09", Key_A_Tab);
#elif defined(__BEOS__)
gkbd_keymap_init();
char escseq[2];
escseq[1] = NUL;
for(int n=0; n<256; n++) {
escseq[0] = (char)n;
if(n == 0x08)
gkbd_define_keysym(escseq, Key_BS);
else if(n == 0x09)
gkbd_define_keysym(escseq, Key_Tab);
else if(n == 0x0D)
gkbd_define_keysym(escseq, Key_Ent);
else if(n == 0x7F)
gkbd_define_keysym(escseq, Key_Del); // ?????
else
gkbd_define_keysym(escseq, (n < 128) ? (scancode_table[n]|n) : n);
}
// gkbd_define_keysym("^@", 0); ?????????
gkbd_define_keysym("\033[A", Key_Up);
gkbd_define_keysym("\033[B", Key_Dwn);
gkbd_define_keysym("\033[C", Key_Rgt);
gkbd_define_keysym("\033[D", Key_Lft);
gkbd_define_keysym("\033[1~", Key_Home);
gkbd_define_keysym("\033[2~", Key_Ins);
gkbd_define_keysym("\033[4~", Key_End);
gkbd_define_keysym("\033[5~", Key_PgUp);
gkbd_define_keysym("\033[6~", Key_PgDn);
// gkbd_define_keysym("\033[3~", Key_Del);
gkbd_define_keysym("\033[11~", Key_F1);
gkbd_define_keysym("\033[12~", Key_F2);
gkbd_define_keysym("\033[13~", Key_F3);
gkbd_define_keysym("\033[14~", Key_F4);
gkbd_define_keysym("\033[15~", Key_F5);
gkbd_define_keysym("\033[16~", Key_F6);
gkbd_define_keysym("\033[17~", Key_F7);
gkbd_define_keysym("\033[18~", Key_F8);
gkbd_define_keysym("\033[19~", Key_F9);
gkbd_define_keysym("\033[20~", Key_F10);
/*
gkbd_define_keysym("\033\x7F", Key_A_BS);
gkbd_define_keysym("\033\x0D", Key_A_Ent);
gkbd_define_keysym("\033\x09", Key_A_Tab);
*/
#endif
}
@ -968,6 +1023,19 @@ bool linux_cui_key(gkey k) {
}
#endif
#if defined(__BEOS__)
int BeOSShiftState()
{
int shift = 0;
uint32 mods = modifiers();
if(mods&B_LEFT_SHIFT_KEY) shift |= LSHIFT;
if(mods&B_RIGHT_SHIFT_KEY) shift |= RSHIFT;
if(mods&B_CONTROL_KEY) shift |= GCTRL;
if(mods&B_OPTION_KEY) shift |= ALT;
return shift;
}
#endif
// ------------------------------------------------------------------
// Get key stroke
@ -1305,6 +1373,9 @@ gkey kbxget_raw(int mode) {
if(ioctl(fileno(stdin), TIOCLINUX, &key) == -1)
#endif
key = 0;
#ifdef __BEOS__
key = BeOSShiftState();
#endif
return key;
}
else if(mode & 0x01) {
@ -1373,6 +1444,129 @@ gkey kbxget_raw(int mode) {
else if(shifts & GCTRL)
k = Key_C_BS;
}
#elif __BEOS__
{
int shifts = BeOSShiftState();
if(shifts & (ALT))
switch(k){
case Key_0: k=Key_A_0; break;
case Key_1: k=Key_A_1; break;
case Key_2: k=Key_A_2; break;
case Key_3: k=Key_A_3; break;
case Key_4: k=Key_A_4; break;
case Key_5: k=Key_A_5; break;
case Key_6: k=Key_A_6; break;
case Key_7: k=Key_A_7; break;
case Key_8: k=Key_A_8; break;
case Key_9: k=Key_A_9; break;
case Key_A: k=Key_A_A; break;
case Key_B: k=Key_A_B; break;
case Key_C: k=Key_A_C; break;
case Key_D: k=Key_A_D; break;
case Key_E: k=Key_A_E; break;
case Key_F: k=Key_A_F; break;
case Key_G: k=Key_A_G; break;
case Key_H: k=Key_A_H; break;
case Key_I: k=Key_A_I; break;
case Key_J: k=Key_A_J; break;
case Key_K: k=Key_A_K; break;
case Key_L: k=Key_A_L; break;
case Key_M: k=Key_A_M; break;
case Key_N: k=Key_A_N; break;
case Key_O: k=Key_A_O; break;
case Key_P: k=Key_A_P; break;
case Key_Q: k=Key_A_Q; break;
case Key_R: k=Key_A_R; break;
case Key_S: k=Key_A_S; break;
case Key_T: k=Key_A_T; break;
case Key_U: k=Key_A_U; break;
case Key_V: k=Key_A_V; break;
case Key_W: k=Key_A_W; break;
case Key_X: k=Key_A_X; break;
case Key_Y: k=Key_A_Y; break;
case Key_Z: k=Key_A_Z; break;
case Key_F1: k=Key_A_F1; break;
case Key_F2: k=Key_A_F2; break;
case Key_F3: k=Key_A_F3; break;
case Key_F4: k=Key_A_F4; break;
case Key_F5: k=Key_A_F5; break;
case Key_F6: k=Key_A_F6; break;
case Key_F7: k=Key_A_F7; break;
case Key_F8: k=Key_A_F8; break;
case Key_F9: k=Key_A_F9; break;
case Key_F10: k=Key_A_F10; break;
case Key_F11: k=Key_A_F11; break;
case Key_F12: k=Key_A_F12; break;
case Key_BS: k=Key_A_BS; break;
case Key_Ent: k=Key_A_Ent; break;
case Key_Tab: k=Key_A_Tab; break;
case Key_Dwn: k = Key_A_Dwn; break;
case Key_Up: k = Key_A_Up; break;
case Key_Lft: k = Key_A_Lft; break;
case Key_Rgt: k = Key_A_Rgt; break;
case Key_Home: k = Key_A_Home; break;
case Key_PgDn: k = Key_A_PgDn; break;
case Key_PgUp: k = Key_A_PgUp; break;
case Key_End: k = Key_A_End; break;
// case Key_: k=Key_A_; break;
default: break;
}
else if(shifts & (LSHIFT | RSHIFT))
switch(k){
case Key_F1: k=Key_S_F1; break;
case Key_F2: k=Key_S_F2; break;
case Key_F3: k=Key_S_F3; break;
case Key_F4: k=Key_S_F4; break;
case Key_F5: k=Key_S_F5; break;
case Key_F6: k=Key_S_F6; break;
case Key_F7: k=Key_S_F7; break;
case Key_F8: k=Key_S_F8; break;
case Key_F9: k=Key_S_F9; break;
case Key_F10: k=Key_S_F10; break;
case Key_F11: k=Key_S_F11; break;
case Key_F12: k=Key_S_F12; break;
case Key_Tab: k=Key_S_Tab; break;
default: KCodScn(k) |= 0x80; break;
}
else if(shifts & GCTRL) {
switch(k) {
case Key_Ent: k = Key_C_Ent; break;
case Key_Ins: k = Key_C_Ins; break;
case Key_Del: k = Key_C_Del; break;
case Key_Dwn: k = Key_C_Dwn; break;
case Key_Up: k = Key_C_Up; break;
case Key_Lft: k = Key_C_Lft; break;
case Key_Rgt: k = Key_C_Rgt; break;
case Key_Home: k = Key_C_Home; break;
case Key_PgDn: k = Key_C_PgDn; break;
case Key_PgUp: k = Key_C_PgUp; break;
case Key_End: k = Key_C_End; break;
case Key_BS: k = Key_C_BS; break;
case Key_F1: k=Key_C_F1; break;
case Key_F2: k=Key_C_F2; break;
case Key_F3: k=Key_C_F3; break;
case Key_F4: k=Key_C_F4; break;
case Key_F5: k=Key_C_F5; break;
case Key_F6: k=Key_C_F6; break;
case Key_F7: k=Key_C_F7; break;
case Key_F8: k=Key_C_F8; break;
case Key_F9: k=Key_C_F9; break;
case Key_F10: k=Key_C_F10; break;
case Key_F11: k=Key_C_F11; break;
case Key_F12: k=Key_C_F12; break;
}
}
} /*else if(k == Key_BS) {
// Under Linux we could use TIOCLINUX fn. 6 to read shift states on console
// Of course it is very unportable but should produce good results :-)
int shifts = 6;
if(ioctl(fileno(stdin), TIOCLINUX, &shifts) == -1)
shifts = 0;
if(shifts & ALT)
k = Key_A_BS;
else if(shifts & GCTRL)
k = Key_C_BS;
}*/
#endif
return k;

View File

@ -41,6 +41,11 @@
#include <gsigunix.h>
#include <gkbdunix.h>
#ifdef __BEOS__
//sz: some undocumented call that behaves in same manner as select ...
extern "C" int waiton( int, fd_set *, fd_set *, fd_set *, bigtime_t);
#endif
// ------------------------------------------------------------------
@ -158,6 +163,7 @@ void gkbd_tty_reset() {
int gkbd_sys_input_pending(int tsecs) {
#ifndef __BEOS__
static fd_set read_fd_set;
struct timeval wait;
long usecs, secs;
@ -179,6 +185,53 @@ int gkbd_sys_input_pending(int tsecs) {
FD_SET(gkbd_stdin, &read_fd_set);
return select(gkbd_stdin+1, &read_fd_set, NULL, NULL, &wait);
#else
//bigtime_t t= bigtime_t(secs) * 1000000L + usecs;
///*return*/ waiton(gkbd_stdin+1, &read_fd_set, NULL, NULL, 0/*t * 1000*/);
//return 0;
struct termios term, oterm;
int fd = gkbd_stdin;
int c = 0;
/* get the terminal settings */
tcgetattr(fd, &oterm);
/* get a copy of the settings, which we modify */
memcpy(&term, &oterm, sizeof(term));
/* put the terminal in non-canonical mode, any
reads timeout after 0.1 seconds or when a
single character is read */
term.c_lflag = term.c_lflag & (!ICANON);
term.c_cc[VMIN] = 0;
term.c_cc[VTIME] = 1;
tcsetattr(fd, TCSANOW, &term);
/* get input - timeout after 0.1 seconds or
when one character is read. If timed out
getchar() returns -1, otherwise it returns
the character */
/* c=getchar();
*/
int bytes = -1;
ioctl(fd, TCWAITEVENT, &bytes);
/* reset the terminal to original state */
tcsetattr(fd, TCSANOW, &oterm);
/* if we retrieved a character, put it back on
the input stream */
/* if (c != -1)
ungetc(c, stdin);
/* return 1 if the keyboard was hit, or 0 if it
was not hit */
/* return ((c!=-1)?1:0);
*/
return bytes;
#endif
}

View File

@ -42,6 +42,9 @@
#include <unistd.h>
#endif
#ifdef __BEOS__
#include <OS.h> // sz: snooze() declaration ...
#endif
// ------------------------------------------------------------------
// Global multitasker data
@ -180,7 +183,11 @@ void GMTsk::timeslice() {
switch(detected) {
#if defined(__UNIX__)
case GMTSK_LINUX:
usleep(5000);
#if defined(__BEOS__)
snooze(5000);
#else
usleep(5000);
#endif
break;
#endif
#if defined(__WIN32__)

View File

@ -38,6 +38,10 @@
#define CLIPDIR "~/.cedit"
#define CLIPFILE "~/.cedit/cooledit.clip"
#ifdef __BEOS__
char ge_beos_title[GMAXTITLE] = "";
int ge_beos_ext_title;
#endif
// ------------------------------------------------------------------
@ -60,7 +64,13 @@ void g_deinit_os(void) {
void g_init_title(char *tasktitle, int titlestatus) {
#ifndef __BEOS__
NW(tasktitle); NW(titlestatus);
#else
strncpy(ge_beos_title, tasktitle, GMAXTITLE);
ge_beos_title[GMAXTITLE-1] = '\0';
ge_beos_ext_title = titlestatus;
#endif
}
@ -76,7 +86,14 @@ void g_increase_priority(void) {
void g_set_ostitle(char* title, word dx) {
NW(title); NW(dx);
NW(dx);
#ifndef __BEOS__
NW(title);
#else
char fmt[]={'\x1b','\x5d','\x32','\x3b', '%', 's', '\x07', 0};
fprintf(stdout, fmt, title);
fflush(stdout);
#endif
}
@ -152,7 +169,26 @@ void g_get_ostitle_name(char* title) {
void g_set_ostitle_name(char* title, int mode) {
#ifndef __BEOS__
NW(title); NW(mode);
#else
if(mode == 0) {
char fulltitle[GMAXTITLE];
strcpy(fulltitle, ge_beos_title);
if(ge_beos_ext_title) {
int len = strlen(fulltitle);
if(len < GMAXTITLE-4) {
if(len)
strcat(fulltitle, " - ");
strncpy(fulltitle+len+3, title, GMAXTITLE-len-3);
fulltitle[GMAXTITLE-1] = '\0';
}
}
g_set_ostitle(fulltitle, 0);
}
else
g_set_ostitle(title, 0);
#endif
}

View File

@ -36,6 +36,9 @@
# define NULL_VALUE 255
#endif
#ifdef __BEOS__
#include <net/socket.h> // defintions of FD_xx - to avoid problems with code below
#endif
// ------------------------------------------------------------------

View File

@ -35,6 +35,10 @@
#include <sys/utsname.h>
#endif
#if defined(__BEOS__)
#include <File.h>
#include <AppFileInfo.h>
#endif
// ------------------------------------------------------------------
@ -53,7 +57,16 @@ char* ggetosstring(void) {
sprintf(osstring, "%s %s.%s %s", info.sysname, info.version, info.release, info.machine);
#elif defined(__DJGPP__)
sprintf(osstring, "%s %s.%s %s", info.sysname, info.release, info.version, info.machine);
#else
#elif defined(__BEOS__)
{
BAppFileInfo appFileInfo;
version_info sys_ver = {0};
BFile file("/boot/beos/system/lib/libbe.so", B_READ_ONLY);
appFileInfo.SetTo(&file);
appFileInfo.GetVersionInfo(&sys_ver, B_APP_VERSION_KIND);
sprintf(osstring, "%s %s %s", info.sysname, sys_ver.short_info, info.machine);
}
#else
sprintf(osstring, "%s %s %s", info.sysname, info.release, info.machine);
#endif
else

View File

@ -23,52 +23,52 @@
// Msgbase area configuration.
gedacfg cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gedacfg cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
// AREAFILE readers.
gxareas cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxcrash cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxdb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxdutch cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxezy102 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxezy110 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfecho4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfecho5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfecho6 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfidpcb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfm092 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfm100 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxfm116 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxgecho cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxhpt cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gximail4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gximail5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gximail6 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxinter cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxlora cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxmax3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxme2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxopus cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxpcb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxportal cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxprobrd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxqfront cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxqecho cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxquick cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxra cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxraecho cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxspace cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxsquish cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxsuper cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxsync cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxtimed cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxtmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxts cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxwmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxwtr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxxbbs cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxxmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gxareas cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxcrash cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxdb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxdutch cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxezy102 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxezy110 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfecho4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfecho5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfecho6 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfidpcb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfm092 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfm100 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxfm116 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxgecho cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxhpt cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gximail4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gximail5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gximail6 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxinter cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxlora cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxmax3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxme2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxopus cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxpcb cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxportal cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxprobrd cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxqfront cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxqecho cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxquick cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxra cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxraecho cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxspace cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxsquish cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxsuper cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxsync cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxtimed cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxtmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxts cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxwmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxwtr cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxxbbs cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gxxmail cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
// Msgbase area configuration.
gedacfg h all

View File

@ -1,4 +1,4 @@
regex c all emx cyg
fnmatch c all
glob c all
dummy c all nov bcd bco bcx wcn wco wcx lnx djg rsx
dummy c all nov bcd bco bcx wcn wco wcx lnx djg rsx be

View File

@ -22,45 +22,45 @@
## ------------------------------------------------------------------
## Msgbase source for GoldED 3.xx
gmoarea cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmohuds cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoezyc1 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoezyc2 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoezyc3 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoezyc4 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoezyc5 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmofido1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmofido2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmofido3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmofido4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmofido5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmojamm1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmojamm2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmojamm3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmojamm4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmojamm5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmopcbd1 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmopcbd2 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmopcbd3 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmopcbd4 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmopcbd5 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosmb1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosmb2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosqsh1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosqsh2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosqsh3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosqsh4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmosqsh5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
gmowcat1 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmowcat2 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmowcat3 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmowcat4 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmowcat5 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg
gmoxbbs1 cpp all nov bco wco lnx emx djg cyg
gmoxbbs2 cpp all nov bco wco lnx emx djg cyg
gmoxbbs3 cpp all nov bco wco lnx emx djg cyg
gmoxbbs4 cpp all nov bco wco lnx emx djg cyg
gmoxbbs5 cpp all nov bco wco lnx emx djg cyg
gmoarea cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmohuds cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmoezyc1 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmoezyc2 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmoezyc3 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmoezyc4 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmoezyc5 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmofido1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmofido2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmofido3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmofido4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmofido5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmojamm1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmojamm2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmojamm3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmojamm4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmojamm5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmopcbd1 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmopcbd2 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmopcbd3 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmopcbd4 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmopcbd5 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosmb1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosmb2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosqsh1 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosqsh2 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosqsh3 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosqsh4 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmosqsh5 cpp all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmowcat1 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmowcat2 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmowcat3 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmowcat4 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmowcat5 cpp all nov bco bcx wcn wco wcx lnx emx djg rsx cyg be
gmoxbbs1 cpp all nov bco wco lnx emx djg cyg be
gmoxbbs2 cpp all nov bco wco lnx emx djg cyg be
gmoxbbs3 cpp all nov bco wco lnx emx djg cyg be
gmoxbbs4 cpp all nov bco wco lnx emx djg cyg be
gmoxbbs5 cpp all nov bco wco lnx emx djg cyg be
## ------------------------------------------------------------------

View File

@ -3,6 +3,10 @@
#include <gtimall.h>
#ifndef __BEOS__
#define SLEEP(a) usleep(a)
#else
#include <OS.h>
#define SLEEP(a) snooze(a)
#endif
#endif // __genwrap_h

View File

@ -1,2 +1,2 @@
lzh c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
smblib c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
lzh c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
smblib c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be

View File

@ -1,8 +1,8 @@
fptools c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uucheck c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uuencode c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uulib c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uunconc c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uuscan c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uustring c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
uuutil c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg
fptools c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uucheck c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uuencode c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uulib c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uunconc c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uuscan c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uustring c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be
uuutil c all ovl bcd bco bcx wcn wco wcx lnx emx djg rsx cyg be

View File

@ -21,7 +21,7 @@
## Master build file.
## ------------------------------------------------------------------
goldnode cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
goldnode cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
## ------------------------------------------------------------------

View File

@ -21,7 +21,7 @@
## Master build file.
## ------------------------------------------------------------------
rddt cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg
rddt cpp all nov bcd bco bcx djg emx lnx rsx wcn wco wcx cyg be
## ------------------------------------------------------------------