I was looking for constants for macOS again and found them as macros.
Whoever has macos for it (all OS) please add it here.
Collection C-Macros to PB-Macros
Collection C-Macros to PB-Macros
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
Re: Collection C-Macros to PB-Macros
macOS ioccom.h, filio.h
Code: Select all
;-TOP by mk-soft
;- ioccom.h
#IOCPARM_MASK = $1fff ;/* parameter length, at most 13 bits */
#IOCPARM_MAX = #IOCPARM_MASK + 1
Macro IOCPARM_LEN(x)
(((x) >> 16) & IOCPARM_MASK)
EndMacro
Macro IOCBASECMD(x)
((x) & ~(IOCPARM_MASK << 16))
EndMacro
Macro IOCGROUP(x)
(((x) >> 8) & $ff)
EndMacro
;/* no parameters */
#IOC_VOID = $20000000
;/* copy parameters out */
#IOC_OUT = $40000000
;/* copy parameters in */
#IOC_IN = $80000000
;/* copy parameters in And out */
#IOC_INOUT = (#IOC_IN | #IOC_OUT)
;/* mask For IN/OUT/VOID */
#IOC_DIRMASK = $e0000000
Macro _IOC(inout, group, num, len)
(inout | ((len & #IOCPARM_MASK) << 16) | ((group) << 8) | (num))
EndMacro
Macro _IO(g, n)
_IOC(#IOC_VOID, (g), (n), 0)
EndMacro
Macro _IOR(g, n, t)
_IOC(#IOC_OUT, (g), (n), SizeOf(t))
EndMacro
Macro _IOW(g, n, t)
_IOC(#IOC_IN, (g), (n), SizeOf(t))
EndMacro
;/* this should be _IORW, but stdio got there first */
Macro _IOWR(g, n, t)
_IOC(IOC_INOUT, (g), (n), SizeOf(t))
EndMacro
; ****
; filio.h
#FIOCLEX = _IO('f', 1) ;/* set close on exec on fd */
#FIONCLEX = _IO('f', 2) ;/* remove close on exec */
#FIONREAD = _IOR('f', 127, long) ;/* get # bytes To Read */
#FIONBIO = _IOW('f', 126, long) ;/* set/clear non-blocking i/o */
#FIOASYNC = _IOW('f', 125, long) ;/* set/clear async i/o */
#FIOSETOWN = _IOW('f', 124, long) ;/* set owner */
#FIOGETOWN = _IOR('f', 123, long) ;/* get owner */
#FIODTYPE = _IOR('f', 122, long) ;/* get d_type */
Debug Hex(#FIONREAD)
Debug Hex(#FIONBIO)
My Projects ThreadToGUI / OOP-BaseClass / EventDesigner V3
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
PB v3.30 / v5.75 - OS Mac Mini OSX 10.xx - VM Window Pro / Linux Ubuntu
Downloads on my Webspace / OneDrive
