Bananymous 
							
						 
						
							
								3b23458ecc 
								
							 
						 
						
							
							
								
								LibC: Start work on locales  
							
							... 
							
							
							
							This patch adds 2 locales, POSIX locale and UTF8 locale.
functions `mbstowcs()` and `strcoll()` use locales to do convertions and
comparison respectively. 
							
						 
						
							2024-08-09 15:52:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7afdfb150f 
								
							 
						 
						
							
							
								
								LibC: Rewrite sigprocmask in terms of pthread_sigmask  
							
							... 
							
							
							
							Also don't fail SYS_SIGPROCMASK if how is invalid and set is NULL. 
							
						 
						
							2024-08-07 17:01:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fe94d6cf89 
								
							 
						 
						
							
							
								
								LibC: Implement dummy rename() so vim can save files  
							
							... 
							
							
							
							vim calls rename when saving a file. This patch adds dummy
implementation that only works for regular files and does a copy instead
of proper rename. 
							
						 
						
							2024-08-05 20:16:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4d96ae56ac 
								
							 
						 
						
							
							
								
								LibC: Add stubs for ungetc(), tcflush() and symlink()  
							
							
							
						 
						
							2024-08-05 01:48:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adadb10b15 
								
							 
						 
						
							
							
								
								LibC: Fix strsignal() and implement psignal()  
							
							
							
						 
						
							2024-08-05 00:59:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a749b9806e 
								
							 
						 
						
							
							
								
								LibC: Add definition for h_errno  
							
							... 
							
							
							
							Nothing uses this yet, but linking will succeed 
							
						 
						
							2024-08-05 00:58:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								615d9d4abe 
								
							 
						 
						
							
							
								
								LibC: Add INADDR_LOOPBACK  
							
							... 
							
							
							
							Some port was using this. Loopback addresses are not supported, but they
will be 127.0.0.1. 
							
						 
						
							2024-08-05 00:56:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa03274093 
								
							 
						 
						
							
							
								
								LibC: Remove O_DIRECTORY from opendir()  
							
							... 
							
							
							
							opendir() did not work on symlinks after with this flag... 
							
						 
						
							2024-08-05 00:55:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e7a06979ec 
								
							 
						 
						
							
							
								
								LibC: Implement usleep()  
							
							... 
							
							
							
							This is not a POSIX function, but some ports seem to be using it either
way 
							
						 
						
							2024-08-05 00:54:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3651306f57 
								
							 
						 
						
							
							
								
								LibC: Implement strto{u,i}max()  
							
							
							
						 
						
							2024-08-05 00:53:27 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dce4e6aea 
								
							 
						 
						
							
							
								
								LibC: Implement strftime()  
							
							... 
							
							
							
							I did not test this at all, this might very well be broken 
							
						 
						
							2024-08-05 00:49:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1d9041f2aa 
								
							 
						 
						
							
							
								
								LibC: make opendir() fail if path is not a directory  
							
							
							
						 
						
							2024-08-01 22:57:46 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a578527012 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement ioctl(TIOCGWINSZ)  
							
							... 
							
							
							
							This allows ncurses to get the window size! 
							
						 
						
							2024-08-01 22:56:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a33b63d066 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement alarm() and setitimer()  
							
							... 
							
							
							
							This makes vim able to start! 
							
						 
						
							2024-08-01 21:09:56 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6de350ce9d 
								
							 
						 
						
							
							
								
								Kernel/LibC: Cleanup, fix and implement a lot of signal code  
							
							... 
							
							
							
							This patch implements sigsets and some of their usages 
							
						 
						
							2024-08-01 17:01:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								401b460d75 
								
							 
						 
						
							
							
								
								LibC: Implement setbuf() and setvbuf()  
							
							
							
						 
						
							2024-08-01 01:30:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c440204fa5 
								
							 
						 
						
							
							
								
								LibC: Implement dummy strcoll()  
							
							
							
						 
						
							2024-07-31 23:58:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								adf50dffd8 
								
							 
						 
						
							
							
								
								LibC: Implement uname()  
							
							
							
						 
						
							2024-07-31 23:54:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20d38ed28c 
								
							 
						 
						
							
							
								
								LibC/Shell: Implement gethostname() and shell uses it for hostname  
							
							
							
						 
						
							2024-07-31 23:53:55 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								edc30cd71d 
								
							 
						 
						
							
							
								
								LibC: Compile without exceptions  
							
							... 
							
							
							
							This allows libc to not require __gxx_personality_v0. I can maybe add
