ooRexx  4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax.
  Fossies Dox: ooRexx-4.2.0-source.tar.gz  ("inofficial" and yet experimental doxygen-generated source code documentation)  

hostemu.cpp File Reference
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
#include <pthread.h>
#include <rexx.h>
#include <oorexxapi.h>
#include "../../hostemu.h"
Include dependency graph for hostemu.cpp:

Go to the source code of this file.

Classes

struct  _LL
 

Typedefs

typedef struct _LL LL
 
typedef LLPLL
 

Functions

static unsigned long ExecIO_Write_From_Stem (PLL pll)
 
static unsigned long ExecIO_Write_From_Queue (PLL pll)
 
static unsigned long ExecIO_Read_To_Stem (PLL pll)
 
static unsigned long ExecIO_Read_To_Queue (PLL pll)
 
static PLL Search_LL (char *SFilename)
 
static void Insert_LL (PLL pll)
 
static void Delete_LL (PLL pll)
 
static long queued (void)
 
static void push (char *pushstr, long lOp)
 
static char * pull (void)
 
unsigned long FetchRexxVar (char *pszVar, PRXSTRING prxVar)
 
unsigned long SetRexxVar (char *pszVar, char *pValue, size_t ulLen)
 
RexxReturnCode RexxEntry GrxHost (PCONSTRXSTRING command, unsigned short int *flags, PRXSTRING retc)
 
static void hostemu_loader (RexxThreadContext *context)
 
static void hostemu_unloader (RexxThreadContext *context)
 
 OOREXX_GET_PACKAGE (hostemu)
 

Variables

PCONSTRXSTRING prxCmd = NULL
 
EXECIO_OPTIONS ExecIO_Options
 
long lCmdPtr
 
unsigned long ulNumSym
 
char * pszSymbol [15]
 
char szInline [1000]
 
long lStmtType
 
static pthread_mutex_t hmtxExecIO = PTHREAD_MUTEX_INITIALIZER
 
static PLL pHead = NULL
 
static PLL pTail = NULL
 
RexxPackageEntry hostemu_package_entry
 

Typedef Documentation

◆ LL

typedef struct _LL LL

◆ PLL

typedef LL* PLL

Definition at line 84 of file hostemu.cpp.

Function Documentation

◆ Delete_LL()

static void Delete_LL ( PLL  pll)
static

Definition at line 764 of file hostemu.cpp.

References _LL::next, pHead, _LL::prev, and pTail.

Referenced by GrxHost().

◆ ExecIO_Read_To_Queue()

static unsigned long ExecIO_Read_To_Queue ( PLL  pll)
static

◆ ExecIO_Read_To_Stem()

static unsigned long ExecIO_Read_To_Stem ( PLL  pll)
static

◆ ExecIO_Write_From_Queue()

static unsigned long ExecIO_Write_From_Queue ( PLL  pll)
static

◆ ExecIO_Write_From_Stem()

static unsigned long ExecIO_Write_From_Stem ( PLL  pll)
static

◆ FetchRexxVar()

◆ GrxHost()

◆ hostemu_loader()

static void hostemu_loader ( RexxThreadContext context)
static

Definition at line 872 of file hostemu.cpp.

References GrxHost(), and RexxRegisterSubcomExe().

◆ hostemu_unloader()

static void hostemu_unloader ( RexxThreadContext context)
static

Definition at line 883 of file hostemu.cpp.

References _LL::next, _LL::pFile, and pHead.

◆ Insert_LL()

static void Insert_LL ( PLL  pll)
static

Definition at line 731 of file hostemu.cpp.

References _LL::next, pHead, _LL::prev, and pTail.

Referenced by GrxHost().

◆ OOREXX_GET_PACKAGE()

OOREXX_GET_PACKAGE ( hostemu  )

◆ pull()

static char * pull ( void  )
static

Definition at line 859 of file hostemu.cpp.

References RexxPullFromQueue(), RXQUEUE_WAIT, and _RXSTRING::strptr.

Referenced by ExecIO_Write_From_Queue().

◆ push()

static void push ( char *  pushstr,
long  lOp 
)
static

Definition at line 829 of file hostemu.cpp.

References RexxAddQueue(), _CONSTRXSTRING::strlength, and _CONSTRXSTRING::strptr.

Referenced by ExecIO_Read_To_Queue().

◆ queued()

static long queued ( void  )
static

Definition at line 801 of file hostemu.cpp.

References RexxQueryQueue().

Referenced by ExecIO_Write_From_Queue().

◆ Search_LL()

static PLL Search_LL ( char *  SFilename)
static

Definition at line 698 of file hostemu.cpp.

References _LL::FileName, _LL::next, and pHead.

Referenced by GrxHost().

◆ SetRexxVar()

Variable Documentation

◆ ExecIO_Options

◆ hmtxExecIO

pthread_mutex_t hmtxExecIO = PTHREAD_MUTEX_INITIALIZER
static

Definition at line 93 of file hostemu.cpp.

Referenced by GrxHost().

◆ hostemu_package_entry

RexxPackageEntry hostemu_package_entry
Initial value:

Definition at line 895 of file hostemu.cpp.

◆ lCmdPtr

long lCmdPtr

Definition at line 64 of file hostemu.cpp.

Referenced by GrxHost(), and yylex().

◆ lStmtType

long lStmtType

Definition at line 68 of file hostemu.cpp.

Referenced by GrxHost(), and yyparse().

◆ pHead

PLL pHead = NULL
static

Definition at line 94 of file hostemu.cpp.

Referenced by Delete_LL(), hostemu_unloader(), Insert_LL(), and Search_LL().

◆ prxCmd

PCONSTRXSTRING prxCmd = NULL

Definition at line 62 of file hostemu.cpp.

Referenced by GrxHost(), and yylex().

◆ pszSymbol

char* pszSymbol[15]

Definition at line 66 of file hostemu.cpp.

Referenced by GrxHost(), and yylex().

◆ pTail

PLL pTail = NULL
static

Definition at line 95 of file hostemu.cpp.

Referenced by Delete_LL(), and Insert_LL().

◆ szInline

char szInline[1000]

Definition at line 67 of file hostemu.cpp.

Referenced by ExecIO_Read_To_Queue(), and ExecIO_Read_To_Stem().

◆ ulNumSym

unsigned long ulNumSym

Definition at line 65 of file hostemu.cpp.

Referenced by GrxHost(), and yylex().

REXX_INTERPRETER_4_0_0
#define REXX_INTERPRETER_4_0_0
Definition: oorexxapi.h:216
STANDARD_PACKAGE_HEADER
#define STANDARD_PACKAGE_HEADER
Definition: oorexxapi.h:230
hostemu_unloader
static void hostemu_unloader(RexxThreadContext *context)
Definition: hostemu.cpp:883
hostemu_loader
static void hostemu_loader(RexxThreadContext *context)
Definition: hostemu.cpp:872