OS/2 FAQ


OS/2 Programming FAQ - пpогpаммиpование. Статья 005

Q Библиотеки для программирования на Rexx
A
(DZ FAQ) Sergey Shikov, 2:5020/157.108

Для начала - ydbautil. IMHO наиболее полная библиотека того, чего в REXX обычно недостает с начала работы. В настоящее время я пользуюсь Release 1.8.

Вторая библиотека - rxasync, предназначена для работы с COM-портами. Полный набор функций низкого уровня, т.е. без протоколов, упаковки, модемов.

Rxsocket - набор функций для работы с TCP/IP из REXX.

Rxipc - Inter Process Communication для REXX. Перекрывается возможностями ydbautil. Более подробно сказать что-либо сложно.

EPMBBS - пакет для написания макро к EPM на REXX и собственном макроязыке EPM-а.

Есть еще библиотеки, позволяющие использовать некоторый набор controls в PM-программах из REXX, обычно Message Box, Input Line с кнопками Ok и Cancel, List Box и т.п. Hо для такого случая, IMHO лучше VX-REXX не придумать.

Вот список функций, которые имеются в ydbautil:

Function Package utility functions
RxYdbaUtilInit - Register all YDBAUTIL Rexx functions
RxYdbaUtilTerm - De-Register all YDBAUTIL Rexx functions
RxYdbaUtilQuery - Query function package version and available external function entry point names
UPM/Net Related
RxUpm - Rexx interface to UPM
RxNet - Rexx interface to certain NET calls (also some UPM-related calls)
System-Info related
RxProcId - Get process' own PID and TID information
RxGetInfoBlocks - Get information about current process/thread
RxQueryAppType - Get information about an executable file
RxQuerySysInfo - Invoke DosQuerySysInfo
RxQProcStatus - Obtain Process Status Information (like PSTAT)
RxSetError - Set DosError settings (enable/disable HardError and Exception popups)
RxReplaceModule - Replace an active .DLL or .EXE file
RxExitList - Use DosExitList
RxDevConfig - Obtain device configuration information
RxDevIOCtl - Do DosDevIOCtl calls (to talk to character devices directly)
Rexx programming and debugging functions
RxVlist - List, manipulate Rexx variable pool
RxGlobalVar - Put,Get,Delete system-wide global variables
RxScount - Count strings (needle) in another string (haystack)
RxPmPrintf - Write lines to a PMPrintf Monitor
RxCallInStore - Execute a string as a program
RxTokenize - Tokenize ("Compile") a program string
RxPullQueue - Pull items from any Rexx data queue
RxAddQueue - Add items to any Rexx data queue
RxQueued - Query number of items on any Rexx data queue
RxQExists - Query existence of a Rexx Queue
RxSearchPath - Find a file in a path
RxRegisterFunctionExe - Use "RexxRegisterFunctionExe()"
RxRegisterExitDll - Use "RexxRegisterExitDll()"
RxRegisterExitExe - Use "RexxRegisterExitExe()"
RxQueryExit - Use "RexxQueryExit()"
RxDeregisterExit - Use "RexxDeregisterExit()"
I/O related
RxRsoe2f - Redirect StdOut/StdErr to a file (by file name)
RxRsoe2q - Redirect StdOut/StdErr to a rexx queue
(by queue name)
RxSoSe2H - Redirect StdOut/StdErr to a file (by file handle)
RxSi2H - Redirect StdIn from a file (by file handle)
RxRSi2F - Redirect StdIn from a file (by file name)
RxOpen - Open a file (with full DosOpen capabilities)
RxRead - Read data from a file handle
RxWrite - Write data to a file handle
RxCloseH - Close a file handle
RxExecI - Read data into a Rexx queue or stem from a file
RxExecO - Write data from a Rexx queue or stem to a file
RxVioPopUp - Start a VioPopUp display screen
RxVioEndPopUp - Close a VioPopUp display screen
RxVioWrtCharStrAtt - Write characters to a VioPopUp display screen
RxKbCharIn - Get a character from a VioPopUp display screen
RxDupHandle - Do a "DosDupHandle()"
RxSetFHState - Set file handle state
RxQueryFHState - Query file handle state
OS/2 Pipes
RxCreateNPipe - Create a named pipe
RxConnectNPipe - Connect to a named pipe
RxDisConnectNPipe - Disconnect from a named pipe
RxCreatePipe - Create an un-named pipe
RxDestroyPipe - Destroy a pipe
OS/2 Queues
RxCreateQueue - DosCreateQueue
RxOpenQueue - DosOpenQueue
RxPeekQueue - DosPeekQueue
RxReadQueue - DosReadQueue
RxWriteQueue - DosWriteQueue
RxPurgeQueue - DosPurgeQueue
RxQueryQueue - DosQueryQueue
RxCloseQueue - DosCloseQueue
RxReadQueueStr - Returns data from de-referenced queue pointer
NetBios information
RxNbSessionStatus - Obtain NETBIOS session status information
Tasking, threads, etc.
RxSetPriority - Set the priority of processes or threads
Process - Related
RxKillProcess - Kill an OS/2 process by process-id
RxExecPgm - Execute a program using DosExecPgm
RxWaitChild - Wait for a child process to end
RxStartSession - Start a program in another session
(DosStartSession)
RxStartRexxSession - Start a Rexx program in another session
RxDetachRexxPgm - Detach a Rexx program
Thread - Related
RxCreateRexxThread - Execute a Rexx program on another thread
RxCreateThread - Call a procedure address on another thread
RxKillThread - Kill a thread by thread-id
RxResumeThread - Resume thread execution by thread-id
RxSuspendThread - Suspend thread execution by thread-id
RxCallEntryPoint - Call a (non-Rexx) routine by entry point address
OS/2 Memory managment
RxStructMap - Generate a structure map for RxStruct2Stem()
RxStruct2Stem - Map structure elements into a stem
RxStem2Struct - Map a stem into structure elements
RxStorage - Query/Alter storage by address
RxAdd2Ptr - Pointer Arithmetic (Add/Subtract)
RxThunkAddr - Thunk an address Flat->Segmented, Segmented->Flat
RxAllocMem - Allocate Memory
RxFreeMem - Free Memory
RxAllocSharedMem - Allocated Shared memory (named or un-named)
RxGetSharedMem - Get (gettable) shared memory
RxGiveSharedMem - Give (giveable) shared memory
RxGetNamedSharedMem - Get named shared memory
RxSetMem - Set memory attributes
RxQueryMem - Query memory attributes
RxSubAllocMem - Suballocate memory
RxSubFreeMem - Free suballocated memory
RxSubSetMem - Set memory for suballocation
RxSubUnsetMem - Unset previously "SubSet" memory
OS/2 Semaphores
Event Semaphore
RxCreateEventSem - Create an event semaphore
RxCloseEventSem - Close an event semaphore
RxOpenEventSem - Open an event semaphore
RxPostEventSem - Post an event semaphore
RxQueryEventSem - Query an event semaphore
RxResetEventSem - Reset an event semaphore
RxWaitEventSem - Wait on an event semaphore
Mutex Semaphore
RxCreateMutexSem - Create a Mutex semaphore
RxOpenMutexSem - Invoke DosOpenMutexSem
RxCloseMutexSem - Invoke DosCloseMutexSem
RxQueryMutexSem - Invoke DosQueryMutexSem
RxReleaseMutexSem - Invoke DosReleaseMutexSem
RxRequestMutexSem - Invoke DosRequestMutexSem
MuxWait Semaphore
RxCreateMuxWaitSem - Invoke DosCreateMuxWaitSem
RxCloseMuxWaitSem - Invoke DosCloseMuxWaitSem
RxOpenMuxWaitSem - Invoke DosOpenMuxWaitSem
RxWaitMuxWaitSem - Invoke DosWaitMuxWaitSem
RxAddMuxWaitSem - Invoke DosAddMuxWaitSem
RxDeleteMuxWaitSem - Invoke DosDeleteMuxWaitSem
RxQueryMuxWaitSem - Invoke DosQueryMuxWaitSem
DLL Handling
RxLoadModule - Load a DLL
RxFreeModule - Free a DLL
RxQueryModuleName - Query the fully qualified name of a DLL (by handle)
RxQueryModuleHandle - Query the module handle of a DLL (by name)
RxQueryProcType - Query the addressing mode of an entry point in a DLL
RxQueryProcAddr - Query the procedure address of an entry point in a DLL
Rexx Macro Space Handling
RxAddMacro - Add a particular Macro Space function
RxDropMacro - Drop a particular Macro Space function
RxClearMacroSpace - Clear the Rexx Macro Space
RxSaveMacroSpace - Save a particular Macro Space function to a file
RxLoadMacroSpace - Load a particular Macro Space function from a file
RxQueryMacro - Query the position of a particular Macro Space function
RxReorderMacro - Reorder a function's position in a Macro Space
PM / Wp related functions
RxWinQueryObject - Query object handle of a WP object
RxWinDestroyObject - Destroy a WP object


К предыдущей статье | К оглавлению раздела | К следующей статье

Вернуться к списку разделов FAQ.

Если у вас есть вопросы или пожелания, пишите, мы будем рады.

Данный FAQ cоставили Ivan Borovicov и Viatcheslav Odintsov (2:5020/181) на основе OS/2 FAQ Дмитрия Завалишина (dz) и материалов переписки в группе эхоконференций su.os2.*. Оформление статей: Николай Королев. Программирование JSP для RU/2: Евгений Кулешов. Благодарности: Дмитрию Максимовичу (MaximDim) за громадную помощь на первых этапах и Дмитрию Бану (banshee) за его помощь при проверке текста.



Интересные ссылки:
Комментариев к странице: 0 | Добавить комментарий
Домой | Проект ядро Core/2 | Проект OS/4 Download | Новости | Гостевая книга | Подробно обо всем | Нужные программы | Проекты | OS/2 FAQ | Всячина | За и Против | Металлолом | #OS2Russian | RDM/2 | Весёлые картинки | Наша галерея | Доска объявлений | Карта сайта | ПОИСК | ФОРУМ