reorganized some files
authorRobert Kopferl <robertk@mok.lvcm.com>
Thu, 30 May 2002 15:11:47 +0000 (15:11 +0000)
committerRobert Kopferl <robertk@mok.lvcm.com>
Thu, 30 May 2002 15:11:47 +0000 (15:11 +0000)
svn path=/trunk/; revision=2994

os2/apps/bepslep/bepslep.c
os2/lib/doscalls/makefile
os2/lib/doscalls/misc/doscalls.c
os2/lib/doscalls/misc/doscalls.h
os2/lib/doscalls/misc/errorcodes.c [deleted file]
os2/lib/doscalls/run/process.cpp

index 08e6aad..4ada5d7 100644 (file)
@@ -1,6 +1,6 @@
 
-
-#include "../../dll/doscalls/doscalls.h"
+#define INCL_DOSPROCESS
+#include "../../include/os2.h"
 
 void Eingang()
 {
index 515aa4b..fd0f44c 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makefile,v 1.2 2002/03/24 18:52:10 ea Exp $
+# $Id: makefile,v 1.3 2002/05/30 15:11:46 robertk Exp $
 
 PATH_TO_TOP = ../../../..
 
@@ -21,7 +21,7 @@ TARGET_OBJECTS = $(TARGET_NAME).o
 TARGET_CLEAN = file/*.o vio/*.o sync/*.o mem/*.o \
                                misc/*.o mou/*.o kbd/*.o run/*.o
 
-DOSCALLS_MISC_OBJECTS = misc/doscalls.o
+DOSCALLS_MISC_OBJECTS = misc/doscalls.o file/openclose.o run/process.o devices/devices.o
 
 #SYNC_OBJECTS =
 
index 5ccea05..ede33f1 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: doscalls.c,v 1.4 2002/04/18 23:49:42 robertk Exp $
+/* $Id: doscalls.c,v 1.5 2002/05/30 15:11:46 robertk Exp $
 */
 /*
  *
  * PROJECT:          ReactOS OS/2 sub system
  * FILE:             dll/doscalls.c
  * PURPOSE:          Kernelservices for OS/2 apps
- * PROGRAMMER:       Robert K. robertk@mok.lvcm.com
+ * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
  * REVISION HISTORY:
  *    13-03-2002  Created
  */
 
-#include <ddk/ntddk.h>
-#include "doscalls.h"
-
-
-/*  Process variables. This section conains
-       per process variables that are used for caching or
-       other stuff. */
-DWORD PROC_Pid;                        // contains the current processes pid. (or is it also in PEB)
-
-
-
-/* Implementation of the system calls */
-APIRET STDCALL Dos32Sleep(ULONG msec)
-{
-       NTSTATUS stat;
-       TIME Interv;
-       Interv.QuadPart= -(10000 * msec);
-       stat = NtDelayExecution( TRUE, &Interv );
-       return 0;
-}
-
-APIRET STDCALL Dos32CreateThread(PTID ptid, PFNTHREAD pfn,
-                                   ULONG param, ULONG flag, ULONG cbStack)
-{
-       return 0;
-}
-
-
-APIRET STDCALL  Dos32Open(PSZ    pszFileName,  PHFILE pHf,
-                            PULONG pulAction,  ULONG  cbFile,
-                            ULONG  ulAttribute,  ULONG  fsOpenFlags,
-                            ULONG  fsOpenMode,  PVOID reserved )  //ULONGPEAOP2 peaop2)
-{
-/*     NTAPI
-ZwCreateFile(
-OUT PHANDLE FileHandle,
-IN ACCESS_MASK DesiredAccess,
-IN POBJECT_ATTRIBUTES ObjectAttributes,
-OUT PIO_STATUS_BLOCK IoStatusBlock,
-IN PLARGE_INTEGER AllocationSize OPTIONAL,
-IN ULONG FileAttributes,
-IN ULONG ShareAccess,
-IN ULONG CreateDisposition,
-IN ULONG CreateOptions,
-IN PVOID EaBuffer OPTIONAL,
-IN ULONG EaLength
-);*/
-
-
-
-          OBJECT_ATTRIBUTES ObjectAttributes;
-   IO_STATUS_BLOCK IoStatusBlock;
-   UNICODE_STRING NtPathU;
-   HANDLE FileHandle;
-   NTSTATUS Status;
-   ULONG Flags = 0;
-
-   switch (dwCreationDisposition)
-     {
-      case CREATE_NEW:
-       dwCreationDisposition = FILE_CREATE;
-       break;
-       
-      case CREATE_ALWAYS:
-       dwCreationDisposition = FILE_OVERWRITE_IF;
-       break;
-       
-      case OPEN_EXISTING:
-       dwCreationDisposition = FILE_OPEN;
-       break;
-       
-      case OPEN_ALWAYS:
-       dwCreationDisposition = OPEN_ALWAYS;
-       break;
-
-      case TRUNCATE_EXISTING:
-       dwCreationDisposition = FILE_OVERWRITE;
-     }
-   
-   DPRINT("CreateFileW(lpFileName %S)\n",lpFileName);
-   
-   if (dwDesiredAccess & GENERIC_READ)
-     dwDesiredAccess |= FILE_GENERIC_READ;
-   
-   if (dwDesiredAccess & GENERIC_WRITE)
-     dwDesiredAccess |= FILE_GENERIC_WRITE;
-   
-   if (!(dwFlagsAndAttributes & FILE_FLAG_OVERLAPPED))
-     {
-       Flags |= FILE_SYNCHRONOUS_IO_ALERT;
-     }
-   
-   if (!RtlDosPathNameToNtPathName_U ((LPWSTR)lpFileName,
-                                     &NtPathU,
-                                     NULL,
-                                     NULL))
-     return INVALID_HANDLE_VALUE;
-   
-   DPRINT("NtPathU \'%S\'\n", NtPathU.Buffer);
-   
-   ObjectAttributes.Length = sizeof(OBJECT_ATTRIBUTES);
-   ObjectAttributes.RootDirectory = NULL;
-   ObjectAttributes.ObjectName = &NtPathU;
-   ObjectAttributes.Attributes = OBJ_CASE_INSENSITIVE;
-   ObjectAttributes.SecurityDescriptor = NULL;
-   ObjectAttributes.SecurityQualityOfService = NULL;
-   
-   Status = NtCreateFile (&FileHandle,
-                         dwDesiredAccess,
-                         &ObjectAttributes,
-                         &IoStatusBlock,
-                         NULL,
-                         dwFlagsAndAttributes,
-                         dwShareMode,
-                         dwCreationDisposition,
-                         Flags,
-                         NULL,
-                         0);
-   if (!NT_SUCCESS(Status))
-     {
-       SetLastErrorByStatus (Status);
-       return INVALID_HANDLE_VALUE;
-     }
-   
-   return FileHandle;
-
-       return 0;
-}
-
-
-/* close a Handle. seems finished */
-APIRET STDCALL  Dos32Close(HFILE hFile)
-{
-       NTSTATUS   nErrCode;
-       nErrCode = NtClose( (HANDLE)hFile );
-       switch( nErrCode )
-       {
-       case STATUS_SUCCESS:
-               return NO_ERROR;
-       case STATUS_INVALID_HANDLE:
-               return ERROR_INVALID_HANDLE;
-       case STATUS_HANDLE_NOT_CLOSABLE:
-               return ERROR_FILE_NOT_FOUND;
-       }
-       return nErrCode;
-}
-
-
-
-
-APIRET STDCALL  Dos32Read(HFILE hFile, PVOID pBuffer,
-                            ULONG cbRead, PULONG pcbActual)
-{
-       NTSTATUS        nErrCode;
-       IO_STATUS_BLOCK isbStatus;
-       // read data from file 
-       nErrCode = NtReadFile( (HANDLE)hFile,   NULL,   NULL,   NULL,
-                                                       &isbStatus,             pBuffer,        cbRead,
-                                                       NULL,           NULL    );
-       // contains the # bytes actually read.
-       *pcbActual = isbStatus.Information;
-       switch(nErrCode)
-       {
-       case STATUS_INVALID_HANDLE:
-               return ERROR_INVALID_HANDLE;
-               // FIXME: complete this
-       }
-       return NO_ERROR;
-}
-
-/* Generic write to a stream given by hFile */
-APIRET STDCALL  Dos32Write(HFILE hFile, PVOID pBuffer,
-                             ULONG cbWrite, PULONG pcbActual)
-{ 
-       NTSTATUS        nErrCode;
-       IO_STATUS_BLOCK StatusBlk;
-       nErrCode = NtWriteFile( (HANDLE)hFile, NULL, NULL, NULL,
-                                                       &StatusBlk, pBuffer, cbWrite, 0, NULL );
-       *pcbActual = StatusBlk.Information;
-       // do an errorcode translation   FIXME: correct
-       switch(nErrCode)
-       {
-       case STATUS_SUCCESS:
-       case STATUS_PENDING:
-       case STATUS_ACCESS_DENIED:
-       case STATUS_INVALID_HANDLE:
-       case STATUS_FILE_LOCK_CONFLICT:
-               return 0;
-       }
-       return 0;
-}
-   
-
-
-/*******************************************/
-/* DosDevIOCtl performs control functions  */
-/* on a device specified by an opened      */
-/* device handle.                          */
-/*******************************************/
-/*HFILE     hDevice;         Device handle returned by DosOpen, or a standard (open) device handle. */
-/*ULONG     category;        Device category. */
-/*ULONG     function;        Device-specific function code. */
-/*PVOID     pParams;         Address of the command-specific argument list. */
-/*ULONG     cbParmLenMax;    Length, in bytes, of pParams. */
-/*PULONG    pcbParmLen;      Pointer to the length of parameters. */
-/*PVOID     pData;           Address of the data area. */
-/*ULONG     cbDataLenMax;    Length, in bytes, of pData. */
-/*PULONG    pcbDataLen;      Pointer to the length of data. */
-/*APIRET    ulrc;            Return Code. 
- ulrc (APIRET) - returns 
-    Return Code. 
-
-    DosDevIOCtl returns one of the following values: 
-
-      0         NO_ERROR 
-      1         ERROR_INVALID_FUNCTION 
-      6         ERROR_INVALID_HANDLE 
-      15        ERROR_INVALID_DRIVE 
-      31        ERROR_GEN_FAILURE 
-      87        ERROR_INVALID_PARAMETER 
-      111       ERROR_BUFFER_OVERFLOW 
-      115       ERROR_PROTECTION_VIOLATION 
-      117       ERROR_INVALID_CATEGORY 
-      119       ERROR_BAD_DRIVER_LEVEL 
-      163       ERROR_UNCERTAIN_MEDIA 
-      165       ERROR_MONITORS_NOT_SUPPORTED 
-*/
-APIRET STDCALL Dos32DevIOCtl(HFILE hDevice, ULONG category, ULONG function,
-        PVOID pParams,ULONG cbParmLenMax,PULONG pcbParmLen,
-        PVOID pData,ULONG cbDataLenMax,PULONG pcbDataLen)
-{
-       return 0;
-}
 
+#include <ddk/ntddk.h>
 
  
-APIRET STDCALL Dos32Beep(ULONG freq, ULONG dur)
-{
-       if( freq<0x25 || freq>0x7FFF )
-               return 395;     // ERROR_INVALID_FREQUENCY
-
-       HANDLE  hBeep;
-       IO_STATUS_BLOCK ComplStatus;
-       //UNICODE_STRING
-       OBJECT_ATTRIBUTES oa = {sizeof oa, 0, {8,8,"\\\\.\\Beep"l}, OBJ_CASE_INSENSITIVE};
-       NTSTATUS stat;
-       stat = NtOpenFile( &hBeep,
-                               FILE_READ_DATA | FILE_WRITE_DATA,
-                               &oa,
-                               &ComplStatus,
-                               0,      // no sharing
-                               FILE_OPEN );
-       
-       if (!NT_SUCCESS(stat))
-       {
-       }
-
-                  if( ComplStatus-> 
-  /*  HANDLE hBeep;
-    BEEP_SET_PARAMETERS BeepSetParameters;
-    DWORD dwReturned;
-
-    hBeep = Dos32Open("\\\\.\\Beep",
-                       FILE_GENERIC_READ | FILE_GENERIC_WRITE,
-                       0,
-                       NULL,
-                       OPEN_EXISTING,
-                       0,
-                       NULL);
-    if (hBeep == INVALID_HANDLE_VALUE)
-        return FALSE;
-*/
-    // Set beep data 
-  /*  BeepSetParameters.Frequency = dwFreq;
-    BeepSetParameters.Duration  = dwDuration;
-
-    DeviceIoControl(hBeep,
-                    IOCTL_BEEP_SET,
-                    &BeepSetParameters,
-                    sizeof(BEEP_SET_PARAMETERS),
-                    NULL,
-                    0,
-                    &dwReturned,
-                    NULL);
-
-    CloseHandle (hBeep);
-
-    return TRUE;
-*/
-
-
-
-       return 0;
-}
-
-/* Terminates the current thread or the current Process.
-       Decission is made by action 
-       FIXME:  move this code to OS2.EXE */
-VOID STDCALL Dos32Exit(ULONG action, ULONG result)
-{
-       // decide what to do
-       if( action == EXIT_THREAD)
-       {
-               NtTerminateThread( NULL, result );
-       }
-       else    // EXIT_PROCESS
-       {
-               NtTerminateProcess( NULL, result );
-       }
-}
-
 
 
 BOOL STDCALL DllMain( HANDLE hModule, DWORD  ul_reason_for_call, LPVOID lpReserved )
index f7e2f55..65d3a37 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: doscalls.h,v 1.3 2002/03/24 18:55:39 ea Exp $
+/* $Id: doscalls.h,v 1.4 2002/05/30 15:11:46 robertk Exp $
  *
  * COPYRIGHT:        See COPYING in the top level directory
  * PROJECT:          ReactOS OS/2 sub system
@@ -11,7 +11,6 @@
 
 
 
-#include "os2def.h"
 
 
 // FIXME: use ib headers
diff --git a/os2/lib/doscalls/misc/errorcodes.c b/os2/lib/doscalls/misc/errorcodes.c
deleted file mode 100644 (file)
index 852695a..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-/* $Id: errorcodes.c,v 1.2 2002/03/24 18:55:39 ea Exp $
-*/
-
-/* some header*/
-
-#include <os2errores>
-#include <nt's status.h>
-
-/*  This file defines a big array of #defines that are
-       used to translate OS/2 errorcodes to ntdll error codes. */
-
-/* OS/2 to NTDLL error mapping */
-#define NO_ERROR                                                       STATUS_SUCCESS
-#define ERROR_INVALID_FUNCTION                         STATUS_ILLEGAL_FUNCTION
-#define ERROR_FILE_NOT_FOUND    2       /* MSG%FILE_NOT_FOUND */
-#define ERROR_PATH_NOT_FOUND    3       /* MSG%PATH_NOT_FOUND */
-#define ERROR_TOO_MANY_OPEN_FILES       4       /* MSG%OUT_OF_HANDLES */
-#define ERROR_ACCESS_DENIED     5       /* MSG%ACCESS_DENIED */
-#define ERROR_INVALID_HANDLE    6       /* MSG%INVALID_HANDLE */
-#define ERROR_ARENA_TRASHED     7       /* MSG%MEMORY_BLOCKS_BAD */
-#define ERROR_NOT_ENOUGH_MEMORY 8       /* MSG%NO_MEMORY */
-#define ERROR_INVALID_BLOCK     9       /* MSG%INVALID_MEM_ADDR */
-#define ERROR_BAD_ENVIRONMENT   10      /* MSG%INVALID_ENVIRON */
-#define ERROR_BAD_FORMAT        11      /* MSG%INVALID_FORMAT */
-#define ERROR_INVALID_ACCESS    12      /* MSG%INVALID_ACC_CODE */
-#define ERROR_INVALID_DATA      13      /* MSG%INVALID_DATA */
-#define ERROR_INVALID_DRIVE     15      /* MSG%INVALID_DRIVE */
-#define ERROR_CURRENT_DIRECTORY 16      /* MSG%ATT_RD_CURDIR */
-#define ERROR_NOT_SAME_DEVICE   17      /* MSG%NOT_SAME_DEVICE */
-#define ERROR_NO_MORE_FILES     18      /* MSG%NO_MORE_FILES */
-#define ERROR_WRITE_PROTECT     19      /* MSG%ATT_WRITE_PROT */
-#define ERROR_BAD_UNIT  20      /* MSG%UNKNOWN_UNIT */
-#define ERROR_NOT_READY 21      /* MSG%DRIVE_NOT_READY */
-#define ERROR_BAD_COMMAND       22      /* MSG%UNKNOWN_COMMAND */
-#define ERROR_CRC       23      /* MSG%DATA_ERROR */
-#define ERROR_BAD_LENGTH        24      /* MSG%BAD_REQ_STRUCTURE */
-#define ERROR_SEEK      25      /* MSG%SEEK_ERROR */
-#define ERROR_NOT_DOS_DISK      26      /* MSG%UNKNOWN_MEDIA */
-#define ERROR_SECTOR_NOT_FOUND  27      /* MSG%SECTOR_NOT_FOUND */
-#define ERROR_OUT_OF_PAPER      28      /* MSG%OUT_OF_PAPER */
-#define ERROR_WRITE_FAULT       29      /* MSG%WRITE_FAULT */
-#define ERROR_READ_FAULT        30      /* MSG%READ_FAULT */
-#define ERROR_GEN_FAILURE       31      /* MSG%GENERAL_FAILURE */
-#define ERROR_SHARING_VIOLATION 32      /* MSG%SHARING_VIOLATION */
-/*                                      32%msg%SHAR_VIOLAT_FIND */
-#define ERROR_LOCK_VIOLATION    33      /* MSG%LOCK_VIOLATION */
-#define ERROR_WRONG_DISK        34      /* MSG%INVALID_DISK_CHANGE */
-#define ERROR_FCB_UNAVAILABLE   35      /* MSG%35 */
-#define ERROR_SHARING_BUFFER_EXCEEDED   36      /* MSG%SHARING_BUFF_OFLOW */
-#define ERROR_CODE_PAGE_MISMATCHED      37      /* MSG%ERROR_WRITE_PROTECT */
-#define ERROR_HANDLE_EOF        38      /* MSG%ERROR_BAD_UNIT */
-#define ERROR_HANDLE_DISK_FULL  39      /* MSG%ERROR_NOT_READY */
-/*                                      40%msg%ERROR_BAD_COMMAND */
-/*                                      41%msg%ERROR_CRC */
-/*                                      42%msg%ERROR_BAD_LENGTH */
-/*                                      43%msg%ERROR_SEEK */
-/*                                      44%msg%ERROR_NOT_DOS_DISK */
-/*                                      45%msg%ERROR_SECTOR_NOT_FOUND */
-/*                                      46%msg%ERROR_OUT_OF_PAPER */
-/*                                      47%msg%ERROR_WRITE_FAULT */
-/*                                      48%msg%ERROR_READ_FAULT */
-/*                                      49%msg%ERROR_GEN_FAILURE */
-#define ERROR_NOT_SUPPORTED     50      /* MSG%NET_REQ_NOT_SUPPORT */
-#define ERROR_REM_NOT_LIST      51      /* MSG%NET_REMOTE_NOT_ONLINE */
-#define ERROR_DUP_NAME  52      /* MSG%NET_DUP_FILENAME */
-#define ERROR_BAD_NETPATH       53      /* MSG%NET_PATH_NOT_FOUND */
-#define ERROR_NETWORK_BUSY      54      /* MSG%NET_BUSY */
-#define ERROR_DEV_NOT_EXIST     55      /* MSG%NET_DEV_NOT_INSTALLED */
-#define ERROR_TOO_MANY_CMDS     56      /* MSG%NET_BIOS_LIMIT_REACHED */
-#define ERROR_ADAP_HDW_ERR      57      /* MSG%NET_ADAPT_HRDW_ERROR */
-#define ERROR_BAD_NET_RESP      58      /* MSG%NET_INCORRECT_RESPONSE */
-#define ERROR_UNEXP_NET_ERR     59      /* MSG%NET_UNEXPECT_ERROR */
-#define ERROR_BAD_REM_ADAP      60      /* MSG%NET_REMOT_ADPT_INCOMP */
-#define ERROR_PRINTQ_FULL       61      /* MSG%NET_PRINT_Q_FULL */
-#define ERROR_NO_SPOOL_SPACE    62      /* MSG%NET_NO_SPACE_TO_PRINT_FL */
-#define ERROR_PRINT_CANCELLED   63      /* MSG%NET_PRINT_FILE_DELETED */
-#define ERROR_NETNAME_DELETED   64      /* MSG%NET_NAME_DELETED */
-#define ERROR_NETWORK_ACCESS_DENIED     65      /* MSG%NET_ACCESS_DENIED */
-#define ERROR_BAD_DEV_TYPE      66      /* MSG%NET_DEV_TYPE_INVALID */
-#define ERROR_BAD_NET_NAME      67      /* MSG%NET_NAME_NOT_FOUND */
-#define ERROR_TOO_MANY_NAMES    68      /* MSG%NET_NAME_LIMIT_EXCEED */
-#define ERROR_TOO_MANY_SESS     69      /* MSG%NET_BIOS_LIMIT_EXCEED */
-#define ERROR_SHARING_PAUSED    70      /* MSG%NET_TEMP_PAUSED */
-#define ERROR_REQ_NOT_ACCEP     71      /* MSG%NET_REQUEST_DENIED */
-#define ERROR_REDIR_PAUSED      72      /* MSG%NET_PRT_DSK_REDIR_PAUSE */
-#define ERROR_SBCS_ATT_WRITE_PROT  73   /* Attempted write on protected disk */
-#define ERROR_SBCS_GENERAL_FAILURE 74   /* General failure */
-#define ERROR_XGA_OUT_MEMORY    75      /* MSG%XGA_OUT_MEMORY */
-#define ERROR_FILE_EXISTS       80      /* MSG%FILE_EXISTS */
-#define ERROR_DUP_FCB   81      /* MSG%none */
-#define ERROR_CANNOT_MAKE       82      /* MSG%CANNOT_MAKE */
-#define ERROR_FAIL_I24  83      /* MSG%NET_FAIL_INT_TWO_FOUR */
-#define ERROR_OUT_OF_STRUCTURES 84      /* MSG%NET_TOO_MANY_REDIRECT */
-#define ERROR_ALREADY_ASSIGNED  85      /* MSG%NET_DUP_REDIRECTION */
-#define ERROR_INVALID_PASSWORD  86      /* MSG%NET_INVALID_PASSWORD */
-#define ERROR_INVALID_PARAMETER 87      /* MSG%NET_INCORR_PARAMETER */
-#define ERROR_NET_WRITE_FAULT   88      /* MSG%NET_DATA_FAULT */
-#define ERROR_NO_PROC_SLOTS     89      /* MSG%NO_PROC_SLOTS */
-#define ERROR_NOT_FROZEN        90      /* MSG%none */
-#define ERROR_SYS_COMP_NOT_LOADED       ERROR_NOT_FROZEN
-#define ERR_TSTOVFL     91      /* MSG%none */
-#define ERR_TSTDUP      92      /* MSG%none */
-#define ERROR_NO_ITEMS  93      /* MSG%none */
-#define ERROR_INTERRUPT 95      /* MSG%none */
-#define ERROR_DEVICE_IN_USE     99      /* MSG%DEVICE_IN_USE */
-#define ERROR_TOO_MANY_SEMAPHORES       100     /* MSG%TOO_MANY_SEMAPHORES */
-#define ERROR_EXCL_SEM_ALREADY_OWNED    101     /* MSG%EXCL_SEM_ALREADY_OWNED */
-#define ERROR_SEM_IS_SET        102     /* MSG%SEM_IS_SET */
-#define ERROR_TOO_MANY_SEM_REQUESTS     103     /* MSG%TOO_MANY_SEM_REQUESTS */
-#define ERROR_INVALID_AT_INTERRUPT_TIME 104     /* MSG%INVALID_AT_INTERRUPT_TIME */
-#define ERROR_SEM_OWNER_DIED    105     /* MSG%SEM_OWNER_DIED */
-#define ERROR_SEM_USER_LIMIT    106     /* MSG%ERROR_DISK_CHANGE */
-#define ERROR_DISK_CHANGE       107     /* MSG%DISK_CHANGE */
-#define ERROR_DRIVE_LOCKED      108     /* MSG%DRIVE_LOCKED */
-#define ERROR_BROKEN_PIPE       109     /* MSG%BROKEN_PIPE */
-#define ERROR_OPEN_FAILED       110     /* MSG%ERROR_OPEN_FAILED */
-#define ERROR_BUFFER_OVERFLOW   111     /* MSG%ERROR_FILENAME_LONG */
-#define ERROR_DISK_FULL 112     /* MSG%DISK_FULL */
-#define ERROR_NO_MORE_SEARCH_HANDLES    113     /* MSG%NO_SEARCH_HANDLES */
-#define ERROR_INVALID_TARGET_HANDLE     114     /* MSG%ERR_INV_TAR_HANDLE */
-#define ERROR_PROTECTION_VIOLATION      115     /* MSG%none */
-#define ERROR_VIOKBD_REQUEST    116     /* MSG%none */
-#define ERROR_INVALID_CATEGORY  117     /* MSG%INVALID_CATEGORY */
-#define ERROR_INVALID_VERIFY_SWITCH     118     /* MSG%INVALID_VERIFY_SWITCH */
-#define ERROR_BAD_DRIVER_LEVEL  119     /* MSG%BAD_DRIVER_LEVEL */
-#define ERROR_CALL_NOT_IMPLEMENTED      120     /* MSG%BAD_DYNALINK */
-#define ERROR_SEM_TIMEOUT       121     /* MSG%SEM_TIMEOUT */
-#define ERROR_INSUFFICIENT_BUFFER       122     /* MSG%INSUFFICIENT_BUFFER */
-#define ERROR_INVALID_NAME      123     /* MSG%INVALID_NAME */
-/*                                      123%msg%HPFS_INVALID_VOLUME_CHAR */
-#define ERROR_INVALID_LEVEL     124     /* MSG%INVALID_LEVEL */
-#define ERROR_NO_VOLUME_LABEL   125     /* MSG%NO_VOLUME_LABEL */
-#define ERROR_MOD_NOT_FOUND     126     /* MSG%MOD_NOT_FOUND */
-#define ERROR_PROC_NOT_FOUND    127     /* MSG%PROC_NOT_FOUND */
-#define ERROR_WAIT_NO_CHILDREN  128     /* MSG%none */
-#define ERROR_CHILD_NOT_COMPLETE        129     /* MSG%PROT_MODE_ONLY */
-#define ERROR_DIRECT_ACCESS_HANDLE      130     /* MSG%APPL_SINGLEFRAMECHAR */
-#define ERROR_NEGATIVE_SEEK     131     /* MSG%APPL_DOUBLEFRAMECHAR */
-#define ERROR_SEEK_ON_DEVICE    132     /* MSG%APPL_ARROWCHAR */
-#define ERROR_IS_JOIN_TARGET    133     /* MSG%JOIN_ON_DRIV_IS_TAR */
-#define ERROR_IS_JOINED 134     /* MSG%JOIN_DRIVE_IS */
-#define ERROR_IS_SUBSTED        135     /* MSG%SUB_DRIVE_IS */
-#define ERROR_NOT_JOINED        136     /* MSG%DRIVE_IS_NOT_JOINED */
-#define ERROR_NOT_SUBSTED       137     /* MSG%DRIVE_NOT_SUBSTED */
-#define ERROR_JOIN_TO_JOIN      138     /* MSG%JOIN_CANNOT_JOIN_DRIVE */
-#define ERROR_SUBST_TO_SUBST    139     /* MSG%SUB_CANNOT_SUBST_DRIVE */
-#define ERROR_JOIN_TO_SUBST     140     /* MSG%JOIN_CANNOT_SUB_DRIVE */
-#define ERROR_SUBST_TO_JOIN     141     /* MSG%SUB_CANNOT_JOIN_DRIVE */
-#define ERROR_BUSY_DRIVE        142     /* MSG%DRIVE_IS_BUSY */
-#define ERROR_SAME_DRIVE        143     /* MSG%JOIN_SUB_SAME_DRIVE */
-#define ERROR_DIR_NOT_ROOT      144     /* MSG%DIRECT_IS_NOT_SUBDIR */
-#define ERROR_DIR_NOT_EMPTY     145     /* MSG%DIRECT_IS_NOT_EMPTY */
-#define ERROR_IS_SUBST_PATH     146     /* MSG%PATH_USED_SUBST_JOIN */
-#define ERROR_IS_JOIN_PATH      147     /* MSG%NO_NEEDED_RESOURCES */
-#define ERROR_PATH_BUSY 148     /* MSG%PATH_BUSY */
-#define ERROR_IS_SUBST_TARGET   149     /* MSG%SUB_ON_DRIVE_IS_JOIN */
-#define ERROR_SYSTEM_TRACE      150     /* MSG%SYSTEM_TRACE */
-#define ERROR_INVALID_EVENT_COUNT       151     /* MSG%INVALID_EVENT_COUNT */
-#define ERROR_TOO_MANY_MUXWAITERS       152     /* MSG%TOO_MANY_MUXWAITERS */
-#define ERROR_INVALID_LIST_FORMAT       153     /* MSG%INVALID_LIST_FORMAT */
-#define ERROR_LABEL_TOO_LONG    154     /* MSG%VOLUME_TOO_LONG */
-/*                                      154%msg%HPFS_VOL_LABEL_LONG */
-#define ERROR_TOO_MANY_TCBS     155     /* MSG%TOO_MANY_TCBS */
-#define ERROR_SIGNAL_REFUSED    156     /* MSG%SIGNAL_REFUSED */
-#define ERROR_DISCARDED 157     /* MSG%DISCARDED */
-#define ERROR_NOT_LOCKED        158     /* MSG%NOT_LOCKED */
-#define ERROR_BAD_THREADID_ADDR 159     /* MSG%BAD_THREADID_ADDR */
-#define ERROR_BAD_ARGUMENTS     160     /* MSG%BAD_ARGUMENTS */
-#define ERROR_BAD_PATHNAME      161     /* MSG%none */
-#define ERROR_SIGNAL_PENDING    162     /* MSG%SIGNAL_PENDING */
-#define ERROR_UNCERTAIN_MEDIA   163     /* MSG%none */
-#define ERROR_MAX_THRDS_REACHED 164     /* MSG%MAX_THRDS_REACHED */
-#define ERROR_MONITORS_NOT_SUPPORTED    165     /* MSG%none */
-#define ERROR_UNC_DRIVER_NOT_INSTALLED  166     /* MSG%UNC_DRIVER_NOT_INSTALLED */
-#define ERROR_LOCK_FAILED       167     /* MSG%LOCK_FAILED */
-#define ERROR_SWAPIO_FAILED     168     /* MSG%SWAPIO_FAILED */
-#define ERROR_SWAPIN_FAILED     169     /* MSG%SWAPIN_ATTEMPT_FAILED */
-#define ERROR_BUSY              170     /* MSG%SEGMENT_BUSY */
-/*                                      171%msg%INT_TOO_LONG */
-#define ERROR_CANCEL_VIOLATION     173     /* MSG%UNLOCK_VIOLATION */
-#define ERROR_ATOMIC_LOCK_NOT_SUPPORTED 174 /* MSG%none */
-#define ERROR_READ_LOCKS_NOT_SUPPORTED  175 /* MSG%none */
-#define ERROR_INVALID_SEGMENT_NUMBER    180     /* MSG%INVALID_SEGMENT_NUM */
-#define ERROR_INVALID_CALLGATE  181     /* MSG%none */
-#define ERROR_INVALID_ORDINAL   182     /* MSG%INVALID_ORDINAL */
-#define ERROR_ALREADY_EXISTS    183     /* MSG%none */
-#define ERROR_NO_CHILD_PROCESS  184     /* MSG%none */
-#define ERROR_CHILD_ALIVE_NOWAIT        185     /* MSG%none */
-#define ERROR_INVALID_FLAG_NUMBER       186     /* MSG%INVALID_FLAG_NUMBER */
-#define ERROR_SEM_NOT_FOUND     187     /* MSG%SEM_NOT_FOUND */
-#define ERROR_INVALID_STARTING_CODESEG  188     /* MSG%INVALID_STARTING_CODESEG */
-#define ERROR_INVALID_STACKSEG  189     /* MSG%INVALID_STACKSEG */
-#define ERROR_INVALID_MODULETYPE        190     /* MSG%INVALID_MODULETYPE */
-#define ERROR_INVALID_EXE_SIGNATURE     191     /* MSG%INVALID_EXE_SIGNATURE */
-#define ERROR_EXE_MARKED_INVALID        192     /* MSG%EXE_MARKED_INVALID */
-#define ERROR_BAD_EXE_FORMAT    193     /* MSG%BAD_EXE_FORMAT */
-#define ERROR_ITERATED_DATA_EXCEEDS_64k 194     /* MSG%ITERATED_DATA_EXCEEDS_64K */
-#define ERROR_INVALID_MINALLOCSIZE      195     /* MSG%INVALID_MINALLOCSIZE */
-#define ERROR_DYNLINK_FROM_INVALID_RING 196     /* MSG%DYNLINK_FROM_INVALID_RING */
-#define ERROR_IOPL_NOT_ENABLED  197     /* MSG%IOPL_NOT_ENABLED */
-#define ERROR_INVALID_SEGDPL    198     /* MSG%INVALID_SEGDPL */
-#define ERROR_AUTODATASEG_EXCEEDS_64k   199     /* MSG%AUTODATASEG_EXCEEDS_64K */
-#define ERROR_RING2SEG_MUST_BE_MOVABLE  200     /* MSG%CODESEG_CANNOT_BE_64K */
-#define ERROR_RELOC_CHAIN_XEEDS_SEGLIM  201     /* MSG%RELOC_CHAIN_XEEDS_SEGMENT */
-#define ERROR_INFLOOP_IN_RELOC_CHAIN    202     /* MSG%INFLOOP_IN_RELOC_CHAIN */
-#define ERROR_ENVVAR_NOT_FOUND  203     /* MSG%ENVVAR_NOT_FOUND */
-#define ERROR_NOT_CURRENT_CTRY  204     /* MSG%none */
-#define ERROR_NO_SIGNAL_SENT    205     /* MSG%SIGNAL_NOT_SENT */
-#define ERROR_FILENAME_EXCED_RANGE      206     /* MSG%NAME_TOO_LONG */
-#define ERROR_RING2_STACK_IN_USE        207     /* MSG%RING2_STACK_IN_USE */
-#define ERROR_META_EXPANSION_TOO_LONG   208     /* MSG%WILD_CARD_NAME */
-#define ERROR_INVALID_SIGNAL_NUMBER     209     /* MSG%INVALID_SIGNAL_NUMBER */
-#define ERROR_THREAD_1_INACTIVE 210     /* MSG%THREAD_1_INACTIVE */
-#define ERROR_INFO_NOT_AVAIL    211     /* MSG%none */
-#define ERROR_LOCKED    212     /* MSG%LOCKED */
-#define ERROR_BAD_DYNALINK      213     /* MSG%none */
-#define ERROR_TOO_MANY_MODULES  214     /* MSG%TOO_MANY_MODULES */
-#define ERROR_NESTING_NOT_ALLOWED       215     /* MSG%none */
-#define ERROR_CANNOT_SHRINK     216     /* MSG%CANNOT_SHRINK */
-#define ERROR_ZOMBIE_PROCESS    217     /* MSG%none */
-#define ERROR_STACK_IN_HIGH_MEMORY      218     /* MSG%none */
-#define ERROR_INVALID_EXITROUTINE_RING  219     /* MSG%INVALID_EXITROUTINE_RING */
-#define ERROR_GETBUF_FAILED     220     /* MSG%none */
-#define ERROR_FLUSHBUF_FAILED   221     /* MSG%none */
-#define ERROR_TRANSFER_TOO_LONG 222     /* MSG%none */
-#define ERROR_FORCENOSWAP_FAILED        223     /* MSG%none */
-#define ERROR_SMG_NO_TARGET_WINDOW      224     /* PM ID can't be selected */
-#define ERROR_NO_CHILDREN       228     /* MSG%NO_CHILDREN */
-#define ERROR_INVALID_SCREEN_GROUP      229     /* MSG%none */
-#define ERROR_BAD_PIPE  230     /* MSG%ERROR_BAD_PIPE */
-#define ERROR_PIPE_BUSY 231     /* MSG%ERROR_PIPE_BUSY */
-#define ERROR_NO_DATA   232     /* MSG%ERROR_NO_DATA */
-#define ERROR_PIPE_NOT_CONNECTED        233     /* MSG%ERROR_PIPE_NOT_CONNECTED */
-#define ERROR_MORE_DATA 234     /* MSG%ERROR_MORE_DATA */
-#define ERROR_VC_DISCONNECTED   240     /* MSG%ERROR_VC_DISCONNECTED */
-#define ERROR_CIRCULARITY_REQUESTED     250     /* MSG%CIRCULARITY_REQUESTED */
-#define ERROR_DIRECTORY_IN_CDS  251     /* MSG%DIRECTORY_IN_CDS */
-#define ERROR_INVALID_FSD_NAME  252     /* MSG%INVALID_FSD_NAME */
-#define ERROR_INVALID_PATH      253     /* MSG%INVALID_PATH */
-#define ERROR_INVALID_EA_NAME   254     /* MSG%INVALID_EA_NAME */
-#define ERROR_EA_LIST_INCONSISTENT      255     /* MSG%EA_LIST_INCONSISTENT */
-#define ERROR_EA_LIST_TOO_LONG  256     /* MSG%EA_LIST_TOO_LONG */
-#define ERROR_NO_META_MATCH     257     /* MSG%NO_META_MATCH */
-#define ERROR_FINDNOTIFY_TIMEOUT        258     /* MSG%FINDNOTIFY_TIMEOUT */
-#define ERROR_NO_MORE_ITEMS     259     /* MSG%NO_MORE_ITEMS */
-#define ERROR_SEARCH_STRUC_REUSED       260     /* MSG%SEARCH_STRUC_REUSED */
-#define ERROR_CHAR_NOT_FOUND    261     /* MSG%CHAR_NOT_FOUND */
-#define ERROR_TOO_MUCH_STACK    262     /* MSG%TOO_MUCH_STACK */
-#define ERROR_INVALID_ATTR      263     /* MSG%INVALID_ATTR */
-#define ERROR_INVALID_STARTING_RING     264     /* MSG%INVALID_STARTING_RING */
-#define ERROR_INVALID_DLL_INIT_RING     265     /* MSG%INVALID_DLL_INIT_RING */
-#define ERROR_CANNOT_COPY       266     /* MSG%CANNOT_COPY */
-#define ERROR_DIRECTORY 267     /* MSG%DIRECTORY */
-#define ERROR_OPLOCKED_FILE     268     /* MSG%OPLOCKED_FILE */
-#define ERROR_OPLOCK_THREAD_EXISTS      269     /* MSG%OPLOCK_THREAD_EXISTS */
-#define ERROR_VOLUME_CHANGED    270     /* MSG%none */
-#define ERROR_FINDNOTIFY_HANDLE_IN_USE  271     /* MSG%none */
-#define ERROR_FINDNOTIFY_HANDLE_CLOSED  272     /* MSG%none */
-#define ERROR_NOTIFY_OBJECT_REMOVED     273     /* MSG%none */
-#define ERROR_ALREADY_SHUTDOWN  274     /* MSG%none */
-#define ERROR_EAS_DIDNT_FIT     275     /* MSG%none */
-#define ERROR_EA_FILE_CORRUPT   276     /* MSG%ERROR_EAS_CORRUPT */
-#define ERROR_EA_TABLE_FULL     277     /* MSG%EA_TABLE_FULL */
-#define ERROR_INVALID_EA_HANDLE 278     /* MSG%INVALID_EA_HANDLE */
-#define ERROR_NO_CLUSTER        279     /* MSG%NO_CLUSTER */
-#define ERROR_CREATE_EA_FILE    280     /* MSG%ERROR_CREATE_EA_FILE */
-#define ERROR_CANNOT_OPEN_EA_FILE       281     /* MSG%CANNOT_OPEN_FILE */
-#define ERROR_EAS_NOT_SUPPORTED 282     /* MSG%EAS_NOT_SUPPORTED */
-#define ERROR_NEED_EAS_FOUND    283     /* MSG%NEED_EAS_FOUND */
-#define ERROR_DUPLICATE_HANDLE  284     /* MSG%EAS_DISCARDED */
-#define ERROR_DUPLICATE_NAME    285     /* MSG%DUPLICATE_SEM_NAME */
-#define ERROR_EMPTY_MUXWAIT     286     /* MSG%EMPTY_MUXWAIT_SEM */
-#define ERROR_MUTEX_OWNED       287     /* MSG%MUTEX_SEM_OWNED */
-#define ERROR_NOT_OWNER         288     /* MSG%NOT_MUTEX_SEM_OWNER */
-#define ERROR_PARAM_TOO_SMALL   289     /* MSG%QUERY_MUX_PARAM_TOO_SMALL */
-#define ERROR_TOO_MANY_HANDLES  290     /* MSG%TOO_MANY_SEM_HANDLES */
-#define ERROR_TOO_MANY_OPENS    291     /* MSG%TOO_MANY_SEM_OPENS */
-#define ERROR_WRONG_TYPE        292     /* MSG%SEM_WRONG_TYPE */
-#define ERROR_UNUSED_CODE               293     /* MSG%none */
-#define ERROR_THREAD_NOT_TERMINATED     294     /* MSG%none */
-#define ERROR_INIT_ROUTINE_FAILED       295     /* MSG%none */
-#define ERROR_MODULE_IN_USE             296     /* MSG%none */
-#define ERROR_NOT_ENOUGH_WATCHPOINTS    297     /* MSG%none */
-#define ERROR_TOO_MANY_POSTS    298     /* MSG%TOO_MANY_EVENT_SEM_POSTS */
-#define ERROR_ALREADY_POSTED    299     /* MSG%EVENT_SEM_ALREADY_POSTED */
-#define ERROR_ALREADY_RESET     300     /* MSG%EVENT_SEM_ALREADY_RESET */
-#define ERROR_SEM_BUSY          301     /* MSG%SEM_BUSY */
index 72127c1..ac9f1d3 100644 (file)
@@ -1,8 +1,37 @@
-/* $Id: process.cpp,v 1.2 2002/03/24 18:55:39 ea Exp $ */
+/* $Id: process.cpp,v 1.3 2002/05/30 15:11:47 robertk Exp $
+*/
+/*
+ *
+ * COPYRIGHT:        See COPYING in the top level directory
+ * PROJECT:          ReactOS OS/2 sub system
+ * FILE:             dll/process.cpp
+ * PURPOSE:          Kernelservices for OS/2 apps
+ * PROGRAMMER:       Robert K. nonvolatil@yahoo.de
+ * REVISION HISTORY:
+ *    13-03-2002  Created
+ */
+
+
+#define INCL_DOSPROCESS
+#include "../../../include/os2.h"
+#include <ddk/ntddk.h>
+
+
+APIRET STDCALL DosSleep(ULONG msec)
+{
+       NTSTATUS stat;
+       TIME Interv;
+       Interv.QuadPart= -(10000 * msec);
+       stat = NtDelayExecution( TRUE, &Interv );
+       return 0;
+}
+
+
+/* $Id: process.cpp,v 1.3 2002/05/30 15:11:47 robertk Exp $ */
 /* Terminates the current thread or the current Process.
        Decission is made by action 
        FIXME:  move this code to OS2.EXE */
-VOID APIENTRY Dos32Exit(ULONG action, ULONG result)
+VOID APIENTRY DosExit(ULONG action, ULONG result)
 {
        // decide what to do
        if( action == EXIT_THREAD)
@@ -15,4 +44,71 @@ VOID APIENTRY Dos32Exit(ULONG action, ULONG result)
        }
 }
 
+
+APIRET STDCALL DosBeep(ULONG freq, ULONG dur)
+{
+       if( freq<0x25 || freq>0x7FFF )
+               return 395;     // ERROR_INVALID_FREQUENCY
+
+       HANDLE  hBeep;
+       IO_STATUS_BLOCK ComplStatus;
+       //UNICODE_STRING
+       OBJECT_ATTRIBUTES oa = {sizeof oa, 0, {8,8,"\\\\.\\Beep"l}, OBJ_CASE_INSENSITIVE};
+       NTSTATUS stat;
+       stat = NtOpenFile( &hBeep,
+                               FILE_READ_DATA | FILE_WRITE_DATA,
+                               &oa,
+                               &ComplStatus,
+                               0,      // no sharing
+                               FILE_OPEN );
+       
+       if (!NT_SUCCESS(stat))
+       {
+       }
+
+                  if( ComplStatus-> 
+  /*  HANDLE hBeep;
+    BEEP_SET_PARAMETERS BeepSetParameters;
+    DWORD dwReturned;
+
+    hBeep = Dos32Open("\\\\.\\Beep",
+                       FILE_GENERIC_READ | FILE_GENERIC_WRITE,
+                       0,
+                       NULL,
+                       OPEN_EXISTING,
+                       0,
+                       NULL);
+    if (hBeep == INVALID_HANDLE_VALUE)
+        return FALSE;
+*/
+    // Set beep data 
+  /*  BeepSetParameters.Frequency = dwFreq;
+    BeepSetParameters.Duration  = dwDuration;
+
+    DeviceIoControl(hBeep,
+                    IOCTL_BEEP_SET,
+                    &BeepSetParameters,
+                    sizeof(BEEP_SET_PARAMETERS),
+                    NULL,
+                    0,
+                    &dwReturned,
+                    NULL);
+
+    CloseHandle (hBeep);
+
+    return TRUE;
+*/
+
+
+
+       return 0;
+}
+
+
+APIRET STDCALL DosCreateThread(PTID ptid, PFNTHREAD pfn,
+                                   ULONG param, ULONG flag, ULONG cbStack)
+{
+       return 0;
+}
+
 /* EOF */