C++ back to libc... :D I don't know why I did not research earlier what
this symbols was used for 
							
						 
						
							2024-07-31 23:33:41 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								10ce03a1e7 
								
							 
						 
						
							
							
								
								LibC: Implement ctime() and asctime()  
							
							
							
						 
						
							2024-07-31 23:26:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fca5c774a 
								
							 
						 
						
							
							
								
								LibC: Implement umask()  
							
							
							
						 
						
							2024-07-31 23:26:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fc6c39e670 
								
							 
						 
						
							
							
								
								LibC: Implement gettimeofday()  
							
							
							
						 
						
							2024-07-31 23:26:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e52dac3b25 
								
							 
						 
						
							
							
								
								LibC: Implement tmpnam()  
							
							... 
							
							
							
							This implementation is not really spec compliant as rand() does not
guarantee TMP_MAX different outputs + seeding 
							
						 
						
							2024-07-30 12:02:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								62db9a8ef3 
								
							 
						 
						
							
							
								
								LibC: Implement C++ static guards  
							
							
							
						 
						
							2024-07-30 12:02:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f0be4f86a6 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement access  
							
							
							
						 
						
							2024-07-30 11:51:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e5bb843059 
								
							 
						 
						
							
							
								
								LibC/Kernel: Implement ttyname  
							
							
							
						 
						
							2024-07-30 11:41:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca774dfeb5 
								
							 
						 
						
							
							
								
								LibC: Implement setlocale() for C locale  
							
							
							
						 
						
							2024-07-30 11:33:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								681d8327f5 
								
							 
						 
						
							
							
								
								LibC/Kernel: Cleanup termios code  
							
							... 
							
							
							
							This is still not correct, but much better than it used to be 
							
						 
						
							2024-07-30 11:10:43 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e00efca170 
								
							 
						 
						
							
							
								
								Userspace: Pprogram template and loadfont mark install as optional  
							
							
							
						 
						
							2024-07-21 17:41:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3ab1214012 
								
							 
						 
						
							
							
								
								LibC: Fix _toupper and _tolower definitions  
							
							... 
							
							
							
							They were using C++ global namespace, which of course does not exist for
C targets. 
							
						 
						
							2024-07-18 01:10:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								61f0043cd8 
								
							 
						 
						
							
							
								
								resolver: Fix infinite debug printing loop, if client disconnects  
							
							
							
						 
						
							2024-07-16 15:05:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5b8fdbc82d 
								
							 
						 
						
							
							
								
								LibC: Don't expose math.h in stdlib.h  
							
							
							
						 
						
							2024-07-16 12:47:38 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a5cb4057f9 
								
							 
						 
						
							
							
								
								Kernel: Implement unified input files for device hot-plugging support  
							
							... 
							
							
							
							/dev/keyboard and /dev/mouse can be read for events from any attached
keyboard or mouse respectively. This makes device hot-plugging support
pretty much automatic for TTY, GUI, and whatever takes input. 
							
						 
						
							2024-07-15 22:11:15 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								442ea8a692 
								
							 
						 
						
							
							
								
								BAN: Remove Optional emplace constructor  
							
							... 
							
							
							
							This was kind breaking some initializations. Emplacing is still possible
through Optional::emplace 
							
						 
						
							2024-07-14 01:53:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a97a574718 
								
							 
						 
						
							
							
								
								Kernel: Rewrite the whole input system  
							
							... 
							
							
							
							PS/2 code is now kind of messed up, but it works. Keyboards and mice are
now an abstract class that is automatically exposed to userspace. This
will make adding USB input much nicer. 
							
						 
						
							2024-07-14 01:53:50 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8ddab05ed3 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup userspace directory layout  
							
							... 
							
							
							
							userspace programs are now in userspace/programs
userspace tests are now in userspace/tests
This makes listing userspace projects much cleaner. Libraries were
already separated to their own directory, so other programs should also. 
							
						 
						
							2024-07-03 09:18:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5dc441c4af 
								
							 
						 
						
							
							
								
								Kernel/userspace: Implement KD_LOADFONT and loadfont program  
							
							
							
						 
						
							2024-07-03 09:02:49 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d58a569660 
								
							 
						 
						
							
							
								
								WindowServer: Limit msync to 60 Hz and only sync necessary pages  
							
							... 
							
							
							
							This speeds up GUI a lot. I can now run GUI on real hardware at almost
60 Hz. 
							
						 
						
							2024-06-29 19:00:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0c645ba867 
								
							 
						 
						
							
							
								
								LibGUI: Window now uses double buffering  
							
							... 
							
							
							
							This allows data in shared memory object be always up to date. With this
change window server can update lazily, and not necessarily on all
invalidate calls 
							
						 
						
							2024-06-27 00:39:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f538dd5276 
								
							 
						 
						
							
							
								
								test-tcp: Fix printing of "connection reset" when tcp connection closed  
							
							
							
						 
						
							2024-06-27 00:39:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								66905fcc08 
								
							 
						 
						
							
							
								
								http-server: Make http-server actually usable  
							
							... 
							
							
							
							http-server now implements basic static content from a specified
directory. 
							
						 
						
							2024-06-25 19:36:10 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af4b138094 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement realpath  
							
							... 
							
							
							
							realpath is implemented as a syscall. This is not really required but it
was the easiest way to get it working as there is already path
canonicalization at kernel level. 
							
						 
						
							2024-06-25 19:32:40 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								95681a7a05 
								
							 
						 
						
							
							
								
								LibImage: Cleanup bicubic calculations  
							
							
							
						 
						
							2024-06-25 11:04:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								67dfe0bcf3 
								
							 
						 
						
							
							
								
								BAN: Allow String::formatted to fail  
							
							
							
						 
						
							2024-06-25 11:04:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								61aa1ea11f 
								
							 
						 
						
							
							
								
								sudo: Fix installation permissions  
							
							... 
							
							
							
							I had accudentally removed SETUID bit from sudo. This required to
elevate the permissions. 
							
						 
						
							2024-06-24 15:00:08 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								20aa7c79d1 
								
							 
						 
						
							
							
								
								BuildSystem: Fix crt file installation  
							
							... 
							
							
							
							crt files should be installed always before userpace programs are
linked. 
							
						 
						
							2024-06-22 17:30:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								22548a3f4a 
								
							 
						 
						
							
							
								
								BuildSystem: Fix crt file installation  
							
							... 
							
							
							
							crt files for userspace are now a dependency of libc, which means that
everytime libc gets installed, crt files will also install.
This fixes the problem when building libc 
							
						 
						
							2024-06-21 17:10:58 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								9e1b5cbaab 
								
							 
						 
						
							
							
								
								BuildSystem: Cleanup CMake code to allow libc only installation  
							
							... 
							
							
							
							There was no way to just install libc which is required for stdlibc++ 
							
						 
						
							2024-06-21 01:45:14 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1488ec5a03 
								
							 
						 
						
							
							
								
								Userspace: Implement the most basic http server  
							
							... 
							
							
							
							This server just responds with static http "hello world" to every
incoming request 
							
						 
						
							2024-06-20 13:29:01 +03:00