Alexander Saprykin
2017-02-14 11:39:21 UTC
Hi everyone,
I'm glad to announce that after several months of work I've ported my personal project to OS/2. I'm talking about the plibsys library which is available at GitHub:
https://github.com/saprykin/plibsys
This is a cross-platform system library with many capabilities provided:
- Platform independent data types
- Threads
- Mutexes
- Condition variables
- Read-write locks
- System-wide semaphores
- System-wide shared memory
- Optimized spinlock
- Atomic operations
- Socket support (UDP, TCP, SCTP)
- Hash functions: MD5, SHA-1, SHA-2, SHA-3, GOST (R 34.11-94)
- Binary trees: BST, red-black, AVL
- INI file parser
- High resolution time profiler
- Files and directories
- Shared library loading
- Useful routines for linked lists, strings, hash tables
- Macros for OS and compiler detection
The main idea is to use native code wherever is possible. Library supports lot of operating systems and compilers, the full list you can check at the project's page.
Process-wide named semaphores are not supported on OS/2. Also, memory mapping is done with committed pages. Otherwise, all the functionality is present.
All the library modules are covered with unit tests. I have made my testing with Warp 4.52 and GCC 4.7.3 on a virtual machine. To build the library you need CMake.
I hope it will be useful for someone, especially who works with cross-platform projects with OS/2 as one of the target systems.
Best Regards,
Alexander Saprykin
P.S. I hope I have chosen the right group to announce it.
I'm glad to announce that after several months of work I've ported my personal project to OS/2. I'm talking about the plibsys library which is available at GitHub:
https://github.com/saprykin/plibsys
This is a cross-platform system library with many capabilities provided:
- Platform independent data types
- Threads
- Mutexes
- Condition variables
- Read-write locks
- System-wide semaphores
- System-wide shared memory
- Optimized spinlock
- Atomic operations
- Socket support (UDP, TCP, SCTP)
- Hash functions: MD5, SHA-1, SHA-2, SHA-3, GOST (R 34.11-94)
- Binary trees: BST, red-black, AVL
- INI file parser
- High resolution time profiler
- Files and directories
- Shared library loading
- Useful routines for linked lists, strings, hash tables
- Macros for OS and compiler detection
The main idea is to use native code wherever is possible. Library supports lot of operating systems and compilers, the full list you can check at the project's page.
Process-wide named semaphores are not supported on OS/2. Also, memory mapping is done with committed pages. Otherwise, all the functionality is present.
All the library modules are covered with unit tests. I have made my testing with Warp 4.52 and GCC 4.7.3 on a virtual machine. To build the library you need CMake.
I hope it will be useful for someone, especially who works with cross-platform projects with OS/2 as one of the target systems.
Best Regards,
Alexander Saprykin
P.S. I hope I have chosen the right group to announce it.