summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
26 hourslib: libgfx: Add SHAPE_SQUARE_BORDERIan Moffett
Introduce new SHAPE_SQUARE_BORDER shape type to draw unfilled (bordered) squares. Signed-off-by: Ian Moffett <ian@osmora.org>
26 hourslib: libgfx: Simplify gfx_draw_square()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
26 hourslib: libgfx: Fix one line bugsIan Moffett
- Add missing return statement - Fix x/y mismatch Signed-off-by: Ian Moffett <ian@osmora.org>
27 hourskernel: socket: Fake success on missing optIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
27 hourskernel: socket: Fix typo in commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
30 hourskernel & libc: Add POSIX setsockopt syscallIan Moffett
This commit implements the POSIX setsockopt syscall so that user programs may be able to configure sockets they have created. Signed-off-by: Ian Moffett <ian@osmora.org>
30 hourskernel: socket: Implement recv() timeoutIan Moffett
This commit implements proper timeout handling for recv(). Previously, the recv() syscall would yield the current process forver until data is available to be read. Obviously, that is not the most ideal as it is not uncommon for programs to try seeing if any data exists on the socket before deferring to perform some other task until data arrives. The basics of how this work is that we try reading data off of some specified socket. However, if no data is present, we must wait for the given timeout value before attempting to read again. While this is pretty effective and works perfectly fine as of now, it might be worth optimizing this later to allow that timeout period to be somehow "interrupted" by data arriving at a socket so that the program does not have to defer execution for the full wait-period. Signed-off-by: Ian Moffett <ian@osmora.org>
30 hourskernel: socket: Add POSIX setsockopt()Ian Moffett
This commit introduces the kernel-side implementation of setsockopt() for setting options on a socket file descriptor. See POSIX setsockopt() for more information. https://pubs.opengroup.org/onlinepubs/9690949499/functions/setsockopt.html Signed-off-by: Ian Moffett <ian@osmora.org>
31 hourskernel: socket: Fix typo in code commentIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
31 hourskernel: sched: Add sched_suspend()Ian Moffett
Introduce a new sched_suspend() function that allows the caller to suspend themselves (equivalent to a yield) for a specified amount of time described by a 'timeval'. Signed-off-by: Ian Moffett <ian@osmora.org>
32 hourskernel: socket: Refactor recv() implIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
33 hourskernel: socket: Zero newly allocated 'ksock'Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
48 hoursliboda: Add oda_movewin()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayslibgfx: draw: Add gfx_copy_region()Ian Moffett
This commit introduces a new gfx_copy_region() function that allows a rectangular region of the screen to be defined and its contents copied to a different part of the screen. Signed-off-by: Ian Moffett <ian@osmora.org>
2 dayslibgfx: draw: Add gfx_get_pix() functionIan Moffett
Introduce gfx routine to grab the RGB value of a specific pixel at a specific location on the screen. Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysliboda: Add window cacheIan Moffett
Implement a window cache to avoid the overhead of back-to-back calls for malloc() and free. This commit additionally introduces a new oda_shutdown() function for cleaning up the library. Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysdocs: liboda: Add input management sectionIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysliboda: input: Remove unused definesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysliboda: input: Add constant 'ODA_KEY_*' definesIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
2 daysliboda: Add initial input subsystemIan Moffett
This commit introduces the initial input subsystem and adds basic keyboard handling via a callback defined by the compositor. Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysdocs: liboda: Fix markdown codeblock highlightIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslib: liboda: Add oda_plotwin() window plotterIan Moffett
Introduce the oda_plotwin() function to allow one to plot a pixel onto a window relative to the starting X/Y position of it. Plotting to (0,0) draws to the top left corner of the window. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslibgfx: draw: Add gfx_plot_point() pixel plottingIan Moffett
Implement mechanism that allows one to plot pixels on the screen with a specific color at specific x/y coordinates. Example: -- struct gfx_point p = { .x = 150, .y = 200, .color = GFX_GREEN }; /* Draw green point at (150,200) */ gfx_plot_point(&ctx, &p); -- Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslibgfx: draw: Add gfx_pixel_bounds() helperIan Moffett
Implement helper to check if a point on the screen is within bounds of the screen. Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslib: libgfx: Move color defines to draw.hIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslib: Introduce initial liboda sourcesIan Moffett
Please refer to 'share/docs/lib/liboda.md' for more information on the OSMORA Display Architecture (ODA). Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysbuild: lib: Remove seperator line in libgfx buildIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
3 daysdocs: Add initial ODA documentationIan Moffett
Add initial documentation for the OSMORA Display Architecture (ODA) Signed-off-by: Ian Moffett <ian@osmora.org>
3 dayslib: libgfx: Add GFX_DARK and GFX_AQUAIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysdocs: Add more docs information in READMEIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysdocs: Fix typo in READMEIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysdocs: ctlfs: Add author headerIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysdocs: Add kernel documentationIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: ctlfs: Keep comment up to dateIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysdocs: man: Add osh(1)Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysdocs: Update READMEIan Moffett
- Clean up punctation - Add libs section and more programs - Add extra project information Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysproject: Bump version to 2.5Ian Moffett
- [oasm]: Add support for ADD, SUB, DIV, MUL and HLT [0 ... 4] - [oemu: cpu]: Add register dump [5] - [oasm]: Add support for '!' comments [6] - [oasm]: Implement MRO type instructions [7] - [kernel/amd64]: Keep track of online cores [8] - [kernel: accnt]: Report number of halted cores [9] - [osh]: Add banner to /etc/motd [10] - [kernel: signal]: Add SIGTERM [11] - [kernel: osh]: Add '!!' to repeat last command [12] - [kernel: termios]: Add c_oflag defines [13] - [kernel]: Introduce initial virtual system resources [14] - [kernel]: Implement POSIX uio [15, 16] - [kernel]: Add initial support for sockets [17, 18, 19, 20] - [kernel: uio]: Add iovec copyin/copyout routines [21] Commits referenced: [0]: 3ab5f07bac34bc9de5b9038407353c707f3f4c2f [1]: df9f396017f92ad4647697d461bb5475d6596cfb [2]: fa2bb7b2a5cc01c3c28c9dcd34cf65a499321b9c [3]: ea521725a7739ec568eb6961edabf71d8169ef9e [4]: 3ab5f07bac34bc9de5b9038407353c707f3f4c2f [5]: cf3b1238d3ebdf6184a9977ee6e0d3057313444c ... truncated - decoding logic added to OEMU [6]: fd0c31d4cfd6e220271e43102fb69301d7ffc664 [7]: 6bd0f17304d78e2b7e37684a672f59c9cc2444d0 ... some entries truncated [8]: cf1bb5e566ad0e346af810b399d871a74031feb2 [9]: 48587c836af7a008eff4964094e97aa1c94a34b0 [10]: 71cb1ceaaa894f642e2d294684d6ac83e965137a [11]: 87f45183e415368e3a3e67c7a632269a0375cedc [12]: 967c7daef5c4259ff0a79e91a758db335872c25e [13]: 739fc515b53dcb835dd67fb1fd8da8c9aa3b2861 [14]: 15c4ee1321be918d8fcbc8d858ea90a4dabe54a5 [15]: 0b20b44c90ec4e2de0d5d2c8da99cb915eaf4a76 [16]: b3fb473977c6bfb5294f229336a23d2071d565f8 [17]: 275108db200f6303d84d5225b80081b58866fe22 [18]: 8b599e8c8d32bdbbfe5a5ca696d4d9cdff5d5350 [19]: 037787ec82f99e3015c423c1e9a09a76017f0203 [20]: 71decb670bd84630d3639623891e46f332d58084 [21]: b3fb473977c6bfb5294f229336a23d2071d565f8 Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr: mrow: Use 'libgfx' instead of bare fbdevIan Moffett
Instead of relying on mmap()'ing the framebuffer and doing shape math manually, this commit puts libgfx to use. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayslib: Introduce libgfxIan Moffett
This commit introduces libgfx which is a low-level graphics library and does not know anything about windows, display architecture, etc. The job of libgfx is soley to provide an API to draw shapes, graphical objects and perform operations on them. Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysbuild/lib: Add Makefile to libs/Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 daysusr: Add 'dmidump' program for DMI infomationIan Moffett
Add dmidump utility that reports information from DMI (aka system management BIOS). Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: dmi: Add '/ctl/dmi/board' ctl entryIan Moffett
Add ctlfs entry for DMI to allow for easy system information from userspace by reading '/ctl/dmi/*'. This commit implements a ctlfs node that reports information about the host board. Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: dmi: Add dmi_prodfam()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
4 dayskernel: dmi: Add dmi_cpu_version()Ian Moffett
Add DMI helper to grab processor version string Signed-off-by: Ian Moffett <ian@osmora.org>
5 daysusr: libc: Implement additional socket routinesIan Moffett
Implements: - sendmsg() - recvmsg() - connect() Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: Add SYS_connect syscallIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: socket: Implement connect()Ian Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: socket: Improve control message logicIan Moffett
- Zero new control buffer before usage - Block if the control message queue is empty Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: socket: Block is recv queue is emptyIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>
5 dayskernel: socket: Block if cmsg queue is emptyIan Moffett
Signed-off-by: Ian Moffett <ian@osmora.org>