-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Summary
Provide a z/OS-compatible dynit.h header with dynalloc() / dynfree() / dyninit() API for SVC 99 dynamic allocation.
This is the standard struct-based interface that z/OS programmers expect. Under the hood, the implementation uses crent370's existing SVC 99 infrastructure (TXT99, RB99, NewTXT99(), arrayadd(), __svc99()).
Motivation
dynit.his a well-known z/OS interface — offering it makes crent370 more familiar to mainframe developers- crent370 already has all the building blocks (
svc99.h,rb99.h,txt99.h,@@svc99.asm, 50+ text unit builders) - The existing
__dsalc()/__dsfree()are string-based;dynalloc()/dynfree()offer a struct-based alternative
Files
include/dynit.h— public header with__dyn_tstruct, constants, function declarationssrc/clib/dynalloc.c—dynalloc()implementation (one function per module for autocall)src/clib/dynfree.c—dynfree()implementation
Design Decisions
dyninit()is a purememsetmacro (no BREXX-style byte offset hacks)__blksizeisunsigned short(notshort) since BLKSIZE can exceed 32767__rbxand__emsgparmlistarevoid*for now (RBX99 support can be added later)- Function names
dynalloc/dynfreewithout__prefix (z/OS standard, not crent internal) asm("DYNALLOC")/asm("DYNFREE")for correct external symbol names
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels