smhnot_ulFunction DD ? ; Input - SMH command function
smhnot_hid DD ? ; Input
smhnot_hstream DD ? ; Input
smhnot_ulFlags DD ? ; Input/Output
smhnot_ulGetNumEntries DD ? ; Input/Output - # of entries in table
smhnot_ulRetNumEntries DD ? ; Input/Output - # of entries in table
smhnot_pGetBufTab DD ? ; Output - Ptr to buffer/record table
smhnot_pRetBufTab DD ? ; Input - Ptr to buffer/record table
PARM_NOTIFY ENDS
SRCBUFTAB STRUC
srcbuftab_pBuffer DD ? ; Ptr to buffer
srcbuftab_pRecord DD ? ; Ptr to record in buffer (split-streams only)
srcbuftab_ulLength DD ? ; Max buf length on GetEmpty, Filled
; (actual) rec/buf length on ReturnFull.
srcbuftab_ulMessageParm DD ? ; Message to passed to application
srcbuftab_mmtimeOffset DD ? ; mmtime offset from beginning of buffer
SRCBUFTAB ENDS
TGTBUFTAB STRUC
tgtbuftab_pBuffer DD ? ; Ptr to buffer
tgtbuftab_ulBufId DD ? ; Buffer ID. Passed to SH on GetFull, must
; be passed back to SSM on ReturnEmpty.
tgtbuftab_ulLength DD ? ; Filled (actual) buffer length on GetFull,
; unused on ReturnEmpty.
tgtbuftab_ulMessageParm DD ? ; Message to passed to application
tgtbuftab_mmtimeOffset DD ? ; mmtime offset from beginning of buffer
TGTBUFTAB ENDS
; EXTENDED SMH_NOTIFY Structures
PARM_ENOTIFY STRUC
smhenot_ulFunction DD ? ; Input - SMH command function
smhenot_hid DD ? ; Input
smhenot_hstream DD ? ; Input
smhenot_ulFlags DD ? ; Input/Output
smhenot_ulGetNumEntries DD ? ; Input/Output - # of entries in table
smhenot_ulRetNumEntries DD ? ; Input/Output - # of entries in table
smhenot_pGetBufTab DD ? ; Output - Ptr to buffer/record table
smhenot_pRetBufTab DD ? ; Input - Ptr to buffer/record table
smhenot_ulParm1 DD ? ; Reserved for future use
smhenot_ulParm2 DD ? ; Reserved for future use
PARM_ENOTIFY ENDS
ESRCBUFTAB STRUC
esrcbuftab_pBuffer DD ? ; Ptr to buffer
esrcbuftab_pRecord DD ? ; Ptr to record in buffer (split-streams only)
esrcbuftab_ulLength DD ? ; Max buf length on GetEmpty, Filled
; (actual) rec/buf length on ReturnFull.
esrcbuftab_ulMessageParm DD ? ; Message to passed to application
esrcbuftab_mmtimeOffset DD ? ; mmtime offset from beginning of buffer
esrcbuftab_ulParm1 DD ? ; Record or buffer specific data
esrcbuftab_ulParm2 DD ? ; Record or buffer specific data
ESRCBUFTAB ENDS
ETGTBUFTAB STRUC
etgtbuftab_pBuffer DD ? ; Ptr to buffer
etgtbuftab_ulBufId DD ? ; Buffer ID. Passed to SH on GetFull, must
; be passed back to SSM on ReturnEmpty.
etgtbuftab_ulLength DD ? ; Filled (actual) buffer length on GetFull,
; unused on ReturnEmpty.
etgtbuftab_ulMessageParm DD ? ; Message to passed to application
etgtbuftab_mmtimeOffset DD ? ; mmtime offset from beginning of buffer
etgtbuftab_ulParm1 DD ? ; Buffer specific data
etgtbuftab_ulParm2 DD ? ; Buffer specific data
ETGTBUFTAB ENDS
EPSRCBUFTAB STRUC
epsrcbuftab_pBuffer DD ? ; Ptr to buffer
epsrcbuftab_pRecord DD ? ; Ptr to record in buffer (split-streams only)
epsrcbuftab_ulLength DD ? ; Max buf length on GetEmpty, Filled
; (actual) rec/buf length on ReturnFull.
epsrcbuftab_ulMessageParm DD ? ; Message to passed to application
epsrcbuftab_mmtimeOffset DD ? ; mmtime offset from beginning of buffer
epsrcbuftab_ulParm1 DD ? ; Record or buffer specific data
epsrcbuftab_ulParm2 DD ? ; Record or buffer specific data
epsrcbuftab_pProcessLin DD ? ; Process Linear record ptr
EPSRCBUFTAB ENDS
EPTGTBUFTAB STRUC
eptgtbuftab_pBuffer DD ? ; Ptr to buffer
eptgtbuftab_ulBufId DD ? ; Buffer ID. Passed to SH on GetFull, must
; be passed back to SSM on ReturnEmpty.
eptgtbuftab_ulLength DD ? ; Filled (actual) buffer length on GetFull,
; unused on ReturnEmpty.
eptgtbuftab_ulMessageParm DD ? ; Message to passed to application
eptgtbuftab_mmtimeOffset DD ? ; mmtime offset from beginning of buffer
eptgtbuftab_ulParm1 DD ? ; Buffer specific data
eptgtbuftab_ulParm2 DD ? ; Buffer specific data
eptgtbuftab_pProcessLin DD ? ; Process Linear buffer ptr
EPTGTBUFTAB ENDS
; SMH_ulFlags:
BUF_GETEMPTY EQU 00000001H ; Ptr returned in SMH_pGetBuffer
BUF_RETURNFULL EQU 00000002H ; Ptr passed in SMH_pRetBuffer
BUF_GETFULL EQU 00000004H ; Ptr returned in SMH_pGetBuffer
BUF_RETURNEMPTY EQU 00000008H ; Ptr passed in SMH_pRetBuffer
BUF_GIVEBUF EQU 00000010H ; Ptr passed in SMH_pRetBuffer
BUF_EOS EQU 00000100H ; End of stream. Source sets this on
; last buffer. Target sets it after
; consuming the laset buffer.
BUF_RECORDS EQU 00004000H ; One or more records (Split-stream)
BUF_LASTRECORD EQU 00008000H ; (BUF_RETURNFULL only) Mark
; these record(s) as being the
; last in the buffer. So the SSM
; knows the maximum # of records
; produced for this buffer.
; (Split stream only)
; SMH_ulFlags:
BUF_LINEAR EQU 00010000H ; Ptrs are Global linear
BUF_PHYSICAL EQU 00020000H ; Ptrs are physical
; (valid only for phyically
; contiguous buffers)
BUF_RESERVED EQU 00040000H ; Reserved
BUF_GDT EQU 00080000H ; Ptrs are GDT sel:offset
BUF_EXTENDED EQU 80000000H ; Use Extended SMH_NOTIFY structures
BUF_EXTENDEDPTR EQU 40000000H ; Use Extendedptr SMH_NOTIFY structures
; Implies BUF_EXTENDED
VALIDSOURCEFLAGS EQU (BUF_RETURNFULL OR BUF_GETEMPTY OR BUF_EOS OR BUF_LASTRECORD OR BUF_PHYSICAL OR BUF_LINEAR OR BUF_GDT OR BUF_RECORDS OR BUF_GIVEBUF OR BUF_EXTENDED OR BUF_EXTENDEDPTR)
VALIDTARGETFLAGS EQU (BUF_RETURNEMPTY OR BUF_GETFULL OR BUF_PHYSICAL OR BUF_LINEAR OR BUF_GDT OR BUF_EOS OR BUF_EXTENDED OR BUF_EXTENDEDPTR)