diff --git a/RockOS/.git-backup/COMMIT_EDITMSG b/RockOS/.git-backup/COMMIT_EDITMSG deleted file mode 100644 index 385809f..0000000 --- a/RockOS/.git-backup/COMMIT_EDITMSG +++ /dev/null @@ -1 +0,0 @@ -more vga stuff diff --git a/RockOS/.git-backup/FETCH_HEAD b/RockOS/.git-backup/FETCH_HEAD deleted file mode 100644 index 965dca4..0000000 --- a/RockOS/.git-backup/FETCH_HEAD +++ /dev/null @@ -1 +0,0 @@ -6a79a20cf6d7c4597050a6119a4b373ec09f9645 branch 'main' of 74.208.227.0:slinky55/RockOS diff --git a/RockOS/.git-backup/HEAD b/RockOS/.git-backup/HEAD deleted file mode 100644 index b870d82..0000000 --- a/RockOS/.git-backup/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/main diff --git a/RockOS/.git-backup/ORIG_HEAD b/RockOS/.git-backup/ORIG_HEAD deleted file mode 100644 index 9f060c3..0000000 --- a/RockOS/.git-backup/ORIG_HEAD +++ /dev/null @@ -1 +0,0 @@ -454de8feed8e1ff633dd40a31317d4500f4b1221 diff --git a/RockOS/.git-backup/config b/RockOS/.git-backup/config deleted file mode 100644 index c47af5a..0000000 --- a/RockOS/.git-backup/config +++ /dev/null @@ -1,12 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true -[remote "origin"] - url = git@74.208.227.0:slinky55/RockOS.git - fetch = +refs/heads/*:refs/remotes/origin/* -[branch "main"] - remote = origin - merge = refs/heads/main - vscode-merge-base = origin/main diff --git a/RockOS/.git-backup/description b/RockOS/.git-backup/description deleted file mode 100644 index 498b267..0000000 --- a/RockOS/.git-backup/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/RockOS/.git-backup/hooks/applypatch-msg.sample b/RockOS/.git-backup/hooks/applypatch-msg.sample deleted file mode 100755 index a5d7b84..0000000 --- a/RockOS/.git-backup/hooks/applypatch-msg.sample +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message taken by -# applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. The hook is -# allowed to edit the commit message file. -# -# To enable this hook, rename this file to "applypatch-msg". - -. git-sh-setup -commitmsg="$(git rev-parse --git-path hooks/commit-msg)" -test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} -: diff --git a/RockOS/.git-backup/hooks/commit-msg.sample b/RockOS/.git-backup/hooks/commit-msg.sample deleted file mode 100755 index b58d118..0000000 --- a/RockOS/.git-backup/hooks/commit-msg.sample +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to check the commit log message. -# Called by "git commit" with one argument, the name of the file -# that has the commit message. The hook should exit with non-zero -# status after issuing an appropriate message if it wants to stop the -# commit. The hook is allowed to edit the commit message file. -# -# To enable this hook, rename this file to "commit-msg". - -# Uncomment the below to add a Signed-off-by line to the message. -# Doing this in a hook is a bad idea in general, but the prepare-commit-msg -# hook is more suited to it. -# -# SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" - -# This example catches duplicate Signed-off-by lines. - -test "" = "$(grep '^Signed-off-by: ' "$1" | - sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { - echo >&2 Duplicate Signed-off-by lines. - exit 1 -} diff --git a/RockOS/.git-backup/hooks/fsmonitor-watchman.sample b/RockOS/.git-backup/hooks/fsmonitor-watchman.sample deleted file mode 100755 index 23e856f..0000000 --- a/RockOS/.git-backup/hooks/fsmonitor-watchman.sample +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/perl - -use strict; -use warnings; -use IPC::Open2; - -# An example hook script to integrate Watchman -# (https://facebook.github.io/watchman/) with git to speed up detecting -# new and modified files. -# -# The hook is passed a version (currently 2) and last update token -# formatted as a string and outputs to stdout a new update token and -# all files that have been modified since the update token. Paths must -# be relative to the root of the working tree and separated by a single NUL. -# -# To enable this hook, rename this file to "query-watchman" and set -# 'git config core.fsmonitor .git/hooks/query-watchman' -# -my ($version, $last_update_token) = @ARGV; - -# Uncomment for debugging -# print STDERR "$0 $version $last_update_token\n"; - -# Check the hook interface version -if ($version ne 2) { - die "Unsupported query-fsmonitor hook version '$version'.\n" . - "Falling back to scanning...\n"; -} - -my $git_work_tree = get_working_dir(); - -my $retry = 1; - -my $json_pkg; -eval { - require JSON::XS; - $json_pkg = "JSON::XS"; - 1; -} or do { - require JSON::PP; - $json_pkg = "JSON::PP"; -}; - -launch_watchman(); - -sub launch_watchman { - my $o = watchman_query(); - if (is_work_tree_watched($o)) { - output_result($o->{clock}, @{$o->{files}}); - } -} - -sub output_result { - my ($clockid, @files) = @_; - - # Uncomment for debugging watchman output - # open (my $fh, ">", ".git/watchman-output.out"); - # binmode $fh, ":utf8"; - # print $fh "$clockid\n@files\n"; - # close $fh; - - binmode STDOUT, ":utf8"; - print $clockid; - print "\0"; - local $, = "\0"; - print @files; -} - -sub watchman_clock { - my $response = qx/watchman clock "$git_work_tree"/; - die "Failed to get clock id on '$git_work_tree'.\n" . - "Falling back to scanning...\n" if $? != 0; - - return $json_pkg->new->utf8->decode($response); -} - -sub watchman_query { - my $pid = open2(\*CHLD_OUT, \*CHLD_IN, 'watchman -j --no-pretty') - or die "open2() failed: $!\n" . - "Falling back to scanning...\n"; - - # In the query expression below we're asking for names of files that - # changed since $last_update_token but not from the .git folder. - # - # To accomplish this, we're using the "since" generator to use the - # recency index to select candidate nodes and "fields" to limit the - # output to file names only. Then we're using the "expression" term to - # further constrain the results. - my $last_update_line = ""; - if (substr($last_update_token, 0, 1) eq "c") { - $last_update_token = "\"$last_update_token\""; - $last_update_line = qq[\n"since": $last_update_token,]; - } - my $query = <<" END"; - ["query", "$git_work_tree", {$last_update_line - "fields": ["name"], - "expression": ["not", ["dirname", ".git"]] - }] - END - - # Uncomment for debugging the watchman query - # open (my $fh, ">", ".git/watchman-query.json"); - # print $fh $query; - # close $fh; - - print CHLD_IN $query; - close CHLD_IN; - my $response = do {local $/; }; - - # Uncomment for debugging the watch response - # open ($fh, ">", ".git/watchman-response.json"); - # print $fh $response; - # close $fh; - - die "Watchman: command returned no output.\n" . - "Falling back to scanning...\n" if $response eq ""; - die "Watchman: command returned invalid output: $response\n" . - "Falling back to scanning...\n" unless $response =~ /^\{/; - - return $json_pkg->new->utf8->decode($response); -} - -sub is_work_tree_watched { - my ($output) = @_; - my $error = $output->{error}; - if ($retry > 0 and $error and $error =~ m/unable to resolve root .* directory (.*) is not watched/) { - $retry--; - my $response = qx/watchman watch "$git_work_tree"/; - die "Failed to make watchman watch '$git_work_tree'.\n" . - "Falling back to scanning...\n" if $? != 0; - $output = $json_pkg->new->utf8->decode($response); - $error = $output->{error}; - die "Watchman: $error.\n" . - "Falling back to scanning...\n" if $error; - - # Uncomment for debugging watchman output - # open (my $fh, ">", ".git/watchman-output.out"); - # close $fh; - - # Watchman will always return all files on the first query so - # return the fast "everything is dirty" flag to git and do the - # Watchman query just to get it over with now so we won't pay - # the cost in git to look up each individual file. - my $o = watchman_clock(); - $error = $output->{error}; - - die "Watchman: $error.\n" . - "Falling back to scanning...\n" if $error; - - output_result($o->{clock}, ("/")); - $last_update_token = $o->{clock}; - - eval { launch_watchman() }; - return 0; - } - - die "Watchman: $error.\n" . - "Falling back to scanning...\n" if $error; - - return 1; -} - -sub get_working_dir { - my $working_dir; - if ($^O =~ 'msys' || $^O =~ 'cygwin') { - $working_dir = Win32::GetCwd(); - $working_dir =~ tr/\\/\//; - } else { - require Cwd; - $working_dir = Cwd::cwd(); - } - - return $working_dir; -} diff --git a/RockOS/.git-backup/hooks/post-update.sample b/RockOS/.git-backup/hooks/post-update.sample deleted file mode 100755 index ec17ec1..0000000 --- a/RockOS/.git-backup/hooks/post-update.sample +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare a packed repository for use over -# dumb transports. -# -# To enable this hook, rename this file to "post-update". - -exec git update-server-info diff --git a/RockOS/.git-backup/hooks/pre-applypatch.sample b/RockOS/.git-backup/hooks/pre-applypatch.sample deleted file mode 100755 index 4142082..0000000 --- a/RockOS/.git-backup/hooks/pre-applypatch.sample +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed -# by applypatch from an e-mail message. -# -# The hook should exit with non-zero status after issuing an -# appropriate message if it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-applypatch". - -. git-sh-setup -precommit="$(git rev-parse --git-path hooks/pre-commit)" -test -x "$precommit" && exec "$precommit" ${1+"$@"} -: diff --git a/RockOS/.git-backup/hooks/pre-commit.sample b/RockOS/.git-backup/hooks/pre-commit.sample deleted file mode 100755 index e144712..0000000 --- a/RockOS/.git-backup/hooks/pre-commit.sample +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git commit" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message if -# it wants to stop the commit. -# -# To enable this hook, rename this file to "pre-commit". - -if git rev-parse --verify HEAD >/dev/null 2>&1 -then - against=HEAD -else - # Initial commit: diff against an empty tree object - against=$(git hash-object -t tree /dev/null) -fi - -# If you want to allow non-ASCII filenames set this variable to true. -allownonascii=$(git config --type=bool hooks.allownonascii) - -# Redirect output to stderr. -exec 1>&2 - -# Cross platform projects tend to avoid non-ASCII filenames; prevent -# them from being added to the repository. We exploit the fact that the -# printable range starts at the space character and ends with tilde. -if [ "$allownonascii" != "true" ] && - # Note that the use of brackets around a tr range is ok here, (it's - # even required, for portability to Solaris 10's /usr/bin/tr), since - # the square bracket bytes happen to fall in the designated range. - test $(git diff --cached --name-only --diff-filter=A -z $against | - LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 -then - cat <<\EOF -Error: Attempt to add a non-ASCII file name. - -This can cause problems if you want to work with people on other platforms. - -To be portable it is advisable to rename the file. - -If you know what you are doing you can disable this check using: - - git config hooks.allownonascii true -EOF - exit 1 -fi - -# If there are whitespace errors, print the offending file names and fail. -exec git diff-index --check --cached $against -- diff --git a/RockOS/.git-backup/hooks/pre-merge-commit.sample b/RockOS/.git-backup/hooks/pre-merge-commit.sample deleted file mode 100755 index 399eab1..0000000 --- a/RockOS/.git-backup/hooks/pre-merge-commit.sample +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# -# An example hook script to verify what is about to be committed. -# Called by "git merge" with no arguments. The hook should -# exit with non-zero status after issuing an appropriate message to -# stderr if it wants to stop the merge commit. -# -# To enable this hook, rename this file to "pre-merge-commit". - -. git-sh-setup -test -x "$GIT_DIR/hooks/pre-commit" && - exec "$GIT_DIR/hooks/pre-commit" -: diff --git a/RockOS/.git-backup/hooks/pre-push.sample b/RockOS/.git-backup/hooks/pre-push.sample deleted file mode 100755 index 4ce688d..0000000 --- a/RockOS/.git-backup/hooks/pre-push.sample +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# An example hook script to verify what is about to be pushed. Called by "git -# push" after it has checked the remote status, but before anything has been -# pushed. If this script exits with a non-zero status nothing will be pushed. -# -# This hook is called with the following parameters: -# -# $1 -- Name of the remote to which the push is being done -# $2 -- URL to which the push is being done -# -# If pushing without using a named remote those arguments will be equal. -# -# Information about the commits which are being pushed is supplied as lines to -# the standard input in the form: -# -# -# -# This sample shows how to prevent push of commits where the log message starts -# with "WIP" (work in progress). - -remote="$1" -url="$2" - -zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" - exit 1 - fi - fi -done - -exit 0 diff --git a/RockOS/.git-backup/hooks/pre-rebase.sample b/RockOS/.git-backup/hooks/pre-rebase.sample deleted file mode 100755 index 6cbef5c..0000000 --- a/RockOS/.git-backup/hooks/pre-rebase.sample +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2006, 2008 Junio C Hamano -# -# The "pre-rebase" hook is run just before "git rebase" starts doing -# its job, and can prevent the command from running by exiting with -# non-zero status. -# -# The hook is called with the following parameters: -# -# $1 -- the upstream the series was forked from. -# $2 -- the branch being rebased (or empty when rebasing the current branch). -# -# This sample shows how to prevent topic branches that are already -# merged to 'next' branch from getting rebased, because allowing it -# would result in rebasing already published history. - -publish=next -basebranch="$1" -if test "$#" = 2 -then - topic="refs/heads/$2" -else - topic=`git symbolic-ref HEAD` || - exit 0 ;# we do not interrupt rebasing detached HEAD -fi - -case "$topic" in -refs/heads/??/*) - ;; -*) - exit 0 ;# we do not interrupt others. - ;; -esac - -# Now we are dealing with a topic branch being rebased -# on top of master. Is it OK to rebase it? - -# Does the topic really exist? -git show-ref -q "$topic" || { - echo >&2 "No such branch $topic" - exit 1 -} - -# Is topic fully merged to master? -not_in_master=`git rev-list --pretty=oneline ^master "$topic"` -if test -z "$not_in_master" -then - echo >&2 "$topic is fully merged to master; better remove it." - exit 1 ;# we could allow it, but there is no point. -fi - -# Is topic ever merged to next? If so you should not be rebasing it. -only_next_1=`git rev-list ^master "^$topic" ${publish} | sort` -only_next_2=`git rev-list ^master ${publish} | sort` -if test "$only_next_1" = "$only_next_2" -then - not_in_topic=`git rev-list "^$topic" master` - if test -z "$not_in_topic" - then - echo >&2 "$topic is already up to date with master" - exit 1 ;# we could allow it, but there is no point. - else - exit 0 - fi -else - not_in_next=`git rev-list --pretty=oneline ^${publish} "$topic"` - /usr/bin/perl -e ' - my $topic = $ARGV[0]; - my $msg = "* $topic has commits already merged to public branch:\n"; - my (%not_in_next) = map { - /^([0-9a-f]+) /; - ($1 => 1); - } split(/\n/, $ARGV[1]); - for my $elem (map { - /^([0-9a-f]+) (.*)$/; - [$1 => $2]; - } split(/\n/, $ARGV[2])) { - if (!exists $not_in_next{$elem->[0]}) { - if ($msg) { - print STDERR $msg; - undef $msg; - } - print STDERR " $elem->[1]\n"; - } - } - ' "$topic" "$not_in_next" "$not_in_master" - exit 1 -fi - -<<\DOC_END - -This sample hook safeguards topic branches that have been -published from being rewound. - -The workflow assumed here is: - - * Once a topic branch forks from "master", "master" is never - merged into it again (either directly or indirectly). - - * Once a topic branch is fully cooked and merged into "master", - it is deleted. If you need to build on top of it to correct - earlier mistakes, a new topic branch is created by forking at - the tip of the "master". This is not strictly necessary, but - it makes it easier to keep your history simple. - - * Whenever you need to test or publish your changes to topic - branches, merge them into "next" branch. - -The script, being an example, hardcodes the publish branch name -to be "next", but it is trivial to make it configurable via -$GIT_DIR/config mechanism. - -With this workflow, you would want to know: - -(1) ... if a topic branch has ever been merged to "next". Young - topic branches can have stupid mistakes you would rather - clean up before publishing, and things that have not been - merged into other branches can be easily rebased without - affecting other people. But once it is published, you would - not want to rewind it. - -(2) ... if a topic branch has been fully merged to "master". - Then you can delete it. More importantly, you should not - build on top of it -- other people may already want to - change things related to the topic as patches against your - "master", so if you need further changes, it is better to - fork the topic (perhaps with the same name) afresh from the - tip of "master". - -Let's look at this example: - - o---o---o---o---o---o---o---o---o---o "next" - / / / / - / a---a---b A / / - / / / / - / / c---c---c---c B / - / / / \ / - / / / b---b C \ / - / / / / \ / - ---o---o---o---o---o---o---o---o---o---o---o "master" - - -A, B and C are topic branches. - - * A has one fix since it was merged up to "next". - - * B has finished. It has been fully merged up to "master" and "next", - and is ready to be deleted. - - * C has not merged to "next" at all. - -We would want to allow C to be rebased, refuse A, and encourage -B to be deleted. - -To compute (1): - - git rev-list ^master ^topic next - git rev-list ^master next - - if these match, topic has not merged in next at all. - -To compute (2): - - git rev-list master..topic - - if this is empty, it is fully merged to "master". - -DOC_END diff --git a/RockOS/.git-backup/hooks/pre-receive.sample b/RockOS/.git-backup/hooks/pre-receive.sample deleted file mode 100755 index a1fd29e..0000000 --- a/RockOS/.git-backup/hooks/pre-receive.sample +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -# An example hook script to make use of push options. -# The example simply echoes all push options that start with 'echoback=' -# and rejects all pushes when the "reject" push option is used. -# -# To enable this hook, rename this file to "pre-receive". - -if test -n "$GIT_PUSH_OPTION_COUNT" -then - i=0 - while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" - do - eval "value=\$GIT_PUSH_OPTION_$i" - case "$value" in - echoback=*) - echo "echo from the pre-receive-hook: ${value#*=}" >&2 - ;; - reject) - exit 1 - esac - i=$((i + 1)) - done -fi diff --git a/RockOS/.git-backup/hooks/prepare-commit-msg.sample b/RockOS/.git-backup/hooks/prepare-commit-msg.sample deleted file mode 100755 index 10fa14c..0000000 --- a/RockOS/.git-backup/hooks/prepare-commit-msg.sample +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# -# An example hook script to prepare the commit log message. -# Called by "git commit" with the name of the file that has the -# commit message, followed by the description of the commit -# message's source. The hook's purpose is to edit the commit -# message file. If the hook fails with a non-zero status, -# the commit is aborted. -# -# To enable this hook, rename this file to "prepare-commit-msg". - -# This hook includes three examples. The first one removes the -# "# Please enter the commit message..." help message. -# -# The second includes the output of "git diff --name-status -r" -# into the message, just before the "git status" output. It is -# commented because it doesn't cope with --amend or with squashed -# commits. -# -# The third example adds a Signed-off-by line to the message, that can -# still be edited. This is rarely a good idea. - -COMMIT_MSG_FILE=$1 -COMMIT_SOURCE=$2 -SHA1=$3 - -/usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" - -# case "$COMMIT_SOURCE,$SHA1" in -# ,|template,) -# /usr/bin/perl -i.bak -pe ' -# print "\n" . `git diff --cached --name-status -r` -# if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; -# *) ;; -# esac - -# SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') -# git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" -# if test -z "$COMMIT_SOURCE" -# then -# /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" -# fi diff --git a/RockOS/.git-backup/hooks/push-to-checkout.sample b/RockOS/.git-backup/hooks/push-to-checkout.sample deleted file mode 100755 index af5a0c0..0000000 --- a/RockOS/.git-backup/hooks/push-to-checkout.sample +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh - -# An example hook script to update a checked-out tree on a git push. -# -# This hook is invoked by git-receive-pack(1) when it reacts to git -# push and updates reference(s) in its repository, and when the push -# tries to update the branch that is currently checked out and the -# receive.denyCurrentBranch configuration variable is set to -# updateInstead. -# -# By default, such a push is refused if the working tree and the index -# of the remote repository has any difference from the currently -# checked out commit; when both the working tree and the index match -# the current commit, they are updated to match the newly pushed tip -# of the branch. This hook is to be used to override the default -# behaviour; however the code below reimplements the default behaviour -# as a starting point for convenient modification. -# -# The hook receives the commit with which the tip of the current -# branch is going to be updated: -commit=$1 - -# It can exit with a non-zero status to refuse the push (when it does -# so, it must not modify the index or the working tree). -die () { - echo >&2 "$*" - exit 1 -} - -# Or it can make any necessary changes to the working tree and to the -# index to bring them to the desired state when the tip of the current -# branch is updated to the new commit, and exit with a zero status. -# -# For example, the hook can simply run git read-tree -u -m HEAD "$1" -# in order to emulate git fetch that is run in the reverse direction -# with git push, as the two-tree form of git read-tree -u -m is -# essentially the same as git switch or git checkout that switches -# branches while keeping the local changes in the working tree that do -# not interfere with the difference between the branches. - -# The below is a more-or-less exact translation to shell of the C code -# for the default behaviour for git's push-to-checkout hook defined in -# the push_to_deploy() function in builtin/receive-pack.c. -# -# Note that the hook will be executed from the repository directory, -# not from the working tree, so if you want to perform operations on -# the working tree, you will have to adapt your code accordingly, e.g. -# by adding "cd .." or using relative paths. - -if ! git update-index -q --ignore-submodules --refresh -then - die "Up-to-date check failed" -fi - -if ! git diff-files --quiet --ignore-submodules -- -then - die "Working directory has unstaged changes" -fi - -# This is a rough translation of: -# -# head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX -if git cat-file -e HEAD 2>/dev/null -then - head=HEAD -else - head=$(git hash-object -t tree --stdin &2 - exit 1 -} - -unset GIT_DIR GIT_WORK_TREE -cd "$worktree" && - -if grep -q "^diff --git " "$1" -then - validate_patch "$1" -else - validate_cover_letter "$1" -fi && - -if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL" -then - git config --unset-all sendemail.validateWorktree && - trap 'git worktree remove -ff "$worktree"' EXIT && - validate_series -fi diff --git a/RockOS/.git-backup/hooks/update.sample b/RockOS/.git-backup/hooks/update.sample deleted file mode 100755 index c4d426b..0000000 --- a/RockOS/.git-backup/hooks/update.sample +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/sh -# -# An example hook script to block unannotated tags from entering. -# Called by "git receive-pack" with arguments: refname sha1-old sha1-new -# -# To enable this hook, rename this file to "update". -# -# Config -# ------ -# hooks.allowunannotated -# This boolean sets whether unannotated tags will be allowed into the -# repository. By default they won't be. -# hooks.allowdeletetag -# This boolean sets whether deleting tags will be allowed in the -# repository. By default they won't be. -# hooks.allowmodifytag -# This boolean sets whether a tag may be modified after creation. By default -# it won't be. -# hooks.allowdeletebranch -# This boolean sets whether deleting branches will be allowed in the -# repository. By default they won't be. -# hooks.denycreatebranch -# This boolean sets whether remotely creating branches will be denied -# in the repository. By default this is allowed. -# - -# --- Command line -refname="$1" -oldrev="$2" -newrev="$3" - -# --- Safety check -if [ -z "$GIT_DIR" ]; then - echo "Don't run this script from the command line." >&2 - echo " (if you want, you could supply GIT_DIR then run" >&2 - echo " $0 )" >&2 - exit 1 -fi - -if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then - echo "usage: $0 " >&2 - exit 1 -fi - -# --- Config -allowunannotated=$(git config --type=bool hooks.allowunannotated) -allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) -denycreatebranch=$(git config --type=bool hooks.denycreatebranch) -allowdeletetag=$(git config --type=bool hooks.allowdeletetag) -allowmodifytag=$(git config --type=bool hooks.allowmodifytag) - -# check for no description -projectdesc=$(sed -e '1q' "$GIT_DIR/description") -case "$projectdesc" in -"Unnamed repository"* | "") - echo "*** Project description file hasn't been set" >&2 - exit 1 - ;; -esac - -# --- Check types -# if $newrev is 0000...0000, it's a commit to delete a ref. -zero=$(git hash-object --stdin &2 - echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 - exit 1 - fi - ;; - refs/tags/*,delete) - # delete tag - if [ "$allowdeletetag" != "true" ]; then - echo "*** Deleting a tag is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/tags/*,tag) - # annotated tag - if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 - then - echo "*** Tag '$refname' already exists." >&2 - echo "*** Modifying a tag is not allowed in this repository." >&2 - exit 1 - fi - ;; - refs/heads/*,commit) - # branch - if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then - echo "*** Creating a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/heads/*,delete) - # delete branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - refs/remotes/*,commit) - # tracking branch - ;; - refs/remotes/*,delete) - # delete tracking branch - if [ "$allowdeletebranch" != "true" ]; then - echo "*** Deleting a tracking branch is not allowed in this repository" >&2 - exit 1 - fi - ;; - *) - # Anything else (is there anything else?) - echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 - exit 1 - ;; -esac - -# --- Finished -exit 0 diff --git a/RockOS/.git-backup/index b/RockOS/.git-backup/index deleted file mode 100644 index d461b8f..0000000 Binary files a/RockOS/.git-backup/index and /dev/null differ diff --git a/RockOS/.git-backup/info/exclude b/RockOS/.git-backup/info/exclude deleted file mode 100644 index a5196d1..0000000 --- a/RockOS/.git-backup/info/exclude +++ /dev/null @@ -1,6 +0,0 @@ -# git ls-files --others --exclude-from=.git/info/exclude -# Lines that start with '#' are comments. -# For a project mostly in C, the following would be a good set of -# exclude patterns (uncomment them if you want to use them): -# *.[oa] -# *~ diff --git a/RockOS/.git-backup/logs/HEAD b/RockOS/.git-backup/logs/HEAD deleted file mode 100644 index 4fc1158..0000000 Binary files a/RockOS/.git-backup/logs/HEAD and /dev/null differ diff --git a/RockOS/.git-backup/logs/refs/heads/main b/RockOS/.git-backup/logs/refs/heads/main deleted file mode 100644 index 041e709..0000000 Binary files a/RockOS/.git-backup/logs/refs/heads/main and /dev/null differ diff --git a/RockOS/.git-backup/logs/refs/remotes/origin/HEAD b/RockOS/.git-backup/logs/refs/remotes/origin/HEAD deleted file mode 100644 index 8734eec..0000000 --- a/RockOS/.git-backup/logs/refs/remotes/origin/HEAD +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 4e8de774ef76caed41dffa19de0e90f1ec356534 slinky 1781417108 -0500 clone: from 74.208.227.0:slinky55/RockOS.git diff --git a/RockOS/.git-backup/logs/refs/remotes/origin/main b/RockOS/.git-backup/logs/refs/remotes/origin/main deleted file mode 100644 index ffe316a..0000000 --- a/RockOS/.git-backup/logs/refs/remotes/origin/main +++ /dev/null @@ -1,42 +0,0 @@ -4e8de774ef76caed41dffa19de0e90f1ec356534 53c5d7d40c92e9f9dceaa7dcfc35a46d8710734c slinky55 1781415254 -0500 update by push -53c5d7d40c92e9f9dceaa7dcfc35a46d8710734c ac4b510221717936555ca3e478f27f1bf6b46399 slinky55 1781481237 -0500 update by push -ac4b510221717936555ca3e478f27f1bf6b46399 25da0f6a71c2ce4aba86f32d375d97562a1650e3 slinky55 1781561647 -0500 pull: fast-forward -25da0f6a71c2ce4aba86f32d375d97562a1650e3 fe3725db99bf7181e9194510f15f6f7ab99cffbf slinky55 1781584504 -0500 update by push -fe3725db99bf7181e9194510f15f6f7ab99cffbf 0a51a5e8bccfdb5e3d99438eb738a5e56ac37590 slinky55 1781629530 -0500 pull: fast-forward -0a51a5e8bccfdb5e3d99438eb738a5e56ac37590 171cbd21bc1c032bc3818696b937007bc6013bec slinky55 1781653475 -0500 update by push -171cbd21bc1c032bc3818696b937007bc6013bec 0cb7311911cc37bfa99efeddaaca706d9b8490f6 slinky55 1781661258 -0500 pull: fast-forward -0cb7311911cc37bfa99efeddaaca706d9b8490f6 7d34fbbd022f50376c4067a594de4c12a3880a8d slinky55 1781738209 -0500 update by push -7d34fbbd022f50376c4067a594de4c12a3880a8d b384723dbdecc59099db9580aa1473098000f286 slinky55 1781846831 -0500 update by push -b384723dbdecc59099db9580aa1473098000f286 0f84acde302a1f01e52a9d504a188b14ed4819a2 slinky55 1782007501 -0500 pull: fast-forward -0f84acde302a1f01e52a9d504a188b14ed4819a2 a82a7aa1a4559d3e4b838f7f129266c20cc50ebd slinky55 1782079039 -0500 update by push -a82a7aa1a4559d3e4b838f7f129266c20cc50ebd ae4b6863bf686ff2d0b26c0a70f37c84fc9e4e0a slinky55 1782274917 -0500 pull: fast-forward -ae4b6863bf686ff2d0b26c0a70f37c84fc9e4e0a 68dbdbb2c8f4798af40df79d6afb037fa1c9af18 slinky55 1782325829 -0500 update by push -68dbdbb2c8f4798af40df79d6afb037fa1c9af18 bf0d1caa8902bf2f812b33a5f20b2b89c26eaab5 slinky55 1782349153 -0500 pull: fast-forward -bf0d1caa8902bf2f812b33a5f20b2b89c26eaab5 8fa7a5930cdec67ac00379ab241db67906d14fe0 slinky55 1782355928 -0500 update by push -8fa7a5930cdec67ac00379ab241db67906d14fe0 a501b1913eab8f594fa9bf8141eadb87becc60fa slinky55 1782362496 -0500 update by push -a501b1913eab8f594fa9bf8141eadb87becc60fa 57d7d34c6d797b9ceef5de13091eeb56ff8e2eac slinky55 1782414219 -0500 update by push -57d7d34c6d797b9ceef5de13091eeb56ff8e2eac 43bc0df81a8755b46f7062263c6063319353d5f1 slinky55 1782523078 -0500 pull: fast-forward -43bc0df81a8755b46f7062263c6063319353d5f1 97357f3170d59a64f9ac72eb1d06ec93172a9252 slinky55 1782687544 -0500 update by push -97357f3170d59a64f9ac72eb1d06ec93172a9252 5983212da0651f730f8900aa51146e461f05ce92 slinky55 1782771843 -0500 pull: fast-forward -5983212da0651f730f8900aa51146e461f05ce92 ce81d4eb31577446527811678dfc3fd042fb787f slinky55 1782795804 -0500 update by push -ce81d4eb31577446527811678dfc3fd042fb787f af6c1c94cffa4197296a23efde18425220ea6438 slinky55 1782867624 -0500 pull: fast-forward -af6c1c94cffa4197296a23efde18425220ea6438 b6ee4fc3de326f1f6be2e9baab4bca141a9bfa88 slinky55 1782954025 -0500 update by push -b6ee4fc3de326f1f6be2e9baab4bca141a9bfa88 48df965268e6f964bc608bd3ec3cab97e38ea4aa slinky55 1782961870 -0500 update by push -48df965268e6f964bc608bd3ec3cab97e38ea4aa ab5a1ecb6b88d7bd6dcbbcadcbff009eef7157c8 slinky55 1783135527 -0500 update by push -ab5a1ecb6b88d7bd6dcbbcadcbff009eef7157c8 0b98ac0273731d958307bd0a1cf4705ccd64d13d slinky55 1783142818 -0500 pull: fast-forward -0b98ac0273731d958307bd0a1cf4705ccd64d13d 17ccde355672be85baf7efe2f77c468b75ef842d slinky55 1783148363 -0500 update by push -17ccde355672be85baf7efe2f77c468b75ef842d 7d76f0ec73be8c6554e9e993f97bbc60fcdbdb98 slinky55 1783148963 -0500 update by push -7d76f0ec73be8c6554e9e993f97bbc60fcdbdb98 6d7a23d747e511a4572301239d106fa79cd03a59 slinky55 1783394041 -0500 update by push -6d7a23d747e511a4572301239d106fa79cd03a59 177a0b8fe922ef36cd0624f835ff32ed842b6635 slinky55 1783401208 -0500 update by push -177a0b8fe922ef36cd0624f835ff32ed842b6635 e42ee8eb85fafc4c16654372e7cd9979b9f1dd62 slinky55 1783468344 -0500 update by push -e42ee8eb85fafc4c16654372e7cd9979b9f1dd62 ec3cbb479486af14f15f95376cc0e8ec1d86ba9a slinky55 1783555903 -0500 update by push -ec3cbb479486af14f15f95376cc0e8ec1d86ba9a 4d98d73f5ea90a0a0b6e26340658457c0de2fc73 slinky55 1783563334 -0500 update by push -4d98d73f5ea90a0a0b6e26340658457c0de2fc73 032a35206acc5e3139313183d354c5b988d4df3e slinky55 1783689008 -0500 pull: fast-forward -032a35206acc5e3139313183d354c5b988d4df3e 92748fd258852e50033777bf27697aea2c808b3a slinky55 1783783991 -0500 update by push -92748fd258852e50033777bf27697aea2c808b3a 992ffd1f6bc5a31582327ab4b434e47fcab4afe4 slinky55 1783784193 -0500 update by push -992ffd1f6bc5a31582327ab4b434e47fcab4afe4 3c6fd8cb651389de9cc425b6893c5512f9447ed3 slinky55 1783846588 -0500 update by push -3c6fd8cb651389de9cc425b6893c5512f9447ed3 d60036a4bdcc5e0b2b534446f19171a8ddcc2e08 slinky55 1783849073 -0500 update by push -d60036a4bdcc5e0b2b534446f19171a8ddcc2e08 e2ab1303243a463122832044a7fc75651008fb8f slinky55 1783874573 -0500 update by push -e2ab1303243a463122832044a7fc75651008fb8f 5c7febbbf0de9ca0d3f02efb50a2688f14b17d75 slinky55 1783905391 -0500 pull: fast-forward -5c7febbbf0de9ca0d3f02efb50a2688f14b17d75 454de8feed8e1ff633dd40a31317d4500f4b1221 slinky55 1784005672 -0500 update by push -454de8feed8e1ff633dd40a31317d4500f4b1221 6a79a20cf6d7c4597050a6119a4b373ec09f9645 slinky55 1784073843 -0500 pull: fast-forward diff --git a/RockOS/.git-backup/logs/refs/stash b/RockOS/.git-backup/logs/refs/stash deleted file mode 100644 index c53d1e4..0000000 --- a/RockOS/.git-backup/logs/refs/stash +++ /dev/null @@ -1,3 +0,0 @@ -0000000000000000000000000000000000000000 dbbda1ee4c5fc1f792cda63e4ccfb6abc9262f25 slinky55 1781561654 -0500 WIP on main: ac4b510 paging -dbbda1ee4c5fc1f792cda63e4ccfb6abc9262f25 afeebd1abb969f477d79fca3e708ac7b5e68ba5e slinky55 1781629559 -0500 WIP on main: fe3725d boot page table works -afeebd1abb969f477d79fca3e708ac7b5e68ba5e d69cc348f1cc9794ad175eb80ed588faf0baf1c8 slinky55 1782867628 -0500 WIP on main: ce81d4e loading initrd now... diff --git a/RockOS/.git-backup/objects/00/7814f68faec60aed438eeec12bb21a6a25ab52 b/RockOS/.git-backup/objects/00/7814f68faec60aed438eeec12bb21a6a25ab52 deleted file mode 100644 index 7bb64ce..0000000 Binary files a/RockOS/.git-backup/objects/00/7814f68faec60aed438eeec12bb21a6a25ab52 and /dev/null differ diff --git a/RockOS/.git-backup/objects/00/8aa81124033c58f439f258ae52f08942ca2258 b/RockOS/.git-backup/objects/00/8aa81124033c58f439f258ae52f08942ca2258 deleted file mode 100644 index 0f28318..0000000 Binary files a/RockOS/.git-backup/objects/00/8aa81124033c58f439f258ae52f08942ca2258 and /dev/null differ diff --git a/RockOS/.git-backup/objects/00/e6d47b780b27fc62a1fef933b269727d3bd61f b/RockOS/.git-backup/objects/00/e6d47b780b27fc62a1fef933b269727d3bd61f deleted file mode 100644 index 2674c09..0000000 Binary files a/RockOS/.git-backup/objects/00/e6d47b780b27fc62a1fef933b269727d3bd61f and /dev/null differ diff --git a/RockOS/.git-backup/objects/00/ea6d985ac3c26e8d4e744cc3484f5b1d03a026 b/RockOS/.git-backup/objects/00/ea6d985ac3c26e8d4e744cc3484f5b1d03a026 deleted file mode 100644 index 5677322..0000000 Binary files a/RockOS/.git-backup/objects/00/ea6d985ac3c26e8d4e744cc3484f5b1d03a026 and /dev/null differ diff --git a/RockOS/.git-backup/objects/00/ef5a31b59a54d3029d9a3d82ba4fa739e0b7da b/RockOS/.git-backup/objects/00/ef5a31b59a54d3029d9a3d82ba4fa739e0b7da deleted file mode 100644 index fa09a82..0000000 Binary files a/RockOS/.git-backup/objects/00/ef5a31b59a54d3029d9a3d82ba4fa739e0b7da and /dev/null differ diff --git a/RockOS/.git-backup/objects/01/27163fdfd01b87f339c8503e332e3060183e43 b/RockOS/.git-backup/objects/01/27163fdfd01b87f339c8503e332e3060183e43 deleted file mode 100644 index 6950296..0000000 --- a/RockOS/.git-backup/objects/01/27163fdfd01b87f339c8503e332e3060183e43 +++ /dev/null @@ -1,3 +0,0 @@ -xPN0eW* 1#00Yv}.''ύ -߱X*M ]`C/^gXCғhކ >tq!'X"F\Q2u o*0zu-~1Q{yQтd#Sc Cud4qLJQs2%^J-]kp>6 π@Ԣ?ŤȖšxr -!! \ No newline at end of file diff --git a/RockOS/.git-backup/objects/01/5b0ff3d4306bc3890c97f0cad186882b2fa2e1 b/RockOS/.git-backup/objects/01/5b0ff3d4306bc3890c97f0cad186882b2fa2e1 deleted file mode 100644 index 72277e1..0000000 Binary files a/RockOS/.git-backup/objects/01/5b0ff3d4306bc3890c97f0cad186882b2fa2e1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/01/70f10be8b6ee5f04356c1b94f581b6beedfb78 b/RockOS/.git-backup/objects/01/70f10be8b6ee5f04356c1b94f581b6beedfb78 deleted file mode 100644 index 0ce0274..0000000 Binary files a/RockOS/.git-backup/objects/01/70f10be8b6ee5f04356c1b94f581b6beedfb78 and /dev/null differ diff --git a/RockOS/.git-backup/objects/02/1e58a5c4d4e949acb109c531b08fd7805b544a b/RockOS/.git-backup/objects/02/1e58a5c4d4e949acb109c531b08fd7805b544a deleted file mode 100644 index a1a5a7d..0000000 Binary files a/RockOS/.git-backup/objects/02/1e58a5c4d4e949acb109c531b08fd7805b544a and /dev/null differ diff --git a/RockOS/.git-backup/objects/02/48aa77ed48e09a1fe26809974f7e5e073017a4 b/RockOS/.git-backup/objects/02/48aa77ed48e09a1fe26809974f7e5e073017a4 deleted file mode 100644 index 74bfc84..0000000 --- a/RockOS/.git-backup/objects/02/48aa77ed48e09a1fe26809974f7e5e073017a4 +++ /dev/null @@ -1,2 +0,0 @@ -x]K0}_qЗn91&:m"rM%mhcCMZ7)ww/e -EB^S|fBU,REk!ޑP]a},'o TM+Sc vpf7|%0 QUgRiM1-Rt:͂SnHF4hR"۔J*5&USr(ꌎjb/4J,r T^=GYֲJr[Ahy2]' P|"A۳:|K.H3{r]N 16Q$ r` \ No newline at end of file diff --git a/RockOS/.git-backup/objects/02/71c604d1f52c01118b6136819da105b195e3f6 b/RockOS/.git-backup/objects/02/71c604d1f52c01118b6136819da105b195e3f6 deleted file mode 100644 index 9731a3f..0000000 Binary files a/RockOS/.git-backup/objects/02/71c604d1f52c01118b6136819da105b195e3f6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/02/740d2fcabb4dbef1ae4e9a07984a1f33d25a50 b/RockOS/.git-backup/objects/02/740d2fcabb4dbef1ae4e9a07984a1f33d25a50 deleted file mode 100644 index ff7d8b7..0000000 Binary files a/RockOS/.git-backup/objects/02/740d2fcabb4dbef1ae4e9a07984a1f33d25a50 and /dev/null differ diff --git a/RockOS/.git-backup/objects/02/955f2a1e59488960eb5beaa8fb15029ab34f78 b/RockOS/.git-backup/objects/02/955f2a1e59488960eb5beaa8fb15029ab34f78 deleted file mode 100644 index ab2af4a..0000000 Binary files a/RockOS/.git-backup/objects/02/955f2a1e59488960eb5beaa8fb15029ab34f78 and /dev/null differ diff --git a/RockOS/.git-backup/objects/02/b490254d96d6d877db58311c0903c491465b62 b/RockOS/.git-backup/objects/02/b490254d96d6d877db58311c0903c491465b62 deleted file mode 100644 index 61d83ce..0000000 --- a/RockOS/.git-backup/objects/02/b490254d96d6d877db58311c0903c491465b62 +++ /dev/null @@ -1,2 +0,0 @@ -xT]o@mb"bJJ)RP}B&wN:*hAU{l'] zvvg^=LnߌSE@q/ A{ZhPA U EZ!Zy5+2QBHs(hǒ !STҜTԅ5TO!eLF\I)Y)2/fK09_f'EJ=o(GCʸ{3kPim(SHwׇ~6u \ No newline at end of file diff --git a/RockOS/.git-backup/objects/03/2a35206acc5e3139313183d354c5b988d4df3e b/RockOS/.git-backup/objects/03/2a35206acc5e3139313183d354c5b988d4df3e deleted file mode 100644 index 2d398d4..0000000 --- a/RockOS/.git-backup/objects/03/2a35206acc5e3139313183d354c5b988d4df3e +++ /dev/null @@ -1,2 +0,0 @@ -x[ -!@vn1V|\'ip,h8pbL&tȄf0.h+GCKr6 )ԋ@ (f=}}+-Tp_/%zX֠@~ ;7 ʥOD \ No newline at end of file diff --git a/RockOS/.git-backup/objects/03/d6e3c8409e084d1126175c06fc63665ef274d2 b/RockOS/.git-backup/objects/03/d6e3c8409e084d1126175c06fc63665ef274d2 deleted file mode 100644 index 6db4eaa..0000000 --- a/RockOS/.git-backup/objects/03/d6e3c8409e084d1126175c06fc63665ef274d2 +++ /dev/null @@ -1,3 +0,0 @@ -x0Et\BE, "iP@x``E.ҝ9wIVQwT: $E9Mh~eJUS=`1BZ@jC.!ZPƨ𤋮EE [Y -6vffV]ޤiB& gu>7wmxO$m \ No newline at end of file diff --git a/RockOS/.git-backup/objects/04/9de3c0d11548e79d8357f0bbc3613530eb71d6 b/RockOS/.git-backup/objects/04/9de3c0d11548e79d8357f0bbc3613530eb71d6 deleted file mode 100644 index 59f288b..0000000 --- a/RockOS/.git-backup/objects/04/9de3c0d11548e79d8357f0bbc3613530eb71d6 +++ /dev/null @@ -1,3 +0,0 @@ -x] -@E{Ġ@~-qwcwsSHa8Ʋ8m%ZZP ,> 0 - "C1WAfL_ϮxkEQ}nߘ\Z-`ə%P@v \ No newline at end of file diff --git a/RockOS/.git-backup/objects/04/af6b0ec5ff8d542a0d191f951cd1043d589ae1 b/RockOS/.git-backup/objects/04/af6b0ec5ff8d542a0d191f951cd1043d589ae1 deleted file mode 100644 index 89892dc..0000000 Binary files a/RockOS/.git-backup/objects/04/af6b0ec5ff8d542a0d191f951cd1043d589ae1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/04/df1fead56a9292ac5f531b7b6b54231d51c84a b/RockOS/.git-backup/objects/04/df1fead56a9292ac5f531b7b6b54231d51c84a deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/04/e4f3dff85078a65f8e3ac33c4ea650b99f9a93 b/RockOS/.git-backup/objects/04/e4f3dff85078a65f8e3ac33c4ea650b99f9a93 deleted file mode 100644 index 2fe9e43..0000000 Binary files a/RockOS/.git-backup/objects/04/e4f3dff85078a65f8e3ac33c4ea650b99f9a93 and /dev/null differ diff --git a/RockOS/.git-backup/objects/05/062fd3d394fb5be4782ab776d627ed9f95c15a b/RockOS/.git-backup/objects/05/062fd3d394fb5be4782ab776d627ed9f95c15a deleted file mode 100644 index 632062b..0000000 Binary files a/RockOS/.git-backup/objects/05/062fd3d394fb5be4782ab776d627ed9f95c15a and /dev/null differ diff --git a/RockOS/.git-backup/objects/05/6326c122719a38bce8d7c676d3d491c46a9a76 b/RockOS/.git-backup/objects/05/6326c122719a38bce8d7c676d3d491c46a9a76 deleted file mode 100644 index ef39ce1..0000000 Binary files a/RockOS/.git-backup/objects/05/6326c122719a38bce8d7c676d3d491c46a9a76 and /dev/null differ diff --git a/RockOS/.git-backup/objects/05/9aa9a948bd667b40d1f189ca2c8efdc3bbbc5f b/RockOS/.git-backup/objects/05/9aa9a948bd667b40d1f189ca2c8efdc3bbbc5f deleted file mode 100644 index c17b0b4..0000000 Binary files a/RockOS/.git-backup/objects/05/9aa9a948bd667b40d1f189ca2c8efdc3bbbc5f and /dev/null differ diff --git a/RockOS/.git-backup/objects/06/946d0f02e649e3cf4969876442e121c684b676 b/RockOS/.git-backup/objects/06/946d0f02e649e3cf4969876442e121c684b676 deleted file mode 100644 index 40a3fa3..0000000 --- a/RockOS/.git-backup/objects/06/946d0f02e649e3cf4969876442e121c684b676 +++ /dev/null @@ -1,4 +0,0 @@ -xU]@1MK O%15cǖwFilvC_/{x'>z;ՂMe nz:NKۄ-h<.*c,{a%ǟ7: -"|OӔ&Lwc ' Mx,S?7ei- Y@B<Q lg!ԷʭY')d&hik$I.y|W{BRcrPI -/UVN Q L:<}{ c n_,zW؋1Sa H^49QRQ;]5}?-@;sy \ No newline at end of file diff --git a/RockOS/.git-backup/objects/06/df64ad1a34d423be4b72617c35b8d7414ccb12 b/RockOS/.git-backup/objects/06/df64ad1a34d423be4b72617c35b8d7414ccb12 deleted file mode 100644 index 3cb1324..0000000 Binary files a/RockOS/.git-backup/objects/06/df64ad1a34d423be4b72617c35b8d7414ccb12 and /dev/null differ diff --git a/RockOS/.git-backup/objects/07/125acde834b7a47446cab453515e5373225a6a b/RockOS/.git-backup/objects/07/125acde834b7a47446cab453515e5373225a6a deleted file mode 100644 index ae78449..0000000 Binary files a/RockOS/.git-backup/objects/07/125acde834b7a47446cab453515e5373225a6a and /dev/null differ diff --git a/RockOS/.git-backup/objects/07/190974927e8e7332ac52630f4526ed8b1b2ce8 b/RockOS/.git-backup/objects/07/190974927e8e7332ac52630f4526ed8b1b2ce8 deleted file mode 100644 index 8390554..0000000 --- a/RockOS/.git-backup/objects/07/190974927e8e7332ac52630f4526ed8b1b2ce8 +++ /dev/null @@ -1,4 +0,0 @@ -xSQK0@ِ4S`s",ͤ6ҟoY2C徻/}.ۋIYeH$09n:<`b.*"v?'m맓-.mr]ykF?mu<6L|ǻLsʬ! 3Q `(hB0E]-`Fsu$},`f7*Y irֈ -Pv 0'z1,& -kM9f6ҵF4 - /[3 r.lÂns/c+7eJȈ$nxz?/]I vvsK?7'Fl3y+NSՠ$ԝrqI=iqJ8VyV[zcc3=V \ No newline at end of file diff --git a/RockOS/.git-backup/objects/07/b9232c3471721a05db84b4d2749b9e0916ff9a b/RockOS/.git-backup/objects/07/b9232c3471721a05db84b4d2749b9e0916ff9a deleted file mode 100644 index b6c038a..0000000 Binary files a/RockOS/.git-backup/objects/07/b9232c3471721a05db84b4d2749b9e0916ff9a and /dev/null differ diff --git a/RockOS/.git-backup/objects/07/d008faf8964c84be61f0f4930ebbb5f3b545a0 b/RockOS/.git-backup/objects/07/d008faf8964c84be61f0f4930ebbb5f3b545a0 deleted file mode 100644 index 8e04c51..0000000 Binary files a/RockOS/.git-backup/objects/07/d008faf8964c84be61f0f4930ebbb5f3b545a0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/07/fa93171fe10c2c7139f0209435f92023eca53a b/RockOS/.git-backup/objects/07/fa93171fe10c2c7139f0209435f92023eca53a deleted file mode 100644 index 4fdc27b..0000000 Binary files a/RockOS/.git-backup/objects/07/fa93171fe10c2c7139f0209435f92023eca53a and /dev/null differ diff --git a/RockOS/.git-backup/objects/08/77456edaa5aeec1446dd56bd86acb78b03c92e b/RockOS/.git-backup/objects/08/77456edaa5aeec1446dd56bd86acb78b03c92e deleted file mode 100644 index 08f7c40..0000000 Binary files a/RockOS/.git-backup/objects/08/77456edaa5aeec1446dd56bd86acb78b03c92e and /dev/null differ diff --git a/RockOS/.git-backup/objects/08/a2a0cef15614b32490f32f6e302326fb4d6ac4 b/RockOS/.git-backup/objects/08/a2a0cef15614b32490f32f6e302326fb4d6ac4 deleted file mode 100644 index 85292ed..0000000 Binary files a/RockOS/.git-backup/objects/08/a2a0cef15614b32490f32f6e302326fb4d6ac4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/08/f6cbf96d713481e0f36c570763a2100bc6a072 b/RockOS/.git-backup/objects/08/f6cbf96d713481e0f36c570763a2100bc6a072 deleted file mode 100644 index 4ae6c8c..0000000 Binary files a/RockOS/.git-backup/objects/08/f6cbf96d713481e0f36c570763a2100bc6a072 and /dev/null differ diff --git a/RockOS/.git-backup/objects/09/9ec5937b4c1b0c3b81d23caf6abe9587699e0a b/RockOS/.git-backup/objects/09/9ec5937b4c1b0c3b81d23caf6abe9587699e0a deleted file mode 100644 index b37f5be..0000000 Binary files a/RockOS/.git-backup/objects/09/9ec5937b4c1b0c3b81d23caf6abe9587699e0a and /dev/null differ diff --git a/RockOS/.git-backup/objects/09/e097c31d3379b6ff2f6cbe191f60eec961f810 b/RockOS/.git-backup/objects/09/e097c31d3379b6ff2f6cbe191f60eec961f810 deleted file mode 100644 index a4b339a..0000000 Binary files a/RockOS/.git-backup/objects/09/e097c31d3379b6ff2f6cbe191f60eec961f810 and /dev/null differ diff --git a/RockOS/.git-backup/objects/09/fddd3fb5dd4d5d6707176e0e6289a14b2f43bc b/RockOS/.git-backup/objects/09/fddd3fb5dd4d5d6707176e0e6289a14b2f43bc deleted file mode 100644 index 1ed3b85..0000000 Binary files a/RockOS/.git-backup/objects/09/fddd3fb5dd4d5d6707176e0e6289a14b2f43bc and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/0cf58b33dc085fb440296c311df56a6a8f719b b/RockOS/.git-backup/objects/0a/0cf58b33dc085fb440296c311df56a6a8f719b deleted file mode 100644 index d6fdca5..0000000 Binary files a/RockOS/.git-backup/objects/0a/0cf58b33dc085fb440296c311df56a6a8f719b and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/4b7d43b4eb5453f9eb6b065a5405cb8876dd21 b/RockOS/.git-backup/objects/0a/4b7d43b4eb5453f9eb6b065a5405cb8876dd21 deleted file mode 100644 index c395dbe..0000000 Binary files a/RockOS/.git-backup/objects/0a/4b7d43b4eb5453f9eb6b065a5405cb8876dd21 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/51a5e8bccfdb5e3d99438eb738a5e56ac37590 b/RockOS/.git-backup/objects/0a/51a5e8bccfdb5e3d99438eb738a5e56ac37590 deleted file mode 100644 index 8f2989a..0000000 Binary files a/RockOS/.git-backup/objects/0a/51a5e8bccfdb5e3d99438eb738a5e56ac37590 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/71eeef95b408c38e8beff3bfeb5bdc42a6e8bb b/RockOS/.git-backup/objects/0a/71eeef95b408c38e8beff3bfeb5bdc42a6e8bb deleted file mode 100644 index 7764554..0000000 Binary files a/RockOS/.git-backup/objects/0a/71eeef95b408c38e8beff3bfeb5bdc42a6e8bb and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/819518972b20c6d5df82de2bea8253cee85fd9 b/RockOS/.git-backup/objects/0a/819518972b20c6d5df82de2bea8253cee85fd9 deleted file mode 100644 index 89b4c4e..0000000 Binary files a/RockOS/.git-backup/objects/0a/819518972b20c6d5df82de2bea8253cee85fd9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/9ae5da83d22b248aca1290b4e0f834ae1ea5dc b/RockOS/.git-backup/objects/0a/9ae5da83d22b248aca1290b4e0f834ae1ea5dc deleted file mode 100644 index 2d1b4b4..0000000 Binary files a/RockOS/.git-backup/objects/0a/9ae5da83d22b248aca1290b4e0f834ae1ea5dc and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/d7525d28d6cf3533d9ca1dba8a2cb4bd267edd b/RockOS/.git-backup/objects/0a/d7525d28d6cf3533d9ca1dba8a2cb4bd267edd deleted file mode 100644 index 69de725..0000000 Binary files a/RockOS/.git-backup/objects/0a/d7525d28d6cf3533d9ca1dba8a2cb4bd267edd and /dev/null differ diff --git a/RockOS/.git-backup/objects/0a/e1a07f645183addfdb9fa4400225c582e29756 b/RockOS/.git-backup/objects/0a/e1a07f645183addfdb9fa4400225c582e29756 deleted file mode 100644 index 182e16a..0000000 Binary files a/RockOS/.git-backup/objects/0a/e1a07f645183addfdb9fa4400225c582e29756 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0b/98ac0273731d958307bd0a1cf4705ccd64d13d b/RockOS/.git-backup/objects/0b/98ac0273731d958307bd0a1cf4705ccd64d13d deleted file mode 100644 index 200df06..0000000 Binary files a/RockOS/.git-backup/objects/0b/98ac0273731d958307bd0a1cf4705ccd64d13d and /dev/null differ diff --git a/RockOS/.git-backup/objects/0b/e401df47284344bc97eb8551fa9e8dc5a4ad0f b/RockOS/.git-backup/objects/0b/e401df47284344bc97eb8551fa9e8dc5a4ad0f deleted file mode 100644 index ea71d95..0000000 Binary files a/RockOS/.git-backup/objects/0b/e401df47284344bc97eb8551fa9e8dc5a4ad0f and /dev/null differ diff --git a/RockOS/.git-backup/objects/0b/e6b789e50e9d2b657bf56de53867cde5c916be b/RockOS/.git-backup/objects/0b/e6b789e50e9d2b657bf56de53867cde5c916be deleted file mode 100644 index b546555..0000000 Binary files a/RockOS/.git-backup/objects/0b/e6b789e50e9d2b657bf56de53867cde5c916be and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/1844600599460bda07a2ca73d0ca41087a0a00 b/RockOS/.git-backup/objects/0c/1844600599460bda07a2ca73d0ca41087a0a00 deleted file mode 100644 index f6d308e..0000000 Binary files a/RockOS/.git-backup/objects/0c/1844600599460bda07a2ca73d0ca41087a0a00 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/1bb42c852d51e5ad94afc3c1cfa1e1ae19e51a b/RockOS/.git-backup/objects/0c/1bb42c852d51e5ad94afc3c1cfa1e1ae19e51a deleted file mode 100644 index bb1d4c1..0000000 Binary files a/RockOS/.git-backup/objects/0c/1bb42c852d51e5ad94afc3c1cfa1e1ae19e51a and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/721f5a3f81ec00255f469934b726e0fec58889 b/RockOS/.git-backup/objects/0c/721f5a3f81ec00255f469934b726e0fec58889 deleted file mode 100644 index f8fcd3d..0000000 --- a/RockOS/.git-backup/objects/0c/721f5a3f81ec00255f469934b726e0fec58889 +++ /dev/null @@ -1,5 +0,0 @@ -xU -0D=+zREP SӤd׊~i杍;<]Yx*" R[qD47"V^{{sZAlc,1N -eOE' ,B[X -EM.=4=uVb֠0f^#Z[^"] -'?[ c7m \ No newline at end of file diff --git a/RockOS/.git-backup/objects/0c/a899e8c468feaab5c412eb17ac63ee073e923b b/RockOS/.git-backup/objects/0c/a899e8c468feaab5c412eb17ac63ee073e923b deleted file mode 100644 index 3182d8b..0000000 Binary files a/RockOS/.git-backup/objects/0c/a899e8c468feaab5c412eb17ac63ee073e923b and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/b7311911cc37bfa99efeddaaca706d9b8490f6 b/RockOS/.git-backup/objects/0c/b7311911cc37bfa99efeddaaca706d9b8490f6 deleted file mode 100644 index c4c0ada..0000000 Binary files a/RockOS/.git-backup/objects/0c/b7311911cc37bfa99efeddaaca706d9b8490f6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/c991b02f0a81db433c910dd4a7f52cb32f579d b/RockOS/.git-backup/objects/0c/c991b02f0a81db433c910dd4a7f52cb32f579d deleted file mode 100644 index c5bc880..0000000 Binary files a/RockOS/.git-backup/objects/0c/c991b02f0a81db433c910dd4a7f52cb32f579d and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/d97ab126ba2124f4b2bbbc6da479e8d64bf8ee b/RockOS/.git-backup/objects/0c/d97ab126ba2124f4b2bbbc6da479e8d64bf8ee deleted file mode 100644 index 4f5eaaa..0000000 Binary files a/RockOS/.git-backup/objects/0c/d97ab126ba2124f4b2bbbc6da479e8d64bf8ee and /dev/null differ diff --git a/RockOS/.git-backup/objects/0c/e43718569d1e586b56b422feeaef1b1f4152bd b/RockOS/.git-backup/objects/0c/e43718569d1e586b56b422feeaef1b1f4152bd deleted file mode 100644 index 5bcc503..0000000 Binary files a/RockOS/.git-backup/objects/0c/e43718569d1e586b56b422feeaef1b1f4152bd and /dev/null differ diff --git a/RockOS/.git-backup/objects/0d/3aa65b00d0056910409bedb9de26a8ce1c10ca b/RockOS/.git-backup/objects/0d/3aa65b00d0056910409bedb9de26a8ce1c10ca deleted file mode 100644 index eea0264..0000000 Binary files a/RockOS/.git-backup/objects/0d/3aa65b00d0056910409bedb9de26a8ce1c10ca and /dev/null differ diff --git a/RockOS/.git-backup/objects/0d/8e4bf278684da1b072dd408c0aaf238552f59b b/RockOS/.git-backup/objects/0d/8e4bf278684da1b072dd408c0aaf238552f59b deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/0d/bbd48977257c6940d38511957aeb2ac63d6cda b/RockOS/.git-backup/objects/0d/bbd48977257c6940d38511957aeb2ac63d6cda deleted file mode 100644 index f416d9b..0000000 Binary files a/RockOS/.git-backup/objects/0d/bbd48977257c6940d38511957aeb2ac63d6cda and /dev/null differ diff --git a/RockOS/.git-backup/objects/0d/e8320019b171458c7ac432bcecf09ca029ba9c b/RockOS/.git-backup/objects/0d/e8320019b171458c7ac432bcecf09ca029ba9c deleted file mode 100644 index 1079098..0000000 Binary files a/RockOS/.git-backup/objects/0d/e8320019b171458c7ac432bcecf09ca029ba9c and /dev/null differ diff --git a/RockOS/.git-backup/objects/0e/21fe32f2a52aa0d9871f88322c587cacca0cfe b/RockOS/.git-backup/objects/0e/21fe32f2a52aa0d9871f88322c587cacca0cfe deleted file mode 100644 index 3ae8036..0000000 Binary files a/RockOS/.git-backup/objects/0e/21fe32f2a52aa0d9871f88322c587cacca0cfe and /dev/null differ diff --git a/RockOS/.git-backup/objects/0e/2dcba0d79b5a5dc8025dce970bf451d1f6d2d2 b/RockOS/.git-backup/objects/0e/2dcba0d79b5a5dc8025dce970bf451d1f6d2d2 deleted file mode 100644 index 3b2e071..0000000 Binary files a/RockOS/.git-backup/objects/0e/2dcba0d79b5a5dc8025dce970bf451d1f6d2d2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0e/41fab0dcd89a3fc4284b967023048b4245b579 b/RockOS/.git-backup/objects/0e/41fab0dcd89a3fc4284b967023048b4245b579 deleted file mode 100644 index 455d7dc..0000000 Binary files a/RockOS/.git-backup/objects/0e/41fab0dcd89a3fc4284b967023048b4245b579 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0e/5bc83e59fcf3b3341e53930a2f06a087fbab79 b/RockOS/.git-backup/objects/0e/5bc83e59fcf3b3341e53930a2f06a087fbab79 deleted file mode 100644 index 16cc783..0000000 Binary files a/RockOS/.git-backup/objects/0e/5bc83e59fcf3b3341e53930a2f06a087fbab79 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0e/9f2485a621475d9dea907b1a4ac7fcc8a36317 b/RockOS/.git-backup/objects/0e/9f2485a621475d9dea907b1a4ac7fcc8a36317 deleted file mode 100644 index 3c3eb5d..0000000 Binary files a/RockOS/.git-backup/objects/0e/9f2485a621475d9dea907b1a4ac7fcc8a36317 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0e/bd0d3d2695c998170be0c1c5066af6c3af0272 b/RockOS/.git-backup/objects/0e/bd0d3d2695c998170be0c1c5066af6c3af0272 deleted file mode 100644 index a1fc1e2..0000000 Binary files a/RockOS/.git-backup/objects/0e/bd0d3d2695c998170be0c1c5066af6c3af0272 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0f/465a02e0aa49eba6aaac86ce50b6919e55ea14 b/RockOS/.git-backup/objects/0f/465a02e0aa49eba6aaac86ce50b6919e55ea14 deleted file mode 100644 index 28cbfbe..0000000 Binary files a/RockOS/.git-backup/objects/0f/465a02e0aa49eba6aaac86ce50b6919e55ea14 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0f/51944fac77df4e4111da70617ace732d5354b8 b/RockOS/.git-backup/objects/0f/51944fac77df4e4111da70617ace732d5354b8 deleted file mode 100644 index 16095b0..0000000 Binary files a/RockOS/.git-backup/objects/0f/51944fac77df4e4111da70617ace732d5354b8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0f/84acde302a1f01e52a9d504a188b14ed4819a2 b/RockOS/.git-backup/objects/0f/84acde302a1f01e52a9d504a188b14ed4819a2 deleted file mode 100644 index cdeaf4a..0000000 Binary files a/RockOS/.git-backup/objects/0f/84acde302a1f01e52a9d504a188b14ed4819a2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/0f/907c75a13f92a019fb41a234c02845d61c95a2 b/RockOS/.git-backup/objects/0f/907c75a13f92a019fb41a234c02845d61c95a2 deleted file mode 100644 index a225d1f..0000000 --- a/RockOS/.git-backup/objects/0f/907c75a13f92a019fb41a234c02845d61c95a2 +++ /dev/null @@ -1 +0,0 @@ -x+)JMU022g040031QH-Iҹy)zYy m7^vշgʯ2@/fhdːn;+g|]UZ| yj1l>\*MKf$we~])+g$*SӀNcO z?S/ ^Hs-'TMqeqrbNРA_n.ɽhҥs\Z \ No newline at end of file diff --git a/RockOS/.git-backup/objects/10/4747b76ba7d8cf8ddaf740ec0f108ce2071679 b/RockOS/.git-backup/objects/10/4747b76ba7d8cf8ddaf740ec0f108ce2071679 deleted file mode 100644 index 993f290..0000000 Binary files a/RockOS/.git-backup/objects/10/4747b76ba7d8cf8ddaf740ec0f108ce2071679 and /dev/null differ diff --git a/RockOS/.git-backup/objects/10/48b2b7c1f19ea8b29ecc84ed7f9ac96b88695c b/RockOS/.git-backup/objects/10/48b2b7c1f19ea8b29ecc84ed7f9ac96b88695c deleted file mode 100644 index 02a6e0a..0000000 Binary files a/RockOS/.git-backup/objects/10/48b2b7c1f19ea8b29ecc84ed7f9ac96b88695c and /dev/null differ diff --git a/RockOS/.git-backup/objects/10/d8a8b45a4030942bbe78f4ec49a64c97e31e4d b/RockOS/.git-backup/objects/10/d8a8b45a4030942bbe78f4ec49a64c97e31e4d deleted file mode 100644 index 7060751..0000000 Binary files a/RockOS/.git-backup/objects/10/d8a8b45a4030942bbe78f4ec49a64c97e31e4d and /dev/null differ diff --git a/RockOS/.git-backup/objects/10/fff88e826234cbc6055063c32fd58b7c5edb67 b/RockOS/.git-backup/objects/10/fff88e826234cbc6055063c32fd58b7c5edb67 deleted file mode 100644 index b5cfae1..0000000 Binary files a/RockOS/.git-backup/objects/10/fff88e826234cbc6055063c32fd58b7c5edb67 and /dev/null differ diff --git a/RockOS/.git-backup/objects/11/80bb0509f76735721db1d45402e318836cfdcc b/RockOS/.git-backup/objects/11/80bb0509f76735721db1d45402e318836cfdcc deleted file mode 100644 index 0586007..0000000 Binary files a/RockOS/.git-backup/objects/11/80bb0509f76735721db1d45402e318836cfdcc and /dev/null differ diff --git a/RockOS/.git-backup/objects/11/93adf709ee01f13b33ee919e4db281b4786b64 b/RockOS/.git-backup/objects/11/93adf709ee01f13b33ee919e4db281b4786b64 deleted file mode 100644 index 9c753cb..0000000 Binary files a/RockOS/.git-backup/objects/11/93adf709ee01f13b33ee919e4db281b4786b64 and /dev/null differ diff --git a/RockOS/.git-backup/objects/11/abdb29905d70fe26d42befb125e53029231521 b/RockOS/.git-backup/objects/11/abdb29905d70fe26d42befb125e53029231521 deleted file mode 100644 index 2f325c0..0000000 Binary files a/RockOS/.git-backup/objects/11/abdb29905d70fe26d42befb125e53029231521 and /dev/null differ diff --git a/RockOS/.git-backup/objects/11/b04b3fb452a9227ff8f421fd1a03a5892f0d3c b/RockOS/.git-backup/objects/11/b04b3fb452a9227ff8f421fd1a03a5892f0d3c deleted file mode 100644 index 04aa5d3..0000000 Binary files a/RockOS/.git-backup/objects/11/b04b3fb452a9227ff8f421fd1a03a5892f0d3c and /dev/null differ diff --git a/RockOS/.git-backup/objects/11/f7f2dbca3c20b205adf59113a7fe9739b527b8 b/RockOS/.git-backup/objects/11/f7f2dbca3c20b205adf59113a7fe9739b527b8 deleted file mode 100644 index 183d4d3..0000000 --- a/RockOS/.git-backup/objects/11/f7f2dbca3c20b205adf59113a7fe9739b527b8 +++ /dev/null @@ -1,3 +0,0 @@ -x] -0E]+QQTAEQn\6bL"nwܼHFa~;i*, -6XG,F^!)mw0F7[4waCrbϓٱ[r3Y*9(#4kU^Wx(VGU! 94®D U:hm&Ϩ:_W< b9 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/12/550b7ee2fade3ef7de7636bb2a1b6e1e9de192 b/RockOS/.git-backup/objects/12/550b7ee2fade3ef7de7636bb2a1b6e1e9de192 deleted file mode 100644 index 4bdbe7c..0000000 Binary files a/RockOS/.git-backup/objects/12/550b7ee2fade3ef7de7636bb2a1b6e1e9de192 and /dev/null differ diff --git a/RockOS/.git-backup/objects/12/c112ba80b1c7506a8fb60f3fc551504ec7e5ba b/RockOS/.git-backup/objects/12/c112ba80b1c7506a8fb60f3fc551504ec7e5ba deleted file mode 100644 index ce362e4..0000000 Binary files a/RockOS/.git-backup/objects/12/c112ba80b1c7506a8fb60f3fc551504ec7e5ba and /dev/null differ diff --git a/RockOS/.git-backup/objects/12/d8ce02dd994ed2ffa55b313b43b89996e5fe52 b/RockOS/.git-backup/objects/12/d8ce02dd994ed2ffa55b313b43b89996e5fe52 deleted file mode 100644 index d5a4102..0000000 --- a/RockOS/.git-backup/objects/12/d8ce02dd994ed2ffa55b313b43b89996e5fe52 +++ /dev/null @@ -1,4 +0,0 @@ -xSˎ@̙u[~q6xQfu<=3Z+^rzꪮ81>|͠UF$)]L>:h;e湉`)a^_a,acxd}{{N2JqQkhRQH8u q ƖgY -/VY(pOl 1_,YdT4BKkh)|?,wtKw~K~̂txlRUڷ/ -3Eƒ39m55)O[ +nâ) 3.|.X -:6ڸ4&YVP(1EΞnxl0 e/{.A(Jx"k45=7Rn{{puʄ&oB!Ixbri\PV"[Uq%RT|i4Q2WPX#G ž}V뮚Or \ No newline at end of file diff --git a/RockOS/.git-backup/objects/13/be220b6a96f349566730c44395d9448bd6ed03 b/RockOS/.git-backup/objects/13/be220b6a96f349566730c44395d9448bd6ed03 deleted file mode 100644 index 07a4351..0000000 Binary files a/RockOS/.git-backup/objects/13/be220b6a96f349566730c44395d9448bd6ed03 and /dev/null differ diff --git a/RockOS/.git-backup/objects/13/cfa2d023b8a7d3e1466a878298a0f066d3ce53 b/RockOS/.git-backup/objects/13/cfa2d023b8a7d3e1466a878298a0f066d3ce53 deleted file mode 100644 index 3e7b8f5..0000000 Binary files a/RockOS/.git-backup/objects/13/cfa2d023b8a7d3e1466a878298a0f066d3ce53 and /dev/null differ diff --git a/RockOS/.git-backup/objects/14/0a2cf1a13840d6680e97314d3f37d2daedd7b7 b/RockOS/.git-backup/objects/14/0a2cf1a13840d6680e97314d3f37d2daedd7b7 deleted file mode 100644 index b54e7d0..0000000 Binary files a/RockOS/.git-backup/objects/14/0a2cf1a13840d6680e97314d3f37d2daedd7b7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/14/5fcdd9bce96e24eb5bbcc1c7bc865d511a5982 b/RockOS/.git-backup/objects/14/5fcdd9bce96e24eb5bbcc1c7bc865d511a5982 deleted file mode 100644 index ae47644..0000000 Binary files a/RockOS/.git-backup/objects/14/5fcdd9bce96e24eb5bbcc1c7bc865d511a5982 and /dev/null differ diff --git a/RockOS/.git-backup/objects/14/60f59bfd9ec6b712dfd18e95653b8c58249d78 b/RockOS/.git-backup/objects/14/60f59bfd9ec6b712dfd18e95653b8c58249d78 deleted file mode 100644 index 347ff13..0000000 Binary files a/RockOS/.git-backup/objects/14/60f59bfd9ec6b712dfd18e95653b8c58249d78 and /dev/null differ diff --git a/RockOS/.git-backup/objects/14/7298c0b9ec1705b641eaf3b6bf6264b688666a b/RockOS/.git-backup/objects/14/7298c0b9ec1705b641eaf3b6bf6264b688666a deleted file mode 100644 index 0699e28..0000000 Binary files a/RockOS/.git-backup/objects/14/7298c0b9ec1705b641eaf3b6bf6264b688666a and /dev/null differ diff --git a/RockOS/.git-backup/objects/14/bc51b3e7aae5ef783f5481f8dde233612371bc b/RockOS/.git-backup/objects/14/bc51b3e7aae5ef783f5481f8dde233612371bc deleted file mode 100644 index cd4b1d2..0000000 --- a/RockOS/.git-backup/objects/14/bc51b3e7aae5ef783f5481f8dde233612371bc +++ /dev/null @@ -1 +0,0 @@ -xPj0Y_kL/(V(P'HDX^|}ײ'vfgv8ǫvdyS@Kxƨ’v{X7KN,pO=qh8M>^NXS+HкKp zs޵*aNg-/>bsHg$YNӜ&`p*"\{lȲӷy[^w5cJU/E \ No newline at end of file diff --git a/RockOS/.git-backup/objects/14/e037845a24bbb064266c81e767be05c00ce81c b/RockOS/.git-backup/objects/14/e037845a24bbb064266c81e767be05c00ce81c deleted file mode 100644 index 54ffbe0..0000000 Binary files a/RockOS/.git-backup/objects/14/e037845a24bbb064266c81e767be05c00ce81c and /dev/null differ diff --git a/RockOS/.git-backup/objects/15/3d380d763ff23f3d95514d7ca1b98da8e75287 b/RockOS/.git-backup/objects/15/3d380d763ff23f3d95514d7ca1b98da8e75287 deleted file mode 100644 index 3391921..0000000 --- a/RockOS/.git-backup/objects/15/3d380d763ff23f3d95514d7ca1b98da8e75287 +++ /dev/null @@ -1,2 +0,0 @@ -xm]K0ίfC*2v~&E=ۨamLF3Kd2Ηb 6"I^@'JB iL5d<;7]&!pk:`1|gȇm~-s".dGrR\H㓫AmβW isph-(BYì --qKJF%>՗3Y=5:P4w~ ^M9e_zm%8 BzQ˭rjבW \ No newline at end of file diff --git a/RockOS/.git-backup/objects/17/ce907e20e1000a94365d512cc5a321ca52589b b/RockOS/.git-backup/objects/17/ce907e20e1000a94365d512cc5a321ca52589b deleted file mode 100644 index 9fe27ed..0000000 Binary files a/RockOS/.git-backup/objects/17/ce907e20e1000a94365d512cc5a321ca52589b and /dev/null differ diff --git a/RockOS/.git-backup/objects/18/14e83a0bf972011b4b647feb6043247b08684d b/RockOS/.git-backup/objects/18/14e83a0bf972011b4b647feb6043247b08684d deleted file mode 100644 index c79dfe8..0000000 Binary files a/RockOS/.git-backup/objects/18/14e83a0bf972011b4b647feb6043247b08684d and /dev/null differ diff --git a/RockOS/.git-backup/objects/18/f1e9a0d69cd4f5455339d26c206d15a7b79aba b/RockOS/.git-backup/objects/18/f1e9a0d69cd4f5455339d26c206d15a7b79aba deleted file mode 100644 index 34c542c..0000000 Binary files a/RockOS/.git-backup/objects/18/f1e9a0d69cd4f5455339d26c206d15a7b79aba and /dev/null differ diff --git a/RockOS/.git-backup/objects/19/057062c0dfff5dd6315ea07fe5d245e53d18ba b/RockOS/.git-backup/objects/19/057062c0dfff5dd6315ea07fe5d245e53d18ba deleted file mode 100644 index 2ae129b..0000000 Binary files a/RockOS/.git-backup/objects/19/057062c0dfff5dd6315ea07fe5d245e53d18ba and /dev/null differ diff --git a/RockOS/.git-backup/objects/1a/1e6a42bf9688c4ab354e25a3047efda5601e05 b/RockOS/.git-backup/objects/1a/1e6a42bf9688c4ab354e25a3047efda5601e05 deleted file mode 100644 index b005c40..0000000 Binary files a/RockOS/.git-backup/objects/1a/1e6a42bf9688c4ab354e25a3047efda5601e05 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1a/4f77bf372488dec3f838260ce4fdc95f200f8b b/RockOS/.git-backup/objects/1a/4f77bf372488dec3f838260ce4fdc95f200f8b deleted file mode 100644 index ae2bfb8..0000000 Binary files a/RockOS/.git-backup/objects/1a/4f77bf372488dec3f838260ce4fdc95f200f8b and /dev/null differ diff --git a/RockOS/.git-backup/objects/1a/656d6ef46398de91674b823a2030753067dac2 b/RockOS/.git-backup/objects/1a/656d6ef46398de91674b823a2030753067dac2 deleted file mode 100644 index a0ee672..0000000 Binary files a/RockOS/.git-backup/objects/1a/656d6ef46398de91674b823a2030753067dac2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1a/a8749aef63cf2b3f12667fd111bc28c35174ae b/RockOS/.git-backup/objects/1a/a8749aef63cf2b3f12667fd111bc28c35174ae deleted file mode 100644 index f3a6c11..0000000 Binary files a/RockOS/.git-backup/objects/1a/a8749aef63cf2b3f12667fd111bc28c35174ae and /dev/null differ diff --git a/RockOS/.git-backup/objects/1a/d3c66099edae6ae2a4b14d0a1cebbda2a177b2 b/RockOS/.git-backup/objects/1a/d3c66099edae6ae2a4b14d0a1cebbda2a177b2 deleted file mode 100644 index b40ef80..0000000 Binary files a/RockOS/.git-backup/objects/1a/d3c66099edae6ae2a4b14d0a1cebbda2a177b2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/02fb12e7257c1befe6d54f7aac87bf493ab939 b/RockOS/.git-backup/objects/1b/02fb12e7257c1befe6d54f7aac87bf493ab939 deleted file mode 100644 index bd502c3..0000000 Binary files a/RockOS/.git-backup/objects/1b/02fb12e7257c1befe6d54f7aac87bf493ab939 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/10b302af6a6d9c6d207e98b110f40dd6d94921 b/RockOS/.git-backup/objects/1b/10b302af6a6d9c6d207e98b110f40dd6d94921 deleted file mode 100644 index 65b5882..0000000 Binary files a/RockOS/.git-backup/objects/1b/10b302af6a6d9c6d207e98b110f40dd6d94921 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/18673a674495947b764d0954077f7b9e83bc3a b/RockOS/.git-backup/objects/1b/18673a674495947b764d0954077f7b9e83bc3a deleted file mode 100644 index b26ea20..0000000 Binary files a/RockOS/.git-backup/objects/1b/18673a674495947b764d0954077f7b9e83bc3a and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/714f7f4dd22a36390c9aab82ff64e3a21575ba b/RockOS/.git-backup/objects/1b/714f7f4dd22a36390c9aab82ff64e3a21575ba deleted file mode 100644 index ba2dc76..0000000 Binary files a/RockOS/.git-backup/objects/1b/714f7f4dd22a36390c9aab82ff64e3a21575ba and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/9d5f5c73306cf8b9ed220d7919c8828820d05e b/RockOS/.git-backup/objects/1b/9d5f5c73306cf8b9ed220d7919c8828820d05e deleted file mode 100644 index 1c209af..0000000 Binary files a/RockOS/.git-backup/objects/1b/9d5f5c73306cf8b9ed220d7919c8828820d05e and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/bddc1422e640f543a16f29634e031404f7de51 b/RockOS/.git-backup/objects/1b/bddc1422e640f543a16f29634e031404f7de51 deleted file mode 100644 index 23e7aca..0000000 Binary files a/RockOS/.git-backup/objects/1b/bddc1422e640f543a16f29634e031404f7de51 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/c23d04aece6ae5dcca1b4df761661b3c852512 b/RockOS/.git-backup/objects/1b/c23d04aece6ae5dcca1b4df761661b3c852512 deleted file mode 100644 index 5498d29..0000000 Binary files a/RockOS/.git-backup/objects/1b/c23d04aece6ae5dcca1b4df761661b3c852512 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1b/dde86b030af623ef5674b322355adc60631f5b b/RockOS/.git-backup/objects/1b/dde86b030af623ef5674b322355adc60631f5b deleted file mode 100644 index 0b840ad..0000000 Binary files a/RockOS/.git-backup/objects/1b/dde86b030af623ef5674b322355adc60631f5b and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/1659cf3967e2291a56991c13f35326e2f86e54 b/RockOS/.git-backup/objects/1c/1659cf3967e2291a56991c13f35326e2f86e54 deleted file mode 100644 index 29e2143..0000000 Binary files a/RockOS/.git-backup/objects/1c/1659cf3967e2291a56991c13f35326e2f86e54 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/4b4b8fac9961ae73424221c1cac1e620c60417 b/RockOS/.git-backup/objects/1c/4b4b8fac9961ae73424221c1cac1e620c60417 deleted file mode 100644 index 8cbdc5c..0000000 Binary files a/RockOS/.git-backup/objects/1c/4b4b8fac9961ae73424221c1cac1e620c60417 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/5a58c1723276c9b1d4ae1674b8b9316778f78e b/RockOS/.git-backup/objects/1c/5a58c1723276c9b1d4ae1674b8b9316778f78e deleted file mode 100644 index 64d9933..0000000 Binary files a/RockOS/.git-backup/objects/1c/5a58c1723276c9b1d4ae1674b8b9316778f78e and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/748d05c91cacb4e0c07982e80520f53e28a40a b/RockOS/.git-backup/objects/1c/748d05c91cacb4e0c07982e80520f53e28a40a deleted file mode 100644 index d07bea3..0000000 Binary files a/RockOS/.git-backup/objects/1c/748d05c91cacb4e0c07982e80520f53e28a40a and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/85238bda5feeefe2ba5ce19fb54dfc8f4f8a6a b/RockOS/.git-backup/objects/1c/85238bda5feeefe2ba5ce19fb54dfc8f4f8a6a deleted file mode 100644 index 935b408..0000000 Binary files a/RockOS/.git-backup/objects/1c/85238bda5feeefe2ba5ce19fb54dfc8f4f8a6a and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/d8759975378788846b4d8b361b250c4866713a b/RockOS/.git-backup/objects/1c/d8759975378788846b4d8b361b250c4866713a deleted file mode 100644 index 1b0bd09..0000000 Binary files a/RockOS/.git-backup/objects/1c/d8759975378788846b4d8b361b250c4866713a and /dev/null differ diff --git a/RockOS/.git-backup/objects/1c/e64fa56085da7c1cdc6a785b931834cd7ff702 b/RockOS/.git-backup/objects/1c/e64fa56085da7c1cdc6a785b931834cd7ff702 deleted file mode 100644 index 31bcb38..0000000 --- a/RockOS/.git-backup/objects/1c/e64fa56085da7c1cdc6a785b931834cd7ff702 +++ /dev/null @@ -1,2 +0,0 @@ -x10Fap3^G -*_\6Hۙv@&QC\Xj\{Y>2n \ No newline at end of file diff --git a/RockOS/.git-backup/objects/1d/03d11042910caf7346544959e06e53dc33bacf b/RockOS/.git-backup/objects/1d/03d11042910caf7346544959e06e53dc33bacf deleted file mode 100644 index 6314d73..0000000 Binary files a/RockOS/.git-backup/objects/1d/03d11042910caf7346544959e06e53dc33bacf and /dev/null differ diff --git a/RockOS/.git-backup/objects/1d/08ffacdfc701a5e8adec7f57936786cd8d55f5 b/RockOS/.git-backup/objects/1d/08ffacdfc701a5e8adec7f57936786cd8d55f5 deleted file mode 100644 index 0cc0574..0000000 Binary files a/RockOS/.git-backup/objects/1d/08ffacdfc701a5e8adec7f57936786cd8d55f5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1d/a70c208ed0ceb98256d14f9eb5f13ff2b074b2 b/RockOS/.git-backup/objects/1d/a70c208ed0ceb98256d14f9eb5f13ff2b074b2 deleted file mode 100644 index ce17e35..0000000 Binary files a/RockOS/.git-backup/objects/1d/a70c208ed0ceb98256d14f9eb5f13ff2b074b2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1d/a74173e983df153a122c0f9d686c04f4ab6923 b/RockOS/.git-backup/objects/1d/a74173e983df153a122c0f9d686c04f4ab6923 deleted file mode 100644 index fe125e7..0000000 Binary files a/RockOS/.git-backup/objects/1d/a74173e983df153a122c0f9d686c04f4ab6923 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1d/c0da919c72eb2f07603e14fff4cd06a51130b0 b/RockOS/.git-backup/objects/1d/c0da919c72eb2f07603e14fff4cd06a51130b0 deleted file mode 100644 index 3298999..0000000 --- a/RockOS/.git-backup/objects/1d/c0da919c72eb2f07603e14fff4cd06a51130b0 +++ /dev/null @@ -1 +0,0 @@ -xK0}_qTQdm 6=\0M%I7{Ib_\|"hoTs)p~hC OK%@}2]M PbT(J ĥlgz=ɝwA=WvS8N4gyV_!QTz7>mEao.p G{Vg~(xgNk4GѴ8@Ҫ9^lRqÜ, -68du!)ghHYȘXp0Vk XWf aM=Ŭ, Z\ݏ'mDU߼Vg6u , \ No newline at end of file diff --git a/RockOS/.git-backup/objects/1e/18b2d687204867e4923ca8809a915c9f34aa2f b/RockOS/.git-backup/objects/1e/18b2d687204867e4923ca8809a915c9f34aa2f deleted file mode 100644 index 79eaca7..0000000 Binary files a/RockOS/.git-backup/objects/1e/18b2d687204867e4923ca8809a915c9f34aa2f and /dev/null differ diff --git a/RockOS/.git-backup/objects/1e/2d0f8bc8b447f9e47ec9823691b973aee46a1b b/RockOS/.git-backup/objects/1e/2d0f8bc8b447f9e47ec9823691b973aee46a1b deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/1f/679ecafbf6af93713ab3a453e12bf5293e1436 b/RockOS/.git-backup/objects/1f/679ecafbf6af93713ab3a453e12bf5293e1436 deleted file mode 100644 index 3d61a84..0000000 Binary files a/RockOS/.git-backup/objects/1f/679ecafbf6af93713ab3a453e12bf5293e1436 and /dev/null differ diff --git a/RockOS/.git-backup/objects/1f/f4d32c8991fd602e14ddcd5ea9823b4f65cb67 b/RockOS/.git-backup/objects/1f/f4d32c8991fd602e14ddcd5ea9823b4f65cb67 deleted file mode 100644 index fa2a964..0000000 Binary files a/RockOS/.git-backup/objects/1f/f4d32c8991fd602e14ddcd5ea9823b4f65cb67 and /dev/null differ diff --git a/RockOS/.git-backup/objects/20/16675c02393343bdaf815de1f35fb2a20523bb b/RockOS/.git-backup/objects/20/16675c02393343bdaf815de1f35fb2a20523bb deleted file mode 100644 index 66bb2e9..0000000 --- a/RockOS/.git-backup/objects/20/16675c02393343bdaf815de1f35fb2a20523bb +++ /dev/null @@ -1,2 +0,0 @@ -xm -0{ާC -DX_FhBb߾Yb6.Xyy=6Ti4hlj'[ΓV!`{w/&sUQf'lUPoxn5OৢQZ hTQ]6O!/QrޣB]\ω8O,U;1ԎQ`Y%8THֵI֫am:^pC Q)渵v-6Z𝽸t٫ޙK+/WYKFxPQ5ك7$<]}w0ܧ;܏k>e1kZϬwrF8;ܡ;}Iz~,<{Qxe\m!ҌOkKy@bn&ZRj͖b>z/*^: \ No newline at end of file diff --git a/RockOS/.git-backup/objects/20/616d0dd4baab593f2acdc607ac9ee48bef1f76 b/RockOS/.git-backup/objects/20/616d0dd4baab593f2acdc607ac9ee48bef1f76 deleted file mode 100644 index a3530bf..0000000 --- a/RockOS/.git-backup/objects/20/616d0dd4baab593f2acdc607ac9ee48bef1f76 +++ /dev/null @@ -1,3 +0,0 @@ -xU -0T)*PIq5cZoo8p~.@1_M۞,E Y"!Lε -ϛ(_ hkKe!xt1<wͫz|t'4uaP $h5OX \ No newline at end of file diff --git a/RockOS/.git-backup/objects/20/9a9775faf7ee63469c9b345ecb84be53864908 b/RockOS/.git-backup/objects/20/9a9775faf7ee63469c9b345ecb84be53864908 deleted file mode 100644 index 5d791e3..0000000 Binary files a/RockOS/.git-backup/objects/20/9a9775faf7ee63469c9b345ecb84be53864908 and /dev/null differ diff --git a/RockOS/.git-backup/objects/21/2b4f3a0505e226fc55d4a53cd46aff3c881414 b/RockOS/.git-backup/objects/21/2b4f3a0505e226fc55d4a53cd46aff3c881414 deleted file mode 100644 index 3cbd83e..0000000 Binary files a/RockOS/.git-backup/objects/21/2b4f3a0505e226fc55d4a53cd46aff3c881414 and /dev/null differ diff --git a/RockOS/.git-backup/objects/21/303ab73196575f2262d078b1b1af52350781d9 b/RockOS/.git-backup/objects/21/303ab73196575f2262d078b1b1af52350781d9 deleted file mode 100644 index d8757d6..0000000 Binary files a/RockOS/.git-backup/objects/21/303ab73196575f2262d078b1b1af52350781d9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/21/d3c5f50210d98055214f07e609412afa306ba4 b/RockOS/.git-backup/objects/21/d3c5f50210d98055214f07e609412afa306ba4 deleted file mode 100644 index 27338ba..0000000 Binary files a/RockOS/.git-backup/objects/21/d3c5f50210d98055214f07e609412afa306ba4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/21/db4f58d89f9302756dcd569bbb9247427c7b7e b/RockOS/.git-backup/objects/21/db4f58d89f9302756dcd569bbb9247427c7b7e deleted file mode 100644 index 9458968..0000000 --- a/RockOS/.git-backup/objects/21/db4f58d89f9302756dcd569bbb9247427c7b7e +++ /dev/null @@ -1,9 +0,0 @@ -xUmo0s)(ZִMcCEn;hmDӳ{|wzѳReyDF*rq 'P<Zfq4*=Lx*ygGk Vkvz<M:Sed*Cz\vAXZ&%+S^opZ2Z؛n#N1ancI3cfB"MΦ0 xu͘J a- -{=w0?(/pQӸNA-nIЋ06ډIU6F1*\Utϱ vvVt b_&>f -|  |ȯu @> -d`0 )&!$$lo}' -ΨFжVf1l;Y;vSFj2α -kz3[`\QngfЅv?DLOO`| O>)u_ K*,ؓ%CO/wav M80^fڧ\`[Hvk_]7d)~ذtDJ) -R*@r%E:g^`I>@[\\+z%^PJlGxF:ġA{K[#^Ѓv< -z nF5 I/F?R -p3odLsaKR ?r5S裄z#Zp&ד8Tj99jrc r>$Wl;Gg \ No newline at end of file diff --git a/RockOS/.git-backup/objects/22/24fc4587fc93e32e92ebd41f6b69878b553ea0 b/RockOS/.git-backup/objects/22/24fc4587fc93e32e92ebd41f6b69878b553ea0 deleted file mode 100644 index 7e10287..0000000 Binary files a/RockOS/.git-backup/objects/22/24fc4587fc93e32e92ebd41f6b69878b553ea0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/22/605b093cd5af16fdc472bb10a51acc3b2e1676 b/RockOS/.git-backup/objects/22/605b093cd5af16fdc472bb10a51acc3b2e1676 deleted file mode 100644 index be38595..0000000 --- a/RockOS/.git-backup/objects/22/605b093cd5af16fdc472bb10a51acc3b2e1676 +++ /dev/null @@ -1,4 +0,0 @@ -xMQk0enܖ0B_Bȶbk|%gZqMwν(7cq}.*`>'u<FW RTvFyP'+櫋Ki]{<#Ls-u`/tcjc@C= B֙sjVAjDWՐLtj0*xBeTSFZ<3d+|Md \ No newline at end of file diff --git a/RockOS/.git-backup/objects/25/bde9984826a90c88a40005b7aa846c0a2e368a b/RockOS/.git-backup/objects/25/bde9984826a90c88a40005b7aa846c0a2e368a deleted file mode 100644 index 5a72ec0..0000000 Binary files a/RockOS/.git-backup/objects/25/bde9984826a90c88a40005b7aa846c0a2e368a and /dev/null differ diff --git a/RockOS/.git-backup/objects/25/cbdbcca4be7ceff2fd25ab2807c3803ff5fa3c b/RockOS/.git-backup/objects/25/cbdbcca4be7ceff2fd25ab2807c3803ff5fa3c deleted file mode 100644 index 7f64fe0..0000000 Binary files a/RockOS/.git-backup/objects/25/cbdbcca4be7ceff2fd25ab2807c3803ff5fa3c and /dev/null differ diff --git a/RockOS/.git-backup/objects/25/da0f6a71c2ce4aba86f32d375d97562a1650e3 b/RockOS/.git-backup/objects/25/da0f6a71c2ce4aba86f32d375d97562a1650e3 deleted file mode 100644 index 5842b8f..0000000 Binary files a/RockOS/.git-backup/objects/25/da0f6a71c2ce4aba86f32d375d97562a1650e3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/25/dd2c638a94782d15723c56a214f1b898c8d6fb b/RockOS/.git-backup/objects/25/dd2c638a94782d15723c56a214f1b898c8d6fb deleted file mode 100644 index d2accb3..0000000 Binary files a/RockOS/.git-backup/objects/25/dd2c638a94782d15723c56a214f1b898c8d6fb and /dev/null differ diff --git a/RockOS/.git-backup/objects/26/4978e2a08b12e234c5fe34adf88589c89c8e2c b/RockOS/.git-backup/objects/26/4978e2a08b12e234c5fe34adf88589c89c8e2c deleted file mode 100644 index dc998cf..0000000 Binary files a/RockOS/.git-backup/objects/26/4978e2a08b12e234c5fe34adf88589c89c8e2c and /dev/null differ diff --git a/RockOS/.git-backup/objects/26/72d891661234dae6adda148a81ba577e31d1e5 b/RockOS/.git-backup/objects/26/72d891661234dae6adda148a81ba577e31d1e5 deleted file mode 100644 index fc6288a..0000000 Binary files a/RockOS/.git-backup/objects/26/72d891661234dae6adda148a81ba577e31d1e5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/26/d9521f2ec77cade733af26447a768659ccd892 b/RockOS/.git-backup/objects/26/d9521f2ec77cade733af26447a768659ccd892 deleted file mode 100644 index 5bad8d4..0000000 Binary files a/RockOS/.git-backup/objects/26/d9521f2ec77cade733af26447a768659ccd892 and /dev/null differ diff --git a/RockOS/.git-backup/objects/26/e9f2e072a813834cb6b029b1642a3430f7968a b/RockOS/.git-backup/objects/26/e9f2e072a813834cb6b029b1642a3430f7968a deleted file mode 100644 index 1276352..0000000 Binary files a/RockOS/.git-backup/objects/26/e9f2e072a813834cb6b029b1642a3430f7968a and /dev/null differ diff --git a/RockOS/.git-backup/objects/27/921dc22cd6b61ea59bbd1ef2812b29ec4357dc b/RockOS/.git-backup/objects/27/921dc22cd6b61ea59bbd1ef2812b29ec4357dc deleted file mode 100644 index 317e9b3..0000000 Binary files a/RockOS/.git-backup/objects/27/921dc22cd6b61ea59bbd1ef2812b29ec4357dc and /dev/null differ diff --git a/RockOS/.git-backup/objects/27/b2e7ee0dd46f76c7b451e0e9b4b8b166770f72 b/RockOS/.git-backup/objects/27/b2e7ee0dd46f76c7b451e0e9b4b8b166770f72 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/27/c7d745a668d7fcccc2950acab33990de39135c b/RockOS/.git-backup/objects/27/c7d745a668d7fcccc2950acab33990de39135c deleted file mode 100644 index b44601f..0000000 Binary files a/RockOS/.git-backup/objects/27/c7d745a668d7fcccc2950acab33990de39135c and /dev/null differ diff --git a/RockOS/.git-backup/objects/27/e6ed94bb643fcf5d8147a188d9c90b4e66e92a b/RockOS/.git-backup/objects/27/e6ed94bb643fcf5d8147a188d9c90b4e66e92a deleted file mode 100644 index fb98256..0000000 Binary files a/RockOS/.git-backup/objects/27/e6ed94bb643fcf5d8147a188d9c90b4e66e92a and /dev/null differ diff --git a/RockOS/.git-backup/objects/28/1d87a433e399be74109a6b85ae01c81e96a62b b/RockOS/.git-backup/objects/28/1d87a433e399be74109a6b85ae01c81e96a62b deleted file mode 100644 index 8caa2c5..0000000 Binary files a/RockOS/.git-backup/objects/28/1d87a433e399be74109a6b85ae01c81e96a62b and /dev/null differ diff --git a/RockOS/.git-backup/objects/28/4c9fb32b7b1f82bf12089e649f6d8e907b748e b/RockOS/.git-backup/objects/28/4c9fb32b7b1f82bf12089e649f6d8e907b748e deleted file mode 100644 index b56508b..0000000 Binary files a/RockOS/.git-backup/objects/28/4c9fb32b7b1f82bf12089e649f6d8e907b748e and /dev/null differ diff --git a/RockOS/.git-backup/objects/28/7061eea595e25967a02d5a65f54f7c39a51805 b/RockOS/.git-backup/objects/28/7061eea595e25967a02d5a65f54f7c39a51805 deleted file mode 100644 index 79fe0af..0000000 Binary files a/RockOS/.git-backup/objects/28/7061eea595e25967a02d5a65f54f7c39a51805 and /dev/null differ diff --git a/RockOS/.git-backup/objects/28/8137055e37ff2905dc7a0d1a30bc11f650b946 b/RockOS/.git-backup/objects/28/8137055e37ff2905dc7a0d1a30bc11f650b946 deleted file mode 100644 index e910a75..0000000 Binary files a/RockOS/.git-backup/objects/28/8137055e37ff2905dc7a0d1a30bc11f650b946 and /dev/null differ diff --git a/RockOS/.git-backup/objects/28/a791b192df5cd51e4d3acc994ff9252e4d63ba b/RockOS/.git-backup/objects/28/a791b192df5cd51e4d3acc994ff9252e4d63ba deleted file mode 100644 index 06f5d48..0000000 Binary files a/RockOS/.git-backup/objects/28/a791b192df5cd51e4d3acc994ff9252e4d63ba and /dev/null differ diff --git a/RockOS/.git-backup/objects/28/eaf5b952c3f9d2f9fc3f8f5214826912fe8a2e b/RockOS/.git-backup/objects/28/eaf5b952c3f9d2f9fc3f8f5214826912fe8a2e deleted file mode 100644 index f27a99f..0000000 Binary files a/RockOS/.git-backup/objects/28/eaf5b952c3f9d2f9fc3f8f5214826912fe8a2e and /dev/null differ diff --git a/RockOS/.git-backup/objects/29/0285bb7b0c3611e926081d82b3be68174948bc b/RockOS/.git-backup/objects/29/0285bb7b0c3611e926081d82b3be68174948bc deleted file mode 100644 index 09bc04d..0000000 Binary files a/RockOS/.git-backup/objects/29/0285bb7b0c3611e926081d82b3be68174948bc and /dev/null differ diff --git a/RockOS/.git-backup/objects/29/24fe220509d485f016cc1a54f1a7e57143990e b/RockOS/.git-backup/objects/29/24fe220509d485f016cc1a54f1a7e57143990e deleted file mode 100644 index 4f110e8..0000000 Binary files a/RockOS/.git-backup/objects/29/24fe220509d485f016cc1a54f1a7e57143990e and /dev/null differ diff --git a/RockOS/.git-backup/objects/29/917ac7e774fd925f52f9e64f0eb99f45bd9126 b/RockOS/.git-backup/objects/29/917ac7e774fd925f52f9e64f0eb99f45bd9126 deleted file mode 100644 index 77c2990..0000000 Binary files a/RockOS/.git-backup/objects/29/917ac7e774fd925f52f9e64f0eb99f45bd9126 and /dev/null differ diff --git a/RockOS/.git-backup/objects/29/9a4df8089818fc2907b532aa7cd4593dada7e0 b/RockOS/.git-backup/objects/29/9a4df8089818fc2907b532aa7cd4593dada7e0 deleted file mode 100644 index a4133d4..0000000 Binary files a/RockOS/.git-backup/objects/29/9a4df8089818fc2907b532aa7cd4593dada7e0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2a/17d1fe25f009fa5635f19e36b4ec47429b93ff b/RockOS/.git-backup/objects/2a/17d1fe25f009fa5635f19e36b4ec47429b93ff deleted file mode 100644 index 4e0e7b1..0000000 Binary files a/RockOS/.git-backup/objects/2a/17d1fe25f009fa5635f19e36b4ec47429b93ff and /dev/null differ diff --git a/RockOS/.git-backup/objects/2b/1b563348553a399095bfb17778e15528eadaec b/RockOS/.git-backup/objects/2b/1b563348553a399095bfb17778e15528eadaec deleted file mode 100644 index 600b1d1..0000000 Binary files a/RockOS/.git-backup/objects/2b/1b563348553a399095bfb17778e15528eadaec and /dev/null differ diff --git a/RockOS/.git-backup/objects/2b/1cb5f3d5e7dbb403780bce145ec192d654f17c b/RockOS/.git-backup/objects/2b/1cb5f3d5e7dbb403780bce145ec192d654f17c deleted file mode 100644 index fbb0322..0000000 Binary files a/RockOS/.git-backup/objects/2b/1cb5f3d5e7dbb403780bce145ec192d654f17c and /dev/null differ diff --git a/RockOS/.git-backup/objects/2b/597779db19102c1cc9ef05e43290d2ff2818fb b/RockOS/.git-backup/objects/2b/597779db19102c1cc9ef05e43290d2ff2818fb deleted file mode 100644 index 11e6b4b..0000000 Binary files a/RockOS/.git-backup/objects/2b/597779db19102c1cc9ef05e43290d2ff2818fb and /dev/null differ diff --git a/RockOS/.git-backup/objects/2c/3ed1d4556e987d9d293ad0c69649d452b0bce0 b/RockOS/.git-backup/objects/2c/3ed1d4556e987d9d293ad0c69649d452b0bce0 deleted file mode 100644 index bc42bc3..0000000 Binary files a/RockOS/.git-backup/objects/2c/3ed1d4556e987d9d293ad0c69649d452b0bce0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2c/9a18f671cae7bcb73426d27e1559d6dfaca425 b/RockOS/.git-backup/objects/2c/9a18f671cae7bcb73426d27e1559d6dfaca425 deleted file mode 100644 index 431ebe8..0000000 Binary files a/RockOS/.git-backup/objects/2c/9a18f671cae7bcb73426d27e1559d6dfaca425 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2c/9fdfe1391c55a81e53123bba85c802337628b7 b/RockOS/.git-backup/objects/2c/9fdfe1391c55a81e53123bba85c802337628b7 deleted file mode 100644 index 4a1e1f6..0000000 Binary files a/RockOS/.git-backup/objects/2c/9fdfe1391c55a81e53123bba85c802337628b7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2c/d47654bd31cf7fb612e250e62c3c34a8468b3f b/RockOS/.git-backup/objects/2c/d47654bd31cf7fb612e250e62c3c34a8468b3f deleted file mode 100644 index bb122f7..0000000 Binary files a/RockOS/.git-backup/objects/2c/d47654bd31cf7fb612e250e62c3c34a8468b3f and /dev/null differ diff --git a/RockOS/.git-backup/objects/2c/e815cb75e7f7f50335038767eba8db41c2f885 b/RockOS/.git-backup/objects/2c/e815cb75e7f7f50335038767eba8db41c2f885 deleted file mode 100644 index dc0e54a..0000000 Binary files a/RockOS/.git-backup/objects/2c/e815cb75e7f7f50335038767eba8db41c2f885 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2d/31211f2acbd960eae591a53ff12fd25c45c173 b/RockOS/.git-backup/objects/2d/31211f2acbd960eae591a53ff12fd25c45c173 deleted file mode 100644 index 71b944e..0000000 Binary files a/RockOS/.git-backup/objects/2d/31211f2acbd960eae591a53ff12fd25c45c173 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2d/3c17547dad95dd2c7d11126043d76b98af55b8 b/RockOS/.git-backup/objects/2d/3c17547dad95dd2c7d11126043d76b98af55b8 deleted file mode 100644 index fd0c5c4..0000000 Binary files a/RockOS/.git-backup/objects/2d/3c17547dad95dd2c7d11126043d76b98af55b8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2d/e6d53c314f061b0425338556cbef2caa6cd8b8 b/RockOS/.git-backup/objects/2d/e6d53c314f061b0425338556cbef2caa6cd8b8 deleted file mode 100644 index eca35ca..0000000 --- a/RockOS/.git-backup/objects/2d/e6d53c314f061b0425338556cbef2caa6cd8b8 +++ /dev/null @@ -1 +0,0 @@ -xuPI0 W@%@BH;FlJII |=f(E.b+!\E[kb@њ2-d a2LqYRW0SHWzVYSr7!u2 h-?z6\5VO-D&YObǕFdh-lBEiq75Df$ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/2e/2c62232b9607cdbbd0831f95355465fe89e685 b/RockOS/.git-backup/objects/2e/2c62232b9607cdbbd0831f95355465fe89e685 deleted file mode 100644 index b912608..0000000 Binary files a/RockOS/.git-backup/objects/2e/2c62232b9607cdbbd0831f95355465fe89e685 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2e/b664644fc2291074a5ef671114c94765825889 b/RockOS/.git-backup/objects/2e/b664644fc2291074a5ef671114c94765825889 deleted file mode 100644 index 25ec9af..0000000 --- a/RockOS/.git-backup/objects/2e/b664644fc2291074a5ef671114c94765825889 +++ /dev/null @@ -1,3 +0,0 @@ -xEJ@ Sz."d!t58?e -ΌuUrX,:gzy81$ @ WbռMDF5ݔ~1a/R[Oh#|c@0ġDQ -C0 Y?4/AtI93S1Mڗm<>M--=>P/7ɮBɌ>i \ No newline at end of file diff --git a/RockOS/.git-backup/objects/2f/c3ca53bd146c25a62f9c856906b70feb1bb848 b/RockOS/.git-backup/objects/2f/c3ca53bd146c25a62f9c856906b70feb1bb848 deleted file mode 100644 index e2a3c82..0000000 Binary files a/RockOS/.git-backup/objects/2f/c3ca53bd146c25a62f9c856906b70feb1bb848 and /dev/null differ diff --git a/RockOS/.git-backup/objects/2f/f1cea7b2571a7cfcc2d873b881853d5345e95b b/RockOS/.git-backup/objects/2f/f1cea7b2571a7cfcc2d873b881853d5345e95b deleted file mode 100644 index ce9d970..0000000 Binary files a/RockOS/.git-backup/objects/2f/f1cea7b2571a7cfcc2d873b881853d5345e95b and /dev/null differ diff --git a/RockOS/.git-backup/objects/30/0316e85e2d8b772834f9c3f73395dcba67cc7a b/RockOS/.git-backup/objects/30/0316e85e2d8b772834f9c3f73395dcba67cc7a deleted file mode 100644 index 26187f2..0000000 Binary files a/RockOS/.git-backup/objects/30/0316e85e2d8b772834f9c3f73395dcba67cc7a and /dev/null differ diff --git a/RockOS/.git-backup/objects/30/a3cd8ed6e2217d211a91bb6dd3bfc6c683da7c b/RockOS/.git-backup/objects/30/a3cd8ed6e2217d211a91bb6dd3bfc6c683da7c deleted file mode 100644 index 7d68f99..0000000 Binary files a/RockOS/.git-backup/objects/30/a3cd8ed6e2217d211a91bb6dd3bfc6c683da7c and /dev/null differ diff --git a/RockOS/.git-backup/objects/31/2ac43ec3802840ff419acb952ce10b7d87cc7c b/RockOS/.git-backup/objects/31/2ac43ec3802840ff419acb952ce10b7d87cc7c deleted file mode 100644 index f7fd32e..0000000 --- a/RockOS/.git-backup/objects/31/2ac43ec3802840ff419acb952ce10b7d87cc7c +++ /dev/null @@ -1,4 +0,0 @@ -xSMO0 _a60q+&qpei瓶Y :!Qi/{īT(.9$7Bco?o~).(~1QěC`%u瞀{m. -:I0g=r <~/y -y bii ZB@fy4 -.q{7cO2e_NX^ ފIs7蠑̈́)j;m3EȓkAbASAAE D A"7za^3kPJg8~Fʛ4l]0UBt"r`A T?I OlK0av:Ϋԙ3`L,\=T*| Zs!ک !! w+pGh+M`0-xXpLDk vbTd-a#%>ZzARa_[6½u4wjto \ No newline at end of file diff --git a/RockOS/.git-backup/objects/32/745b06c359def33255ace19ab1ebbaad0c706a b/RockOS/.git-backup/objects/32/745b06c359def33255ace19ab1ebbaad0c706a deleted file mode 100644 index 6b9cc60..0000000 Binary files a/RockOS/.git-backup/objects/32/745b06c359def33255ace19ab1ebbaad0c706a and /dev/null differ diff --git a/RockOS/.git-backup/objects/32/bef4b5571d6b10507362ea2edf0cffa2c34c60 b/RockOS/.git-backup/objects/32/bef4b5571d6b10507362ea2edf0cffa2c34c60 deleted file mode 100644 index 79ef050..0000000 --- a/RockOS/.git-backup/objects/32/bef4b5571d6b10507362ea2edf0cffa2c34c60 +++ /dev/null @@ -1,2 +0,0 @@ -x]K0x0;N/:[U#]d$sݤۤʰ=IL18蟀[N 2>H<@TFA(^e aZ2L2!1)UZßN \%iMRJa9D)2b}DC*(60$+ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/32/eb3ed22fa71390526ea772d9dfa6c6026262e4 b/RockOS/.git-backup/objects/32/eb3ed22fa71390526ea772d9dfa6c6026262e4 deleted file mode 100644 index f1cda9f..0000000 Binary files a/RockOS/.git-backup/objects/32/eb3ed22fa71390526ea772d9dfa6c6026262e4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/33/5f06420a4027d4c26f22e2ab3e6e007f99ce76 b/RockOS/.git-backup/objects/33/5f06420a4027d4c26f22e2ab3e6e007f99ce76 deleted file mode 100644 index f8b63e6..0000000 Binary files a/RockOS/.git-backup/objects/33/5f06420a4027d4c26f22e2ab3e6e007f99ce76 and /dev/null differ diff --git a/RockOS/.git-backup/objects/33/b65494c6894a71cfc04a337ee8ed849d459baf b/RockOS/.git-backup/objects/33/b65494c6894a71cfc04a337ee8ed849d459baf deleted file mode 100644 index b14912b..0000000 --- a/RockOS/.git-backup/objects/33/b65494c6894a71cfc04a337ee8ed849d459baf +++ /dev/null @@ -1,2 +0,0 @@ -xRJ0ܯ9ێi<6͔I -.⿛.FoE{dfޛqwW/Ro*@>fz!ApOcn\W\Pvh|k} <rHQLFuu~y \ No newline at end of file diff --git a/RockOS/.git-backup/objects/34/f8b52a97ec4fa08a8b9700f7169c379f81b883 b/RockOS/.git-backup/objects/34/f8b52a97ec4fa08a8b9700f7169c379f81b883 deleted file mode 100644 index 9f2db32..0000000 Binary files a/RockOS/.git-backup/objects/34/f8b52a97ec4fa08a8b9700f7169c379f81b883 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/11df8724f90f55c7b2075705d4d9aae414f4ee b/RockOS/.git-backup/objects/35/11df8724f90f55c7b2075705d4d9aae414f4ee deleted file mode 100644 index a701e5d..0000000 Binary files a/RockOS/.git-backup/objects/35/11df8724f90f55c7b2075705d4d9aae414f4ee and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/2ca8d1dcef8100e241f7a435b6390594a18cb4 b/RockOS/.git-backup/objects/35/2ca8d1dcef8100e241f7a435b6390594a18cb4 deleted file mode 100644 index 2471061..0000000 Binary files a/RockOS/.git-backup/objects/35/2ca8d1dcef8100e241f7a435b6390594a18cb4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/2da7e5390324d9321c102923b4503259e0b7c3 b/RockOS/.git-backup/objects/35/2da7e5390324d9321c102923b4503259e0b7c3 deleted file mode 100644 index f6bf877..0000000 Binary files a/RockOS/.git-backup/objects/35/2da7e5390324d9321c102923b4503259e0b7c3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/53e82377e20381f483260deac04f829e811dc1 b/RockOS/.git-backup/objects/35/53e82377e20381f483260deac04f829e811dc1 deleted file mode 100644 index 3874028..0000000 Binary files a/RockOS/.git-backup/objects/35/53e82377e20381f483260deac04f829e811dc1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/55342517dd0a5e004f2abda17781e3c66dabb4 b/RockOS/.git-backup/objects/35/55342517dd0a5e004f2abda17781e3c66dabb4 deleted file mode 100644 index 7c529ce..0000000 Binary files a/RockOS/.git-backup/objects/35/55342517dd0a5e004f2abda17781e3c66dabb4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/5d50d98e2fce654c5f0840aacd8f69ef08a574 b/RockOS/.git-backup/objects/35/5d50d98e2fce654c5f0840aacd8f69ef08a574 deleted file mode 100644 index 607d104..0000000 Binary files a/RockOS/.git-backup/objects/35/5d50d98e2fce654c5f0840aacd8f69ef08a574 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/8d7f0ec13d41e83299255f48c032de37e56978 b/RockOS/.git-backup/objects/35/8d7f0ec13d41e83299255f48c032de37e56978 deleted file mode 100644 index 53ced61..0000000 Binary files a/RockOS/.git-backup/objects/35/8d7f0ec13d41e83299255f48c032de37e56978 and /dev/null differ diff --git a/RockOS/.git-backup/objects/35/ce2bb759f03aa2db72f5f7ac1ef777f1a75d3c b/RockOS/.git-backup/objects/35/ce2bb759f03aa2db72f5f7ac1ef777f1a75d3c deleted file mode 100644 index df05e7e..0000000 Binary files a/RockOS/.git-backup/objects/35/ce2bb759f03aa2db72f5f7ac1ef777f1a75d3c and /dev/null differ diff --git a/RockOS/.git-backup/objects/36/5345343ed8ef2b11b047c4d529aec8995e7dba b/RockOS/.git-backup/objects/36/5345343ed8ef2b11b047c4d529aec8995e7dba deleted file mode 100644 index 6d7e4d1..0000000 --- a/RockOS/.git-backup/objects/36/5345343ed8ef2b11b047c4d529aec8995e7dba +++ /dev/null @@ -1 +0,0 @@ -x}PMO0_/P/" ec{Iךw$<> nËAnj|0U$T, Ka$Jz(dJgH1TP,%m%a >sĞ)ý6)'ve]~X~*S*GLƸjC8r+F&*K5%nX[Nd-#ôΩ-N]۲R\KJ[iK6AUq]Fz=M_o~/׸Mh@kXh/]xzu \ No newline at end of file diff --git a/RockOS/.git-backup/objects/36/5e8e7ae7e7e5bb3fe7b9eca03b316dba0edfaa b/RockOS/.git-backup/objects/36/5e8e7ae7e7e5bb3fe7b9eca03b316dba0edfaa deleted file mode 100644 index ce7b513..0000000 Binary files a/RockOS/.git-backup/objects/36/5e8e7ae7e7e5bb3fe7b9eca03b316dba0edfaa and /dev/null differ diff --git a/RockOS/.git-backup/objects/36/63c5bd0bb30cc24068e6b198846474da2392a9 b/RockOS/.git-backup/objects/36/63c5bd0bb30cc24068e6b198846474da2392a9 deleted file mode 100644 index f2f51d3..0000000 --- a/RockOS/.git-backup/objects/36/63c5bd0bb30cc24068e6b198846474da2392a9 +++ /dev/null @@ -1,2 +0,0 @@ -x]K0 DY^;2M,Z4QRP=NQWhzv=ԵS^ c2)UY; - xTM4g1ea>+ O\VeP]ŕ5=;?~B \ No newline at end of file diff --git a/RockOS/.git-backup/objects/36/b45d8db59b21780b8032bc9ede8427fbfd6275 b/RockOS/.git-backup/objects/36/b45d8db59b21780b8032bc9ede8427fbfd6275 deleted file mode 100644 index a9e03a2..0000000 Binary files a/RockOS/.git-backup/objects/36/b45d8db59b21780b8032bc9ede8427fbfd6275 and /dev/null differ diff --git a/RockOS/.git-backup/objects/36/ce9f3b3eeea50c3719816ab8162b9274270ae4 b/RockOS/.git-backup/objects/36/ce9f3b3eeea50c3719816ab8162b9274270ae4 deleted file mode 100644 index 6f5db1f..0000000 Binary files a/RockOS/.git-backup/objects/36/ce9f3b3eeea50c3719816ab8162b9274270ae4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/36/e9951ec10687bd83d451a3ca42ab294d0ca68b b/RockOS/.git-backup/objects/36/e9951ec10687bd83d451a3ca42ab294d0ca68b deleted file mode 100644 index 5a1e8e2..0000000 Binary files a/RockOS/.git-backup/objects/36/e9951ec10687bd83d451a3ca42ab294d0ca68b and /dev/null differ diff --git a/RockOS/.git-backup/objects/37/1314d898ba333118524a76cd75806e977fb30b b/RockOS/.git-backup/objects/37/1314d898ba333118524a76cd75806e977fb30b deleted file mode 100644 index 271c44d..0000000 --- a/RockOS/.git-backup/objects/37/1314d898ba333118524a76cd75806e977fb30b +++ /dev/null @@ -1 +0,0 @@ -xQK0}ί8Np혝>2]Qae"R6]Y2TnL-{wͅqyu~4*V5O+bE`k/0UK%BxnӰ{뎙^rc}Uh bJ^CPYbYɍ'Y@OV9it\{\ȵ’[YԞ{Je0IT |b~}O.[}R *q3Of(U-<6 "Wt]MwATlWP]^4̾c"Yb蛖*;MCO,4l"“=hj#>j7:3>sx~=EҢ$[#訫>tv-s ?7gzmN>)wsIB ]_5e7 5 lU 7|vm7 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/3b/8f6452ec5b0f992e623069de5014837d092a09 b/RockOS/.git-backup/objects/3b/8f6452ec5b0f992e623069de5014837d092a09 deleted file mode 100644 index 574982b..0000000 Binary files a/RockOS/.git-backup/objects/3b/8f6452ec5b0f992e623069de5014837d092a09 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3b/c29ea1411c046b5041b4f3e549f12eaa5f13e4 b/RockOS/.git-backup/objects/3b/c29ea1411c046b5041b4f3e549f12eaa5f13e4 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/3b/ca1c275d314900d2f73236e06a45174b2af267 b/RockOS/.git-backup/objects/3b/ca1c275d314900d2f73236e06a45174b2af267 deleted file mode 100644 index 74e2324..0000000 Binary files a/RockOS/.git-backup/objects/3b/ca1c275d314900d2f73236e06a45174b2af267 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3c/539d9b54fd2c80f529543cf0c6c7ccac44590d b/RockOS/.git-backup/objects/3c/539d9b54fd2c80f529543cf0c6c7ccac44590d deleted file mode 100644 index a488805..0000000 Binary files a/RockOS/.git-backup/objects/3c/539d9b54fd2c80f529543cf0c6c7ccac44590d and /dev/null differ diff --git a/RockOS/.git-backup/objects/3c/6fd8cb651389de9cc425b6893c5512f9447ed3 b/RockOS/.git-backup/objects/3c/6fd8cb651389de9cc425b6893c5512f9447ed3 deleted file mode 100644 index b2a2cb1..0000000 --- a/RockOS/.git-backup/objects/3c/6fd8cb651389de9cc425b6893c5512f9447ed3 +++ /dev/null @@ -1,2 +0,0 @@ -x[ EUzU@3VԔiiA Mv?\JI$گى`3BimUs22Zq^ ۍ Epu1n")V*8V.faT"2R \ No newline at end of file diff --git a/RockOS/.git-backup/objects/3c/7683ab80f2b4fca1b66642a5a2cfdc8890e643 b/RockOS/.git-backup/objects/3c/7683ab80f2b4fca1b66642a5a2cfdc8890e643 deleted file mode 100644 index 62bc734..0000000 Binary files a/RockOS/.git-backup/objects/3c/7683ab80f2b4fca1b66642a5a2cfdc8890e643 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3c/a959fbed99ebae378fdc592e4c335b0d552d7f b/RockOS/.git-backup/objects/3c/a959fbed99ebae378fdc592e4c335b0d552d7f deleted file mode 100644 index 5d57cf1..0000000 Binary files a/RockOS/.git-backup/objects/3c/a959fbed99ebae378fdc592e4c335b0d552d7f and /dev/null differ diff --git a/RockOS/.git-backup/objects/3d/082b3213db4162f37972f9da160afe9eb1e74e b/RockOS/.git-backup/objects/3d/082b3213db4162f37972f9da160afe9eb1e74e deleted file mode 100644 index 142b451..0000000 Binary files a/RockOS/.git-backup/objects/3d/082b3213db4162f37972f9da160afe9eb1e74e and /dev/null differ diff --git a/RockOS/.git-backup/objects/3d/1c376b2ecf5508f03f064c7c25d299a0bb5623 b/RockOS/.git-backup/objects/3d/1c376b2ecf5508f03f064c7c25d299a0bb5623 deleted file mode 100644 index 23352b4..0000000 Binary files a/RockOS/.git-backup/objects/3d/1c376b2ecf5508f03f064c7c25d299a0bb5623 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3d/d028e761ace90d6b1b5d55ad12c90857db1e2f b/RockOS/.git-backup/objects/3d/d028e761ace90d6b1b5d55ad12c90857db1e2f deleted file mode 100644 index 73291d2..0000000 --- a/RockOS/.git-backup/objects/3d/d028e761ace90d6b1b5d55ad12c90857db1e2f +++ /dev/null @@ -1,3 +0,0 @@ -xmPN0쯰K+!D[8% (rdeP!7]Z[-:M,q_HCl -τ.j^7>oG@1~Wc%J! P`U][\cѽt+'1Op -YȐ3yW'>2Hn/}!K(c\^싚紞O \ No newline at end of file diff --git a/RockOS/.git-backup/objects/3d/d636e4fb1c3e5c08f479bae87e28690750d551 b/RockOS/.git-backup/objects/3d/d636e4fb1c3e5c08f479bae87e28690750d551 deleted file mode 100644 index c654e63..0000000 Binary files a/RockOS/.git-backup/objects/3d/d636e4fb1c3e5c08f479bae87e28690750d551 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3d/e51b14d0fa801e4ce52868775e9bd1754aa9fc b/RockOS/.git-backup/objects/3d/e51b14d0fa801e4ce52868775e9bd1754aa9fc deleted file mode 100644 index fe0de63..0000000 Binary files a/RockOS/.git-backup/objects/3d/e51b14d0fa801e4ce52868775e9bd1754aa9fc and /dev/null differ diff --git a/RockOS/.git-backup/objects/3e/32c191f38aea6a32bf022b67cc0418d25c3a44 b/RockOS/.git-backup/objects/3e/32c191f38aea6a32bf022b67cc0418d25c3a44 deleted file mode 100644 index f43d231..0000000 Binary files a/RockOS/.git-backup/objects/3e/32c191f38aea6a32bf022b67cc0418d25c3a44 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3e/593021d2055fc60d52052909ee83eb9f1ffb12 b/RockOS/.git-backup/objects/3e/593021d2055fc60d52052909ee83eb9f1ffb12 deleted file mode 100644 index e0346c6..0000000 Binary files a/RockOS/.git-backup/objects/3e/593021d2055fc60d52052909ee83eb9f1ffb12 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3e/98ae8e6219dca9f420ed2102a6cd7bda5ae511 b/RockOS/.git-backup/objects/3e/98ae8e6219dca9f420ed2102a6cd7bda5ae511 deleted file mode 100644 index c598d28..0000000 --- a/RockOS/.git-backup/objects/3e/98ae8e6219dca9f420ed2102a6cd7bda5ae511 +++ /dev/null @@ -1,2 +0,0 @@ -xPj0 _!% a``n;VZGڱ~knzOs~ꮰ}jT%bTaIAxa1᰹e[z)' -8:gl||0JcS#$mFpjݭQE=٨mW5?ƔŗZl*"4 -z-}e.?{业?Էy[w5cJU/ꖉ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/3e/b9dc9f76f37c32d3ddb866fa744e53e0524c36 b/RockOS/.git-backup/objects/3e/b9dc9f76f37c32d3ddb866fa744e53e0524c36 deleted file mode 100644 index 9d18318..0000000 Binary files a/RockOS/.git-backup/objects/3e/b9dc9f76f37c32d3ddb866fa744e53e0524c36 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3f/1780ab95e201b04c8a2398e0e4da9a52d197b1 b/RockOS/.git-backup/objects/3f/1780ab95e201b04c8a2398e0e4da9a52d197b1 deleted file mode 100644 index accc745..0000000 Binary files a/RockOS/.git-backup/objects/3f/1780ab95e201b04c8a2398e0e4da9a52d197b1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3f/558dfe87e46bd74a7f75f52fd41b781f2979b5 b/RockOS/.git-backup/objects/3f/558dfe87e46bd74a7f75f52fd41b781f2979b5 deleted file mode 100644 index 5fe2608..0000000 Binary files a/RockOS/.git-backup/objects/3f/558dfe87e46bd74a7f75f52fd41b781f2979b5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/3f/a4ecb3019ea7763f0df5f9feffa0b030a058d0 b/RockOS/.git-backup/objects/3f/a4ecb3019ea7763f0df5f9feffa0b030a058d0 deleted file mode 100644 index ac9b5e7..0000000 Binary files a/RockOS/.git-backup/objects/3f/a4ecb3019ea7763f0df5f9feffa0b030a058d0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/40/21774aa39cc53aee7d062bae73eb45f657c6d8 b/RockOS/.git-backup/objects/40/21774aa39cc53aee7d062bae73eb45f657c6d8 deleted file mode 100644 index 12bdc00..0000000 Binary files a/RockOS/.git-backup/objects/40/21774aa39cc53aee7d062bae73eb45f657c6d8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/40/397ad7d5562213371687f458ce06d665e75161 b/RockOS/.git-backup/objects/40/397ad7d5562213371687f458ce06d665e75161 deleted file mode 100644 index 7b8bb4e..0000000 Binary files a/RockOS/.git-backup/objects/40/397ad7d5562213371687f458ce06d665e75161 and /dev/null differ diff --git a/RockOS/.git-backup/objects/40/3f135694dfa2a0c56d405b97723264ed63139b b/RockOS/.git-backup/objects/40/3f135694dfa2a0c56d405b97723264ed63139b deleted file mode 100644 index 6f8fb5a..0000000 --- a/RockOS/.git-backup/objects/40/3f135694dfa2a0c56d405b97723264ed63139b +++ /dev/null @@ -1,4 +0,0 @@ -x -0=)r""APA'dcFDz?3ԭ\/',p,d -Ihvf/D@1b -tSuE#"qX*EQ 00BZGxѦ<Yc% ' Vl \ No newline at end of file diff --git a/RockOS/.git-backup/objects/40/4413a7a5c76ee72a9f1d98492f0b0c3c51be52 b/RockOS/.git-backup/objects/40/4413a7a5c76ee72a9f1d98492f0b0c3c51be52 deleted file mode 100644 index 56a1d11..0000000 Binary files a/RockOS/.git-backup/objects/40/4413a7a5c76ee72a9f1d98492f0b0c3c51be52 and /dev/null differ diff --git a/RockOS/.git-backup/objects/40/e6a563a2230968b6dd1161d86ff29c7b59e497 b/RockOS/.git-backup/objects/40/e6a563a2230968b6dd1161d86ff29c7b59e497 deleted file mode 100644 index 61c6339..0000000 Binary files a/RockOS/.git-backup/objects/40/e6a563a2230968b6dd1161d86ff29c7b59e497 and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/0fb50975c395762abecfe8f5871b7c8c9c6215 b/RockOS/.git-backup/objects/41/0fb50975c395762abecfe8f5871b7c8c9c6215 deleted file mode 100644 index 4f5713c..0000000 Binary files a/RockOS/.git-backup/objects/41/0fb50975c395762abecfe8f5871b7c8c9c6215 and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/12176dd1e66ef9aa1033e8e125f416ee231b7e b/RockOS/.git-backup/objects/41/12176dd1e66ef9aa1033e8e125f416ee231b7e deleted file mode 100644 index dcab917..0000000 Binary files a/RockOS/.git-backup/objects/41/12176dd1e66ef9aa1033e8e125f416ee231b7e and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/1345060dd4c0bef249f56bb480f45888620565 b/RockOS/.git-backup/objects/41/1345060dd4c0bef249f56bb480f45888620565 deleted file mode 100644 index d101701..0000000 Binary files a/RockOS/.git-backup/objects/41/1345060dd4c0bef249f56bb480f45888620565 and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/4375cf2e6c6f5647f95c5810724cd55e34cb58 b/RockOS/.git-backup/objects/41/4375cf2e6c6f5647f95c5810724cd55e34cb58 deleted file mode 100644 index 8bbae55..0000000 Binary files a/RockOS/.git-backup/objects/41/4375cf2e6c6f5647f95c5810724cd55e34cb58 and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/7bc3094dd23dd2ba024bbec2431d9b75ac2d7d b/RockOS/.git-backup/objects/41/7bc3094dd23dd2ba024bbec2431d9b75ac2d7d deleted file mode 100644 index 89648e2..0000000 Binary files a/RockOS/.git-backup/objects/41/7bc3094dd23dd2ba024bbec2431d9b75ac2d7d and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/88c02e6d93a0015e4e4ef0ba5e27449e8c4de6 b/RockOS/.git-backup/objects/41/88c02e6d93a0015e4e4ef0ba5e27449e8c4de6 deleted file mode 100644 index e8ee9d4..0000000 Binary files a/RockOS/.git-backup/objects/41/88c02e6d93a0015e4e4ef0ba5e27449e8c4de6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/41/a18a7b8f5b0ae5c8103dd248a325b7ae238ffc b/RockOS/.git-backup/objects/41/a18a7b8f5b0ae5c8103dd248a325b7ae238ffc deleted file mode 100644 index 5171a95..0000000 --- a/RockOS/.git-backup/objects/41/a18a7b8f5b0ae5c8103dd248a325b7ae238ffc +++ /dev/null @@ -1,2 +0,0 @@ -xRj1z"dA+.$Ir%P4)EsܜHCMeg·ɢ>%vhAy -v'I[MCn]GY.CG/2`֡w7K 87T1 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/43/bc0df81a8755b46f7062263c6063319353d5f1 b/RockOS/.git-backup/objects/43/bc0df81a8755b46f7062263c6063319353d5f1 deleted file mode 100644 index 3f0ac4c..0000000 Binary files a/RockOS/.git-backup/objects/43/bc0df81a8755b46f7062263c6063319353d5f1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/44/4456d1312889cd0d2e7b67818834f656f547ff b/RockOS/.git-backup/objects/44/4456d1312889cd0d2e7b67818834f656f547ff deleted file mode 100644 index ba50014..0000000 --- a/RockOS/.git-backup/objects/44/4456d1312889cd0d2e7b67818834f656f547ff +++ /dev/null @@ -1,2 +0,0 @@ -x5 -0S|b'(\mk\?MXWl|x-6OY8Oo[`L\ lF5j$DPÆ1rwB81dJ7=x<tAL*8_̍$ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/44/51bbf1973099cd098825c9f4ba87c15657bc36 b/RockOS/.git-backup/objects/44/51bbf1973099cd098825c9f4ba87c15657bc36 deleted file mode 100644 index 3eb6b6b..0000000 Binary files a/RockOS/.git-backup/objects/44/51bbf1973099cd098825c9f4ba87c15657bc36 and /dev/null differ diff --git a/RockOS/.git-backup/objects/44/5da067cc9bd587322d2a66b47d076e68f43150 b/RockOS/.git-backup/objects/44/5da067cc9bd587322d2a66b47d076e68f43150 deleted file mode 100644 index b4dc88d..0000000 Binary files a/RockOS/.git-backup/objects/44/5da067cc9bd587322d2a66b47d076e68f43150 and /dev/null differ diff --git a/RockOS/.git-backup/objects/44/fbbcc91df1192e883997185337641933ef1606 b/RockOS/.git-backup/objects/44/fbbcc91df1192e883997185337641933ef1606 deleted file mode 100644 index 430a3a4..0000000 Binary files a/RockOS/.git-backup/objects/44/fbbcc91df1192e883997185337641933ef1606 and /dev/null differ diff --git a/RockOS/.git-backup/objects/45/30658ce786a47309a704fc74d39dd44eb1ac2a b/RockOS/.git-backup/objects/45/30658ce786a47309a704fc74d39dd44eb1ac2a deleted file mode 100644 index f08a996..0000000 Binary files a/RockOS/.git-backup/objects/45/30658ce786a47309a704fc74d39dd44eb1ac2a and /dev/null differ diff --git a/RockOS/.git-backup/objects/45/4de8feed8e1ff633dd40a31317d4500f4b1221 b/RockOS/.git-backup/objects/45/4de8feed8e1ff633dd40a31317d4500f4b1221 deleted file mode 100644 index e5a89c3..0000000 --- a/RockOS/.git-backup/objects/45/4de8feed8e1ff633dd40a31317d4500f4b1221 +++ /dev/null @@ -1 +0,0 @@ -xAj0@Ѯu@HD2z5ҌkbYEQ)}#tϭmet.6.r,f%8r^Z1_1rPaf"KNXfE'ʄɝbTنȤ:=sMv]֚}ʭ #) "!>4?c`WPڊOi2MW \ No newline at end of file diff --git a/RockOS/.git-backup/objects/45/6d8c2187f895c0a5747ac6547495e06728a570 b/RockOS/.git-backup/objects/45/6d8c2187f895c0a5747ac6547495e06728a570 deleted file mode 100644 index b7eb944..0000000 Binary files a/RockOS/.git-backup/objects/45/6d8c2187f895c0a5747ac6547495e06728a570 and /dev/null differ diff --git a/RockOS/.git-backup/objects/45/8772b5c2dc185a5f4cfc827f1f462b937896fa b/RockOS/.git-backup/objects/45/8772b5c2dc185a5f4cfc827f1f462b937896fa deleted file mode 100644 index 4b8ffe6..0000000 Binary files a/RockOS/.git-backup/objects/45/8772b5c2dc185a5f4cfc827f1f462b937896fa and /dev/null differ diff --git a/RockOS/.git-backup/objects/45/e11dce678c50d73dfedc695255949dbc3e47cc b/RockOS/.git-backup/objects/45/e11dce678c50d73dfedc695255949dbc3e47cc deleted file mode 100644 index f6601ca..0000000 Binary files a/RockOS/.git-backup/objects/45/e11dce678c50d73dfedc695255949dbc3e47cc and /dev/null differ diff --git a/RockOS/.git-backup/objects/45/ed218623dcdea9834f2f91a1801bfd4295e924 b/RockOS/.git-backup/objects/45/ed218623dcdea9834f2f91a1801bfd4295e924 deleted file mode 100644 index 9c35569..0000000 --- a/RockOS/.git-backup/objects/45/ed218623dcdea9834f2f91a1801bfd4295e924 +++ /dev/null @@ -1,2 +0,0 @@ -xmA -0E]nZ֝ƍ GdBII&P]7;߫td٠U[4Y>Gb!YN]2.Q k<afB$ym ?Uu,@zVc:&͎xkA7j)b(KЉ @Q()pȑ +TA \ No newline at end of file diff --git a/RockOS/.git-backup/objects/46/0a21610bf67fe3ed3328e52cbf45352f3bc670 b/RockOS/.git-backup/objects/46/0a21610bf67fe3ed3328e52cbf45352f3bc670 deleted file mode 100644 index c99bf51..0000000 Binary files a/RockOS/.git-backup/objects/46/0a21610bf67fe3ed3328e52cbf45352f3bc670 and /dev/null differ diff --git a/RockOS/.git-backup/objects/46/6901c3996391766fc8459bf50b385fe0b4fed7 b/RockOS/.git-backup/objects/46/6901c3996391766fc8459bf50b385fe0b4fed7 deleted file mode 100644 index 2d8b4ec..0000000 Binary files a/RockOS/.git-backup/objects/46/6901c3996391766fc8459bf50b385fe0b4fed7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/46/d98e734727b6dbedd4d873a1fe97fb58fb79f8 b/RockOS/.git-backup/objects/46/d98e734727b6dbedd4d873a1fe97fb58fb79f8 deleted file mode 100644 index f0f6a7d..0000000 Binary files a/RockOS/.git-backup/objects/46/d98e734727b6dbedd4d873a1fe97fb58fb79f8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/47/1f792e3b601ec735b6d4935dff842622e730ac b/RockOS/.git-backup/objects/47/1f792e3b601ec735b6d4935dff842622e730ac deleted file mode 100644 index cdb390d..0000000 Binary files a/RockOS/.git-backup/objects/47/1f792e3b601ec735b6d4935dff842622e730ac and /dev/null differ diff --git a/RockOS/.git-backup/objects/47/273f2f0c1cec87c9517073f2a2fcd3915acb9e b/RockOS/.git-backup/objects/47/273f2f0c1cec87c9517073f2a2fcd3915acb9e deleted file mode 100644 index a255055..0000000 --- a/RockOS/.git-backup/objects/47/273f2f0c1cec87c9517073f2a2fcd3915acb9e +++ /dev/null @@ -1 +0,0 @@ -x+)JMU06e040031Q(,H-`p]?w-7O% \ No newline at end of file diff --git a/RockOS/.git-backup/objects/48/6a55b23406198d13224c822010c9e296ff0004 b/RockOS/.git-backup/objects/48/6a55b23406198d13224c822010c9e296ff0004 deleted file mode 100644 index 0081f06..0000000 --- a/RockOS/.git-backup/objects/48/6a55b23406198d13224c822010c9e296ff0004 +++ /dev/null @@ -1 +0,0 @@ -xTO0y}( 1|0~%F11l3'ӕ;X27KEB^wc$e"9bTY4 $I |Aoag߅ev%6jL @qL^gyq#pNC[_%r=p<erU%2-$|4m+s5} *EVMGs6Pus8xFCȺnZu#>iyJX* lJeTO׸eKn/Û|:xo@_e9=(Ѝ6*y8h,MDaTg2X[iʔ4L܏/Le"Sk_[m /n67zeA M{Ǻ"> i:~l5/9QtQW`'Q<Uc/{a*O7l \ No newline at end of file diff --git a/RockOS/.git-backup/objects/48/708d012fe50e01840fde491a20c83a623690c3 b/RockOS/.git-backup/objects/48/708d012fe50e01840fde491a20c83a623690c3 deleted file mode 100644 index 67b03a4..0000000 Binary files a/RockOS/.git-backup/objects/48/708d012fe50e01840fde491a20c83a623690c3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/48/712466c6a872ad8af176f3dd9ab42d863bf7c2 b/RockOS/.git-backup/objects/48/712466c6a872ad8af176f3dd9ab42d863bf7c2 deleted file mode 100644 index 1d6ab9a..0000000 --- a/RockOS/.git-backup/objects/48/712466c6a872ad8af176f3dd9ab42d863bf7c2 +++ /dev/null @@ -1 +0,0 @@ -x]K0ίxnD9Aaͫ!h~7uC6Esprs&IT2zxR"CBHˆ7Y %WP9l1RQU,$FDf~\W$/u,-`jCT*kXfAih cHj[<철ؾiYgt/⒂x|<3RBQ&w4b)HikXao' 3\ёc)XP#4-Bs[kIDY(!!ND^]G-:bkfw^֫Ӷ%j668?A1| 0S{4ĉ~G0Y{|La2}w, \ No newline at end of file diff --git a/RockOS/.git-backup/objects/48/c1ad8bb97067eb971bd3aed1a4b2a9457995ff b/RockOS/.git-backup/objects/48/c1ad8bb97067eb971bd3aed1a4b2a9457995ff deleted file mode 100644 index 09b5ad4..0000000 Binary files a/RockOS/.git-backup/objects/48/c1ad8bb97067eb971bd3aed1a4b2a9457995ff and /dev/null differ diff --git a/RockOS/.git-backup/objects/48/df965268e6f964bc608bd3ec3cab97e38ea4aa b/RockOS/.git-backup/objects/48/df965268e6f964bc608bd3ec3cab97e38ea4aa deleted file mode 100644 index f6a4037..0000000 --- a/RockOS/.git-backup/objects/48/df965268e6f964bc608bd3ec3cab97e38ea4aa +++ /dev/null @@ -1,2 +0,0 @@ -xQj E*fDFneƌvt ;\8Z)i̠ڲE^T4+:*ƄES+uYfúl+HJ-SD^uge |TpjQ0OSMKx,fYĽ}os -WM1cb0x^Ow5 ;dO8Z6 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/49/2d57740cb9917dbad3da9eaa15684661a49110 b/RockOS/.git-backup/objects/49/2d57740cb9917dbad3da9eaa15684661a49110 deleted file mode 100644 index 48244aa..0000000 Binary files a/RockOS/.git-backup/objects/49/2d57740cb9917dbad3da9eaa15684661a49110 and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/33f0ed21ec2800c8fdd33fdcb6bc90cb596dd6 b/RockOS/.git-backup/objects/49/33f0ed21ec2800c8fdd33fdcb6bc90cb596dd6 deleted file mode 100644 index 7977323..0000000 Binary files a/RockOS/.git-backup/objects/49/33f0ed21ec2800c8fdd33fdcb6bc90cb596dd6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/4e1c58b74f066f71f5de97b32310a8c6053781 b/RockOS/.git-backup/objects/49/4e1c58b74f066f71f5de97b32310a8c6053781 deleted file mode 100644 index 33315ff..0000000 Binary files a/RockOS/.git-backup/objects/49/4e1c58b74f066f71f5de97b32310a8c6053781 and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/5162c193201cb3c36787ff23f6fd47f69755e5 b/RockOS/.git-backup/objects/49/5162c193201cb3c36787ff23f6fd47f69755e5 deleted file mode 100644 index 257245a..0000000 Binary files a/RockOS/.git-backup/objects/49/5162c193201cb3c36787ff23f6fd47f69755e5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/712d72a0e63239bd1d2287b96346939b8ef3a6 b/RockOS/.git-backup/objects/49/712d72a0e63239bd1d2287b96346939b8ef3a6 deleted file mode 100644 index c94c1f4..0000000 Binary files a/RockOS/.git-backup/objects/49/712d72a0e63239bd1d2287b96346939b8ef3a6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/74d3d08980539a874ec700830a2625a1cfc51f b/RockOS/.git-backup/objects/49/74d3d08980539a874ec700830a2625a1cfc51f deleted file mode 100644 index 64e8f9a..0000000 Binary files a/RockOS/.git-backup/objects/49/74d3d08980539a874ec700830a2625a1cfc51f and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/b7a2512c6302a3962164b3d2a7206dc246768a b/RockOS/.git-backup/objects/49/b7a2512c6302a3962164b3d2a7206dc246768a deleted file mode 100644 index 2826a24..0000000 Binary files a/RockOS/.git-backup/objects/49/b7a2512c6302a3962164b3d2a7206dc246768a and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/cb2205d0217c5a3d40a9d7b0a81e9e385a49a9 b/RockOS/.git-backup/objects/49/cb2205d0217c5a3d40a9d7b0a81e9e385a49a9 deleted file mode 100644 index 2fdefe7..0000000 Binary files a/RockOS/.git-backup/objects/49/cb2205d0217c5a3d40a9d7b0a81e9e385a49a9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/49/d5d2e91ab4ab830832b298b6dfeeccaf1c773e b/RockOS/.git-backup/objects/49/d5d2e91ab4ab830832b298b6dfeeccaf1c773e deleted file mode 100644 index 350df34..0000000 Binary files a/RockOS/.git-backup/objects/49/d5d2e91ab4ab830832b298b6dfeeccaf1c773e and /dev/null differ diff --git a/RockOS/.git-backup/objects/4a/073813e00e19b781e98918c89409052817714b b/RockOS/.git-backup/objects/4a/073813e00e19b781e98918c89409052817714b deleted file mode 100644 index 712e7eb..0000000 Binary files a/RockOS/.git-backup/objects/4a/073813e00e19b781e98918c89409052817714b and /dev/null differ diff --git a/RockOS/.git-backup/objects/4a/12ca187d443d37f99d177ec839a52ab78dff98 b/RockOS/.git-backup/objects/4a/12ca187d443d37f99d177ec839a52ab78dff98 deleted file mode 100644 index 9bc3571..0000000 Binary files a/RockOS/.git-backup/objects/4a/12ca187d443d37f99d177ec839a52ab78dff98 and /dev/null differ diff --git a/RockOS/.git-backup/objects/4a/1c4f8cc2edf4f95558a23846ce4947ea481f1b b/RockOS/.git-backup/objects/4a/1c4f8cc2edf4f95558a23846ce4947ea481f1b deleted file mode 100644 index cb0aabe..0000000 Binary files a/RockOS/.git-backup/objects/4a/1c4f8cc2edf4f95558a23846ce4947ea481f1b and /dev/null differ diff --git a/RockOS/.git-backup/objects/4a/2893175992db18ab85a55dd50966b60ad51433 b/RockOS/.git-backup/objects/4a/2893175992db18ab85a55dd50966b60ad51433 deleted file mode 100644 index 8474a50..0000000 Binary files a/RockOS/.git-backup/objects/4a/2893175992db18ab85a55dd50966b60ad51433 and /dev/null differ diff --git a/RockOS/.git-backup/objects/4a/567c25612ca887665ff2b25b49af7c90bab688 b/RockOS/.git-backup/objects/4a/567c25612ca887665ff2b25b49af7c90bab688 deleted file mode 100644 index dd17358..0000000 --- a/RockOS/.git-backup/objects/4a/567c25612ca887665ff2b25b49af7c90bab688 +++ /dev/null @@ -1 +0,0 @@ -x+)JMU03c040031QLIKfl]gܶk$ \kT; 7=g :7DGӄKqIzY$t8̵_;.6@7O'vPo-'}-2U*J9QB^p<"#tN\5 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/51/05aa220e621d15a2094519ec3810e28f9758f9 b/RockOS/.git-backup/objects/51/05aa220e621d15a2094519ec3810e28f9758f9 deleted file mode 100644 index d4b52d8..0000000 Binary files a/RockOS/.git-backup/objects/51/05aa220e621d15a2094519ec3810e28f9758f9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/51/585afdb3d4d8de785f4bfa6cdbe798de6c1fd8 b/RockOS/.git-backup/objects/51/585afdb3d4d8de785f4bfa6cdbe798de6c1fd8 deleted file mode 100644 index 1322bf0..0000000 Binary files a/RockOS/.git-backup/objects/51/585afdb3d4d8de785f4bfa6cdbe798de6c1fd8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/51/a4cb8c77770ff368c68a121296fb268730e362 b/RockOS/.git-backup/objects/51/a4cb8c77770ff368c68a121296fb268730e362 deleted file mode 100644 index f4ecc22..0000000 Binary files a/RockOS/.git-backup/objects/51/a4cb8c77770ff368c68a121296fb268730e362 and /dev/null differ diff --git a/RockOS/.git-backup/objects/52/2f161caf19b692a4cc89d2ab129889dcc3936f b/RockOS/.git-backup/objects/52/2f161caf19b692a4cc89d2ab129889dcc3936f deleted file mode 100644 index d4bec83..0000000 --- a/RockOS/.git-backup/objects/52/2f161caf19b692a4cc89d2ab129889dcc3936f +++ /dev/null @@ -1,4 +0,0 @@ -xmA0{ίxe/ BaO-(ja{LbKljUדt{<|oN9w)*erG^rK4MDczHR`ߜ*cmj4Vة~ -${ak2-^3ԦPu a,(V/=~J<Ϋ|9-?5eH -ԅ8lE{!w{0*qQ[c:V!",c*o5=_0??+gU2нF \[/ I.(EX_Vɖ(->ǚ o!+-ibkLon҃sZN-7 D38򮵄K<zKs?}> Bu̴L#d(=K`=VǑ0'8Bi&RgL1_w9b96'+`m=qF`+HRKL\ -5/zXl39ۅŘ^V xڷ KI & \ No newline at end of file diff --git a/RockOS/.git-backup/objects/57/0eefd1041f2542762b968ba27594cdca244676 b/RockOS/.git-backup/objects/57/0eefd1041f2542762b968ba27594cdca244676 deleted file mode 100644 index 7555dde..0000000 Binary files a/RockOS/.git-backup/objects/57/0eefd1041f2542762b968ba27594cdca244676 and /dev/null differ diff --git a/RockOS/.git-backup/objects/57/14aea25816586ff28458733f4683fcff9e3b09 b/RockOS/.git-backup/objects/57/14aea25816586ff28458733f4683fcff9e3b09 deleted file mode 100644 index 2400613..0000000 Binary files a/RockOS/.git-backup/objects/57/14aea25816586ff28458733f4683fcff9e3b09 and /dev/null differ diff --git a/RockOS/.git-backup/objects/57/35e048fd6b1dd8268337ac233800dcabba34ba b/RockOS/.git-backup/objects/57/35e048fd6b1dd8268337ac233800dcabba34ba deleted file mode 100644 index 7acc84a..0000000 Binary files a/RockOS/.git-backup/objects/57/35e048fd6b1dd8268337ac233800dcabba34ba and /dev/null differ diff --git a/RockOS/.git-backup/objects/57/d7d34c6d797b9ceef5de13091eeb56ff8e2eac b/RockOS/.git-backup/objects/57/d7d34c6d797b9ceef5de13091eeb56ff8e2eac deleted file mode 100644 index 9ca3925..0000000 --- a/RockOS/.git-backup/objects/57/d7d34c6d797b9ceef5de13091eeb56ff8e2eac +++ /dev/null @@ -1 +0,0 @@ -xA! @QלP1^eN;Wp[8G Q1XNH'kJY͛W]0YLxVX(IJDʓ 6ϾV%k[_s=n!:!ђfi}UZ{m|J1?>G \ No newline at end of file diff --git a/RockOS/.git-backup/objects/57/e48054139c2bd7bd0bf8591e95d701759e9570 b/RockOS/.git-backup/objects/57/e48054139c2bd7bd0bf8591e95d701759e9570 deleted file mode 100644 index e10ea2a..0000000 Binary files a/RockOS/.git-backup/objects/57/e48054139c2bd7bd0bf8591e95d701759e9570 and /dev/null differ diff --git a/RockOS/.git-backup/objects/57/f6256626bbacd4ec3460ebfa71abff161a3fd1 b/RockOS/.git-backup/objects/57/f6256626bbacd4ec3460ebfa71abff161a3fd1 deleted file mode 100644 index c69ab30..0000000 Binary files a/RockOS/.git-backup/objects/57/f6256626bbacd4ec3460ebfa71abff161a3fd1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/58/38a1b2a0fb9a6be0c1922cb44663f16b452163 b/RockOS/.git-backup/objects/58/38a1b2a0fb9a6be0c1922cb44663f16b452163 deleted file mode 100644 index 3cb6e9b..0000000 Binary files a/RockOS/.git-backup/objects/58/38a1b2a0fb9a6be0c1922cb44663f16b452163 and /dev/null differ diff --git a/RockOS/.git-backup/objects/58/7e6da2111daf161a8feeee7279ecbe1abbd94a b/RockOS/.git-backup/objects/58/7e6da2111daf161a8feeee7279ecbe1abbd94a deleted file mode 100644 index 6203c02..0000000 Binary files a/RockOS/.git-backup/objects/58/7e6da2111daf161a8feeee7279ecbe1abbd94a and /dev/null differ diff --git a/RockOS/.git-backup/objects/58/fa469e44ed80e440907d20b62e31d737c4d9de b/RockOS/.git-backup/objects/58/fa469e44ed80e440907d20b62e31d737c4d9de deleted file mode 100644 index 30485c7..0000000 Binary files a/RockOS/.git-backup/objects/58/fa469e44ed80e440907d20b62e31d737c4d9de and /dev/null differ diff --git a/RockOS/.git-backup/objects/59/b6299c2e3c6e622c9de9e02a8e55221399ce50 b/RockOS/.git-backup/objects/59/b6299c2e3c6e622c9de9e02a8e55221399ce50 deleted file mode 100644 index 3aa7f67..0000000 Binary files a/RockOS/.git-backup/objects/59/b6299c2e3c6e622c9de9e02a8e55221399ce50 and /dev/null differ diff --git a/RockOS/.git-backup/objects/59/d7b8f36793a15f6c3b22ca5494d5b86942fc37 b/RockOS/.git-backup/objects/59/d7b8f36793a15f6c3b22ca5494d5b86942fc37 deleted file mode 100644 index 1cfd5cf..0000000 Binary files a/RockOS/.git-backup/objects/59/d7b8f36793a15f6c3b22ca5494d5b86942fc37 and /dev/null differ diff --git a/RockOS/.git-backup/objects/59/f6303b450fe85cd4c2600f3fa2a2cfba3cd3ca b/RockOS/.git-backup/objects/59/f6303b450fe85cd4c2600f3fa2a2cfba3cd3ca deleted file mode 100644 index cff3a07..0000000 Binary files a/RockOS/.git-backup/objects/59/f6303b450fe85cd4c2600f3fa2a2cfba3cd3ca and /dev/null differ diff --git a/RockOS/.git-backup/objects/5a/1db77097ab4fbbd1d7a47553e211b4a1ce3b64 b/RockOS/.git-backup/objects/5a/1db77097ab4fbbd1d7a47553e211b4a1ce3b64 deleted file mode 100644 index 803c977..0000000 Binary files a/RockOS/.git-backup/objects/5a/1db77097ab4fbbd1d7a47553e211b4a1ce3b64 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5a/2511ee412c8f2b93f2547eb0c755480f2cd04f b/RockOS/.git-backup/objects/5a/2511ee412c8f2b93f2547eb0c755480f2cd04f deleted file mode 100644 index 3dac6af..0000000 Binary files a/RockOS/.git-backup/objects/5a/2511ee412c8f2b93f2547eb0c755480f2cd04f and /dev/null differ diff --git a/RockOS/.git-backup/objects/5a/65882a74a209f54787e917fd0f61e307a30cef b/RockOS/.git-backup/objects/5a/65882a74a209f54787e917fd0f61e307a30cef deleted file mode 100644 index ffe83a8..0000000 Binary files a/RockOS/.git-backup/objects/5a/65882a74a209f54787e917fd0f61e307a30cef and /dev/null differ diff --git a/RockOS/.git-backup/objects/5a/7e9d5d84f9faf5b4a0894064de7af3e95a9ce8 b/RockOS/.git-backup/objects/5a/7e9d5d84f9faf5b4a0894064de7af3e95a9ce8 deleted file mode 100644 index 78d9467..0000000 Binary files a/RockOS/.git-backup/objects/5a/7e9d5d84f9faf5b4a0894064de7af3e95a9ce8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5a/8dc6cc431235ac2a80d748f09a2f835c7c6569 b/RockOS/.git-backup/objects/5a/8dc6cc431235ac2a80d748f09a2f835c7c6569 deleted file mode 100644 index 9ad0925..0000000 Binary files a/RockOS/.git-backup/objects/5a/8dc6cc431235ac2a80d748f09a2f835c7c6569 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5a/9d42fee8fcdf41746560ee573d27065043b5c2 b/RockOS/.git-backup/objects/5a/9d42fee8fcdf41746560ee573d27065043b5c2 deleted file mode 100644 index 276cbb5..0000000 Binary files a/RockOS/.git-backup/objects/5a/9d42fee8fcdf41746560ee573d27065043b5c2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5c/235119138ac921d86731c213ef46a543dda212 b/RockOS/.git-backup/objects/5c/235119138ac921d86731c213ef46a543dda212 deleted file mode 100644 index 556824c..0000000 Binary files a/RockOS/.git-backup/objects/5c/235119138ac921d86731c213ef46a543dda212 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5c/332afd25fdc37f42447e462c84fa48d6d3b61c b/RockOS/.git-backup/objects/5c/332afd25fdc37f42447e462c84fa48d6d3b61c deleted file mode 100644 index f1523b6..0000000 Binary files a/RockOS/.git-backup/objects/5c/332afd25fdc37f42447e462c84fa48d6d3b61c and /dev/null differ diff --git a/RockOS/.git-backup/objects/5c/7febbbf0de9ca0d3f02efb50a2688f14b17d75 b/RockOS/.git-backup/objects/5c/7febbbf0de9ca0d3f02efb50a2688f14b17d75 deleted file mode 100644 index ac21e1c..0000000 Binary files a/RockOS/.git-backup/objects/5c/7febbbf0de9ca0d3f02efb50a2688f14b17d75 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5c/d869028e4804cfe988b122ebf8c77716e4b587 b/RockOS/.git-backup/objects/5c/d869028e4804cfe988b122ebf8c77716e4b587 deleted file mode 100644 index 6d63353..0000000 Binary files a/RockOS/.git-backup/objects/5c/d869028e4804cfe988b122ebf8c77716e4b587 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5c/f5f3d08797184e924fb835c05fdd8419c8c8f7 b/RockOS/.git-backup/objects/5c/f5f3d08797184e924fb835c05fdd8419c8c8f7 deleted file mode 100644 index f356834..0000000 Binary files a/RockOS/.git-backup/objects/5c/f5f3d08797184e924fb835c05fdd8419c8c8f7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/0c2fbd70090b8f9fd1f8c71dff11de51aec5fe b/RockOS/.git-backup/objects/5d/0c2fbd70090b8f9fd1f8c71dff11de51aec5fe deleted file mode 100644 index 462fe77..0000000 Binary files a/RockOS/.git-backup/objects/5d/0c2fbd70090b8f9fd1f8c71dff11de51aec5fe and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/3e795722de85ce1112f2071d6495e44179c808 b/RockOS/.git-backup/objects/5d/3e795722de85ce1112f2071d6495e44179c808 deleted file mode 100644 index 45daa59..0000000 Binary files a/RockOS/.git-backup/objects/5d/3e795722de85ce1112f2071d6495e44179c808 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/502c8df69b88cc7a1edb101252dc770ad018fe b/RockOS/.git-backup/objects/5d/502c8df69b88cc7a1edb101252dc770ad018fe deleted file mode 100644 index ac8082c..0000000 Binary files a/RockOS/.git-backup/objects/5d/502c8df69b88cc7a1edb101252dc770ad018fe and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/50ee8ae7e9c45789711a679ddba1c6cce836a3 b/RockOS/.git-backup/objects/5d/50ee8ae7e9c45789711a679ddba1c6cce836a3 deleted file mode 100644 index ac9f569..0000000 Binary files a/RockOS/.git-backup/objects/5d/50ee8ae7e9c45789711a679ddba1c6cce836a3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/608d067ca11e1467622b9021fc66fadc2eb794 b/RockOS/.git-backup/objects/5d/608d067ca11e1467622b9021fc66fadc2eb794 deleted file mode 100644 index 566cd9d..0000000 Binary files a/RockOS/.git-backup/objects/5d/608d067ca11e1467622b9021fc66fadc2eb794 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/69eb643f595daf731b5d0b605be7e55c120f85 b/RockOS/.git-backup/objects/5d/69eb643f595daf731b5d0b605be7e55c120f85 deleted file mode 100644 index 6546c6d..0000000 Binary files a/RockOS/.git-backup/objects/5d/69eb643f595daf731b5d0b605be7e55c120f85 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5d/b0a453803d116661f741b56a7660535ed4b774 b/RockOS/.git-backup/objects/5d/b0a453803d116661f741b56a7660535ed4b774 deleted file mode 100644 index 1239fca..0000000 Binary files a/RockOS/.git-backup/objects/5d/b0a453803d116661f741b56a7660535ed4b774 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5e/0186c7825d5142006dcd69845e111d70702a45 b/RockOS/.git-backup/objects/5e/0186c7825d5142006dcd69845e111d70702a45 deleted file mode 100644 index 2182623..0000000 Binary files a/RockOS/.git-backup/objects/5e/0186c7825d5142006dcd69845e111d70702a45 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5e/7e0cc6faaea164a35eb43334d5f5aee426b279 b/RockOS/.git-backup/objects/5e/7e0cc6faaea164a35eb43334d5f5aee426b279 deleted file mode 100644 index e1e70fc..0000000 Binary files a/RockOS/.git-backup/objects/5e/7e0cc6faaea164a35eb43334d5f5aee426b279 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5e/8d589665d0fbc9e06b54c359d93636d3f5d33f b/RockOS/.git-backup/objects/5e/8d589665d0fbc9e06b54c359d93636d3f5d33f deleted file mode 100644 index c48f6f6..0000000 Binary files a/RockOS/.git-backup/objects/5e/8d589665d0fbc9e06b54c359d93636d3f5d33f and /dev/null differ diff --git a/RockOS/.git-backup/objects/5e/f21ecf44a32f8734dd1a4d6c2bd4cd326e3618 b/RockOS/.git-backup/objects/5e/f21ecf44a32f8734dd1a4d6c2bd4cd326e3618 deleted file mode 100644 index 58c6871..0000000 Binary files a/RockOS/.git-backup/objects/5e/f21ecf44a32f8734dd1a4d6c2bd4cd326e3618 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5f/2e3f3ef9d68379a940feb2a760e4e0570e1143 b/RockOS/.git-backup/objects/5f/2e3f3ef9d68379a940feb2a760e4e0570e1143 deleted file mode 100644 index 4c0269e..0000000 Binary files a/RockOS/.git-backup/objects/5f/2e3f3ef9d68379a940feb2a760e4e0570e1143 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5f/35b1b23b4cbde213636c593c220cc03b614182 b/RockOS/.git-backup/objects/5f/35b1b23b4cbde213636c593c220cc03b614182 deleted file mode 100644 index 349c9d5..0000000 Binary files a/RockOS/.git-backup/objects/5f/35b1b23b4cbde213636c593c220cc03b614182 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5f/81f8d144b4d3b0370d405b4da3e2c8b921c7d2 b/RockOS/.git-backup/objects/5f/81f8d144b4d3b0370d405b4da3e2c8b921c7d2 deleted file mode 100644 index 435b083..0000000 Binary files a/RockOS/.git-backup/objects/5f/81f8d144b4d3b0370d405b4da3e2c8b921c7d2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/5f/87486b27cbf2118b499162b49ef3713c5811db b/RockOS/.git-backup/objects/5f/87486b27cbf2118b499162b49ef3713c5811db deleted file mode 100644 index b545ad2..0000000 Binary files a/RockOS/.git-backup/objects/5f/87486b27cbf2118b499162b49ef3713c5811db and /dev/null differ diff --git a/RockOS/.git-backup/objects/5f/9df7dbd7ab0a34098f9f4d1144f8c09e8ee734 b/RockOS/.git-backup/objects/5f/9df7dbd7ab0a34098f9f4d1144f8c09e8ee734 deleted file mode 100644 index 9419348..0000000 Binary files a/RockOS/.git-backup/objects/5f/9df7dbd7ab0a34098f9f4d1144f8c09e8ee734 and /dev/null differ diff --git a/RockOS/.git-backup/objects/60/209522ccdf3009eb95cfb3c28f99523c0f77fe b/RockOS/.git-backup/objects/60/209522ccdf3009eb95cfb3c28f99523c0f77fe deleted file mode 100644 index 2cb73b3..0000000 Binary files a/RockOS/.git-backup/objects/60/209522ccdf3009eb95cfb3c28f99523c0f77fe and /dev/null differ diff --git a/RockOS/.git-backup/objects/60/68ba20c4e1e814efc222127eec69ea434b03ad b/RockOS/.git-backup/objects/60/68ba20c4e1e814efc222127eec69ea434b03ad deleted file mode 100644 index de0b2f3..0000000 Binary files a/RockOS/.git-backup/objects/60/68ba20c4e1e814efc222127eec69ea434b03ad and /dev/null differ diff --git a/RockOS/.git-backup/objects/60/7cf64ec837f94561fb3a08594f7045ed6201f2 b/RockOS/.git-backup/objects/60/7cf64ec837f94561fb3a08594f7045ed6201f2 deleted file mode 100644 index 562e9ae..0000000 Binary files a/RockOS/.git-backup/objects/60/7cf64ec837f94561fb3a08594f7045ed6201f2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/60/7d61e1dd225d54b811d0f5a02864f0c17aa0cd b/RockOS/.git-backup/objects/60/7d61e1dd225d54b811d0f5a02864f0c17aa0cd deleted file mode 100644 index 4f2c9a8..0000000 --- a/RockOS/.git-backup/objects/60/7d61e1dd225d54b811d0f5a02864f0c17aa0cd +++ /dev/null @@ -1,3 +0,0 @@ -xSMo@ٿbHRC{"A#$ -']^'Eom VCyvޛyT)|n8z1}&MF3s~SP)x R[?6PV`Q%e]BS}k;PBU)iot"aJ`r*7Hd!98F 1xqIfe W&'oGV\8XƎC"?r'XT廭~uA/ p<`c#6.U&1u\FxEOQ8?jٔu1[< {e[E8ф"ޟ VLwԄ̌]b%/Юl7>Hk㝬'5 Zzz=Oû3s$v]ZZK#mwߺ0icnNws]hrfcfīNWmY+/f 2,8H(lgUƶ: -??E \ No newline at end of file diff --git a/RockOS/.git-backup/objects/60/cf61bb71f760aa80ebd5c8bd84ed93d5fe7138 b/RockOS/.git-backup/objects/60/cf61bb71f760aa80ebd5c8bd84ed93d5fe7138 deleted file mode 100644 index e43965c..0000000 Binary files a/RockOS/.git-backup/objects/60/cf61bb71f760aa80ebd5c8bd84ed93d5fe7138 and /dev/null differ diff --git a/RockOS/.git-backup/objects/60/f1523db327b7eedc7d8c84a02bfa0fd272ab58 b/RockOS/.git-backup/objects/60/f1523db327b7eedc7d8c84a02bfa0fd272ab58 deleted file mode 100644 index bda8d32..0000000 Binary files a/RockOS/.git-backup/objects/60/f1523db327b7eedc7d8c84a02bfa0fd272ab58 and /dev/null differ diff --git a/RockOS/.git-backup/objects/61/0cbf880930a6c6b59c22e6b5165e76ee6693f1 b/RockOS/.git-backup/objects/61/0cbf880930a6c6b59c22e6b5165e76ee6693f1 deleted file mode 100644 index 3d10c1d..0000000 Binary files a/RockOS/.git-backup/objects/61/0cbf880930a6c6b59c22e6b5165e76ee6693f1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/61/3c6a4cee0adb2a457222c19b5f12d966934d8b b/RockOS/.git-backup/objects/61/3c6a4cee0adb2a457222c19b5f12d966934d8b deleted file mode 100644 index 834138d..0000000 Binary files a/RockOS/.git-backup/objects/61/3c6a4cee0adb2a457222c19b5f12d966934d8b and /dev/null differ diff --git a/RockOS/.git-backup/objects/61/49f73c3640a4368320bfdc96db9983887bf5e1 b/RockOS/.git-backup/objects/61/49f73c3640a4368320bfdc96db9983887bf5e1 deleted file mode 100644 index e278579..0000000 Binary files a/RockOS/.git-backup/objects/61/49f73c3640a4368320bfdc96db9983887bf5e1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/61/6c2d4b9e3ea56079fab0e6379c67c02b4168ec b/RockOS/.git-backup/objects/61/6c2d4b9e3ea56079fab0e6379c67c02b4168ec deleted file mode 100644 index a23864a..0000000 Binary files a/RockOS/.git-backup/objects/61/6c2d4b9e3ea56079fab0e6379c67c02b4168ec and /dev/null differ diff --git a/RockOS/.git-backup/objects/62/2c0a8e7d6f8cdfb16469dc9d8ee04af82496bd b/RockOS/.git-backup/objects/62/2c0a8e7d6f8cdfb16469dc9d8ee04af82496bd deleted file mode 100644 index 62c1c70..0000000 Binary files a/RockOS/.git-backup/objects/62/2c0a8e7d6f8cdfb16469dc9d8ee04af82496bd and /dev/null differ diff --git a/RockOS/.git-backup/objects/62/56e25b90d765fc218f41b584a2c3dc6184c5fe b/RockOS/.git-backup/objects/62/56e25b90d765fc218f41b584a2c3dc6184c5fe deleted file mode 100644 index 4ae8198..0000000 Binary files a/RockOS/.git-backup/objects/62/56e25b90d765fc218f41b584a2c3dc6184c5fe and /dev/null differ diff --git a/RockOS/.git-backup/objects/62/61376c53ac9b26efcf1165331155a2f5d08c17 b/RockOS/.git-backup/objects/62/61376c53ac9b26efcf1165331155a2f5d08c17 deleted file mode 100644 index ce3d3c5..0000000 Binary files a/RockOS/.git-backup/objects/62/61376c53ac9b26efcf1165331155a2f5d08c17 and /dev/null differ diff --git a/RockOS/.git-backup/objects/62/83e46f22968e62257a7fbad365cc545c408884 b/RockOS/.git-backup/objects/62/83e46f22968e62257a7fbad365cc545c408884 deleted file mode 100644 index 609487a..0000000 --- a/RockOS/.git-backup/objects/62/83e46f22968e62257a7fbad365cc545c408884 +++ /dev/null @@ -1,2 +0,0 @@ -xU =zƘz4h_C -Y~.wovg&'8iᐝImH"һ@j=D=[{ 藐zyzb\EGxUә@ZQ/5W[>) >o \ No newline at end of file diff --git a/RockOS/.git-backup/objects/63/025e70a89f3fe8025743983f9458ab3c6e5a44 b/RockOS/.git-backup/objects/63/025e70a89f3fe8025743983f9458ab3c6e5a44 deleted file mode 100644 index 84aa754..0000000 Binary files a/RockOS/.git-backup/objects/63/025e70a89f3fe8025743983f9458ab3c6e5a44 and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/209b9e06b664407e83e93c52dff2dcd02e36cb b/RockOS/.git-backup/objects/63/209b9e06b664407e83e93c52dff2dcd02e36cb deleted file mode 100644 index f45f070..0000000 Binary files a/RockOS/.git-backup/objects/63/209b9e06b664407e83e93c52dff2dcd02e36cb and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/31d9d35e24c0d090892337bc4ef2637909a3e7 b/RockOS/.git-backup/objects/63/31d9d35e24c0d090892337bc4ef2637909a3e7 deleted file mode 100644 index 46784d6..0000000 Binary files a/RockOS/.git-backup/objects/63/31d9d35e24c0d090892337bc4ef2637909a3e7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/4d8b9dca46e197150de2fe84c7f65c5ec8efb2 b/RockOS/.git-backup/objects/63/4d8b9dca46e197150de2fe84c7f65c5ec8efb2 deleted file mode 100644 index fcdc79c..0000000 Binary files a/RockOS/.git-backup/objects/63/4d8b9dca46e197150de2fe84c7f65c5ec8efb2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/4dc0edee3bdc11d234be77107c5202be09f76f b/RockOS/.git-backup/objects/63/4dc0edee3bdc11d234be77107c5202be09f76f deleted file mode 100644 index beb252b..0000000 Binary files a/RockOS/.git-backup/objects/63/4dc0edee3bdc11d234be77107c5202be09f76f and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/755fe9518aa4ce9a8170d560f6e49e0701c5e0 b/RockOS/.git-backup/objects/63/755fe9518aa4ce9a8170d560f6e49e0701c5e0 deleted file mode 100644 index b718613..0000000 Binary files a/RockOS/.git-backup/objects/63/755fe9518aa4ce9a8170d560f6e49e0701c5e0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/8493a8ef4d7c52758c49832b780a1e1977ca37 b/RockOS/.git-backup/objects/63/8493a8ef4d7c52758c49832b780a1e1977ca37 deleted file mode 100644 index 8cf8577..0000000 Binary files a/RockOS/.git-backup/objects/63/8493a8ef4d7c52758c49832b780a1e1977ca37 and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/86dfb1d1dc06c1c63af6dbcca27c6d1fa9f49d b/RockOS/.git-backup/objects/63/86dfb1d1dc06c1c63af6dbcca27c6d1fa9f49d deleted file mode 100644 index 5c83bf8..0000000 Binary files a/RockOS/.git-backup/objects/63/86dfb1d1dc06c1c63af6dbcca27c6d1fa9f49d and /dev/null differ diff --git a/RockOS/.git-backup/objects/63/cf55fa64b20dabf179d2ea62ad360ce94818e1 b/RockOS/.git-backup/objects/63/cf55fa64b20dabf179d2ea62ad360ce94818e1 deleted file mode 100644 index f76a8ab..0000000 Binary files a/RockOS/.git-backup/objects/63/cf55fa64b20dabf179d2ea62ad360ce94818e1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/64/1446f7a5fe1301be62b5f2f021d3e5d9736162 b/RockOS/.git-backup/objects/64/1446f7a5fe1301be62b5f2f021d3e5d9736162 deleted file mode 100644 index a41209f..0000000 --- a/RockOS/.git-backup/objects/64/1446f7a5fe1301be62b5f2f021d3e5d9736162 +++ /dev/null @@ -1,4 +0,0 @@ -xTmo0k+NKV1!uR;!ʀYyq$lMwv:Ej{GKV.p-UUX1,I%hX 6T~`7E>~A .Ya -a)/ Ҕ -&R.,Q.eL= -sR$IU%=!dF#Rڦ}d`Fà=f%Qd`*Τ]G'xoj(0?'蜢ij|4rFg=nI֛zyT!wASM~y"՗g?l>>,o?tң%=$F_Lʰ mUU/j7z[\Cޒ!; FZqNCAd,J^ͳ^c Lߖ* RPeUvbw;\ k8ܠ `(UAcsJ; uRE:@16|83%؝|_VY9@g!Fa&Qe"COoIҠeJR^*2ÏxLQJRjWN7.OSIc'~2f3(oN*<ȨިE!7`E \ No newline at end of file diff --git a/RockOS/.git-backup/objects/64/1983f2ca4d869f0b717b345c2e7030d208884a b/RockOS/.git-backup/objects/64/1983f2ca4d869f0b717b345c2e7030d208884a deleted file mode 100644 index 28fe7c0..0000000 Binary files a/RockOS/.git-backup/objects/64/1983f2ca4d869f0b717b345c2e7030d208884a and /dev/null differ diff --git a/RockOS/.git-backup/objects/64/1f0d86b7ac5ea95bbd61729b1780105210cebd b/RockOS/.git-backup/objects/64/1f0d86b7ac5ea95bbd61729b1780105210cebd deleted file mode 100644 index d42e980..0000000 Binary files a/RockOS/.git-backup/objects/64/1f0d86b7ac5ea95bbd61729b1780105210cebd and /dev/null differ diff --git a/RockOS/.git-backup/objects/64/f2751c431753ee967ac8f19cfdb848d1636da0 b/RockOS/.git-backup/objects/64/f2751c431753ee967ac8f19cfdb848d1636da0 deleted file mode 100644 index d88aa5c..0000000 --- a/RockOS/.git-backup/objects/64/f2751c431753ee967ac8f19cfdb848d1636da0 +++ /dev/null @@ -1,3 +0,0 @@ -xuNK -0uS $?*!m:&I*"MA g-ޯPr]o(Y w|h+!,pFt2Ltm -{,9jfr*#ט͆02qʐEocJG1.Ge o*IO \ No newline at end of file diff --git a/RockOS/.git-backup/objects/65/3f89ea72b3d8780af0621f1942d2df2be8973b b/RockOS/.git-backup/objects/65/3f89ea72b3d8780af0621f1942d2df2be8973b deleted file mode 100644 index 3254557..0000000 Binary files a/RockOS/.git-backup/objects/65/3f89ea72b3d8780af0621f1942d2df2be8973b and /dev/null differ diff --git a/RockOS/.git-backup/objects/65/5f862f4f08676bc0f912f14add1eb22ff5d314 b/RockOS/.git-backup/objects/65/5f862f4f08676bc0f912f14add1eb22ff5d314 deleted file mode 100644 index 0ec88d3..0000000 --- a/RockOS/.git-backup/objects/65/5f862f4f08676bc0f912f14add1eb22ff5d314 +++ /dev/null @@ -1,3 +0,0 @@ -xU - D{ޯK P3ei-%W7 6y;^mOY^d- @D3s OdY(Ք"n`Ge -5FՄC;!Ῥ~*Pg/J \ No newline at end of file diff --git a/RockOS/.git-backup/objects/65/7a45995b1cd7e2502d2dc157b822998e13b73f b/RockOS/.git-backup/objects/65/7a45995b1cd7e2502d2dc157b822998e13b73f deleted file mode 100644 index ea0b4fc..0000000 Binary files a/RockOS/.git-backup/objects/65/7a45995b1cd7e2502d2dc157b822998e13b73f and /dev/null differ diff --git a/RockOS/.git-backup/objects/65/e808478d52967ea19ebc3d8f005217c26da623 b/RockOS/.git-backup/objects/65/e808478d52967ea19ebc3d8f005217c26da623 deleted file mode 100644 index acec8a3..0000000 Binary files a/RockOS/.git-backup/objects/65/e808478d52967ea19ebc3d8f005217c26da623 and /dev/null differ diff --git a/RockOS/.git-backup/objects/65/e997e831772e380a1defd748e8fc802e0c9728 b/RockOS/.git-backup/objects/65/e997e831772e380a1defd748e8fc802e0c9728 deleted file mode 100644 index 45f0170..0000000 Binary files a/RockOS/.git-backup/objects/65/e997e831772e380a1defd748e8fc802e0c9728 and /dev/null differ diff --git a/RockOS/.git-backup/objects/65/fe48dbe29801bc04a40de2ac35070cd30ae96c b/RockOS/.git-backup/objects/65/fe48dbe29801bc04a40de2ac35070cd30ae96c deleted file mode 100644 index 4f74890..0000000 Binary files a/RockOS/.git-backup/objects/65/fe48dbe29801bc04a40de2ac35070cd30ae96c and /dev/null differ diff --git a/RockOS/.git-backup/objects/66/4cdc3b335a0389f7ec88207df9aa1bb3b000e5 b/RockOS/.git-backup/objects/66/4cdc3b335a0389f7ec88207df9aa1bb3b000e5 deleted file mode 100644 index b943e5c..0000000 --- a/RockOS/.git-backup/objects/66/4cdc3b335a0389f7ec88207df9aa1bb3b000e5 +++ /dev/null @@ -1,3 +0,0 @@ -xS]@⸛l@k5cYɐeۛL+;wJ -ƨ1s9s㬈~Ypz;|tOݻƲKw׎`R2 \GJHSigm(U2=FOZQYR3^E@UJBP!(TjEq%"ʲ;%% ٜˬk(7S^8yl{,-6bTZO6<־2 ܽ 5χ O u ~SRWXw``u#0 ]StlVt{>?piNJ=Զ8FM60ΫV㽖ϐZffe]:9VÖ~Pagi[O őb -RŕUcR9H6\i?۞ni< HF~`{O\<_e#ҩovL֚FrVSx7}g[(bT \ No newline at end of file diff --git a/RockOS/.git-backup/objects/66/7b8af1b237eb79d43a8ff5f8347126854f73aa b/RockOS/.git-backup/objects/66/7b8af1b237eb79d43a8ff5f8347126854f73aa deleted file mode 100644 index 2552b55..0000000 Binary files a/RockOS/.git-backup/objects/66/7b8af1b237eb79d43a8ff5f8347126854f73aa and /dev/null differ diff --git a/RockOS/.git-backup/objects/66/b74a2d3d78dfcd62337a591afa16d75f02b8f0 b/RockOS/.git-backup/objects/66/b74a2d3d78dfcd62337a591afa16d75f02b8f0 deleted file mode 100644 index 18a601e..0000000 Binary files a/RockOS/.git-backup/objects/66/b74a2d3d78dfcd62337a591afa16d75f02b8f0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/66/c3eddd6c8c894e02a3a34018a2bac09c8fd84e b/RockOS/.git-backup/objects/66/c3eddd6c8c894e02a3a34018a2bac09c8fd84e deleted file mode 100644 index cf89742..0000000 Binary files a/RockOS/.git-backup/objects/66/c3eddd6c8c894e02a3a34018a2bac09c8fd84e and /dev/null differ diff --git a/RockOS/.git-backup/objects/66/d16ee5ff2c1ddc878f80c6ed29b8b8b90e046b b/RockOS/.git-backup/objects/66/d16ee5ff2c1ddc878f80c6ed29b8b8b90e046b deleted file mode 100644 index 2988ca2..0000000 Binary files a/RockOS/.git-backup/objects/66/d16ee5ff2c1ddc878f80c6ed29b8b8b90e046b and /dev/null differ diff --git a/RockOS/.git-backup/objects/67/663c0d57bd30acfc4b6b2f8fb3313c0787c8bc b/RockOS/.git-backup/objects/67/663c0d57bd30acfc4b6b2f8fb3313c0787c8bc deleted file mode 100644 index c5353e2..0000000 Binary files a/RockOS/.git-backup/objects/67/663c0d57bd30acfc4b6b2f8fb3313c0787c8bc and /dev/null differ diff --git a/RockOS/.git-backup/objects/67/bab1e7c7035077538eb5bd37195da2f12ee1b3 b/RockOS/.git-backup/objects/67/bab1e7c7035077538eb5bd37195da2f12ee1b3 deleted file mode 100644 index 3f310e4..0000000 Binary files a/RockOS/.git-backup/objects/67/bab1e7c7035077538eb5bd37195da2f12ee1b3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/68/44338ab2fc08829e0ea6ae65d95be6805ef585 b/RockOS/.git-backup/objects/68/44338ab2fc08829e0ea6ae65d95be6805ef585 deleted file mode 100644 index 7d0cb32..0000000 Binary files a/RockOS/.git-backup/objects/68/44338ab2fc08829e0ea6ae65d95be6805ef585 and /dev/null differ diff --git a/RockOS/.git-backup/objects/68/9f6918fc1c9fda77ccc770157aeca8ae2185ad b/RockOS/.git-backup/objects/68/9f6918fc1c9fda77ccc770157aeca8ae2185ad deleted file mode 100644 index e8e6da1..0000000 Binary files a/RockOS/.git-backup/objects/68/9f6918fc1c9fda77ccc770157aeca8ae2185ad and /dev/null differ diff --git a/RockOS/.git-backup/objects/68/c52acd69871d638f579b380ba651ec253d9796 b/RockOS/.git-backup/objects/68/c52acd69871d638f579b380ba651ec253d9796 deleted file mode 100644 index b63ea89..0000000 Binary files a/RockOS/.git-backup/objects/68/c52acd69871d638f579b380ba651ec253d9796 and /dev/null differ diff --git a/RockOS/.git-backup/objects/68/dbdbb2c8f4798af40df79d6afb037fa1c9af18 b/RockOS/.git-backup/objects/68/dbdbb2c8f4798af40df79d6afb037fa1c9af18 deleted file mode 100644 index 8be1917..0000000 Binary files a/RockOS/.git-backup/objects/68/dbdbb2c8f4798af40df79d6afb037fa1c9af18 and /dev/null differ diff --git a/RockOS/.git-backup/objects/68/f18d283f7a19ab93a351bb1f0639c53f9e6480 b/RockOS/.git-backup/objects/68/f18d283f7a19ab93a351bb1f0639c53f9e6480 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/69/422f919db6602182738e76d54b4f90deef6b34 b/RockOS/.git-backup/objects/69/422f919db6602182738e76d54b4f90deef6b34 deleted file mode 100644 index 8ad002f..0000000 Binary files a/RockOS/.git-backup/objects/69/422f919db6602182738e76d54b4f90deef6b34 and /dev/null differ diff --git a/RockOS/.git-backup/objects/69/6890760244dcaea37941f098ee69b99b81bfde b/RockOS/.git-backup/objects/69/6890760244dcaea37941f098ee69b99b81bfde deleted file mode 100644 index 07e7bb0..0000000 Binary files a/RockOS/.git-backup/objects/69/6890760244dcaea37941f098ee69b99b81bfde and /dev/null differ diff --git a/RockOS/.git-backup/objects/69/8477df18fb45595673c18ed5199dbdbf89def8 b/RockOS/.git-backup/objects/69/8477df18fb45595673c18ed5199dbdbf89def8 deleted file mode 100644 index d0ab8f4..0000000 Binary files a/RockOS/.git-backup/objects/69/8477df18fb45595673c18ed5199dbdbf89def8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/69/8e0eb599e787ca93aa9049b1583befa0dbda87 b/RockOS/.git-backup/objects/69/8e0eb599e787ca93aa9049b1583befa0dbda87 deleted file mode 100644 index b47aeaf..0000000 Binary files a/RockOS/.git-backup/objects/69/8e0eb599e787ca93aa9049b1583befa0dbda87 and /dev/null differ diff --git a/RockOS/.git-backup/objects/69/a10d76bfd90977505d7630d256705255f5c28a b/RockOS/.git-backup/objects/69/a10d76bfd90977505d7630d256705255f5c28a deleted file mode 100644 index 32ebf72..0000000 Binary files a/RockOS/.git-backup/objects/69/a10d76bfd90977505d7630d256705255f5c28a and /dev/null differ diff --git a/RockOS/.git-backup/objects/69/d80845dd1cd75f5345abeac750dad1af752ff5 b/RockOS/.git-backup/objects/69/d80845dd1cd75f5345abeac750dad1af752ff5 deleted file mode 100644 index dfc88d5..0000000 Binary files a/RockOS/.git-backup/objects/69/d80845dd1cd75f5345abeac750dad1af752ff5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/69/f28ce5bcb7c838ca310fa215fe8512b9318ea7 b/RockOS/.git-backup/objects/69/f28ce5bcb7c838ca310fa215fe8512b9318ea7 deleted file mode 100644 index fc03e67..0000000 --- a/RockOS/.git-backup/objects/69/f28ce5bcb7c838ca310fa215fe8512b9318ea7 +++ /dev/null @@ -1,4 +0,0 @@ -x}S]O0ٿb$F N* UmyعڕC';棔SQx3L 1;n"<<%3v1 -inSa Ra^grMJwH(s{C F|{&05|KWޢ+x"5cX$9^!x%G" qA&׵T$;*o0RXWSV暲q_du&գ\x}j&B9u -AS;u:t*y -#(H܏)_$r]6 }}?^<(|[2 cNDZzZF[YM[w$)_av0{m.j^U~ 2{9ΒʳgIG;Zf]/f˗dLT5 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/6a/5b477ca9f1849e311f6a738662539e723de2ca b/RockOS/.git-backup/objects/6a/5b477ca9f1849e311f6a738662539e723de2ca deleted file mode 100644 index 07432d6..0000000 Binary files a/RockOS/.git-backup/objects/6a/5b477ca9f1849e311f6a738662539e723de2ca and /dev/null differ diff --git a/RockOS/.git-backup/objects/6a/79a20cf6d7c4597050a6119a4b373ec09f9645 b/RockOS/.git-backup/objects/6a/79a20cf6d7c4597050a6119a4b373ec09f9645 deleted file mode 100644 index 410036f..0000000 --- a/RockOS/.git-backup/objects/6a/79a20cf6d7c4597050a6119a4b373ec09f9645 +++ /dev/null @@ -1,3 +0,0 @@ -xQ -0 aw\@I U6Vo:u -dG}">g-DYD1dL#z^jjJD9;2dh52eU0UZC!q^˝.[>wK~EGZ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/6a/b6e20e75d71d93f75e6798dec3750b0a4d0fae b/RockOS/.git-backup/objects/6a/b6e20e75d71d93f75e6798dec3750b0a4d0fae deleted file mode 100644 index b95d61c..0000000 Binary files a/RockOS/.git-backup/objects/6a/b6e20e75d71d93f75e6798dec3750b0a4d0fae and /dev/null differ diff --git a/RockOS/.git-backup/objects/6a/d12dea00aabf1f151addd7f1e4c510c8c1a23e b/RockOS/.git-backup/objects/6a/d12dea00aabf1f151addd7f1e4c510c8c1a23e deleted file mode 100644 index d77a1ed..0000000 --- a/RockOS/.git-backup/objects/6a/d12dea00aabf1f151addd7f1e4c510c8c1a23e +++ /dev/null @@ -1 +0,0 @@ -xRN0 ܯr^ĘN퐦n1MIӴ_"H /Bn^2vRJ} ^Wn#lV8(-W]\/ g}ƹ4ď(&)?\R%qNxg9V;LtI6l!/b6S"?3w7Js>^A~OlZC&<_;46%, \ No newline at end of file diff --git a/RockOS/.git-backup/objects/6a/d6cce30be954c4b7ac2ceb3ef62baf5a8150ac b/RockOS/.git-backup/objects/6a/d6cce30be954c4b7ac2ceb3ef62baf5a8150ac deleted file mode 100644 index edd18b0..0000000 Binary files a/RockOS/.git-backup/objects/6a/d6cce30be954c4b7ac2ceb3ef62baf5a8150ac and /dev/null differ diff --git a/RockOS/.git-backup/objects/6b/2aceee0ec584d71a66f366a0467f3f44e3a53c b/RockOS/.git-backup/objects/6b/2aceee0ec584d71a66f366a0467f3f44e3a53c deleted file mode 100644 index 8fc7d79..0000000 Binary files a/RockOS/.git-backup/objects/6b/2aceee0ec584d71a66f366a0467f3f44e3a53c and /dev/null differ diff --git a/RockOS/.git-backup/objects/6b/34b6cea12829410abbfec21db9ca71ae49025e b/RockOS/.git-backup/objects/6b/34b6cea12829410abbfec21db9ca71ae49025e deleted file mode 100644 index 91a63d9..0000000 Binary files a/RockOS/.git-backup/objects/6b/34b6cea12829410abbfec21db9ca71ae49025e and /dev/null differ diff --git a/RockOS/.git-backup/objects/6b/357638fa7df0e44cc62bae316de60595834bfb b/RockOS/.git-backup/objects/6b/357638fa7df0e44cc62bae316de60595834bfb deleted file mode 100644 index 7c0c377..0000000 Binary files a/RockOS/.git-backup/objects/6b/357638fa7df0e44cc62bae316de60595834bfb and /dev/null differ diff --git a/RockOS/.git-backup/objects/6c/13c81a25b33b10be354eb2c30ae7181b672307 b/RockOS/.git-backup/objects/6c/13c81a25b33b10be354eb2c30ae7181b672307 deleted file mode 100644 index 85997a6..0000000 Binary files a/RockOS/.git-backup/objects/6c/13c81a25b33b10be354eb2c30ae7181b672307 and /dev/null differ diff --git a/RockOS/.git-backup/objects/6c/32072876efd1afe09ae7b14ec2aece96c564c5 b/RockOS/.git-backup/objects/6c/32072876efd1afe09ae7b14ec2aece96c564c5 deleted file mode 100644 index f7404ef..0000000 --- a/RockOS/.git-backup/objects/6c/32072876efd1afe09ae7b14ec2aece96c564c5 +++ /dev/null @@ -1,3 +0,0 @@ -xT[o0s~7*M V:mBB -lP.vc)8v躭}$҇I ql,p}U +\THlf q4xu,C.Ree*(߅JcLh/GCZ^ -S֪\s  \Švyc NEn`D3**@𠲬5wtGw>IxC)b-3lzD7!݉9iCZd:P>x|3oW"-5*.I d5ඬz*Ef߂L^y"%&%KEXJd#ʝLLEJ;>JkbwGm J#ױ8 ^H: Ǟ"A0_k-*=A+5ET@!TFavOOV=ݞx]RaіiSFi_`WE!ڟNHu+,Єd=_ Tt<g%޻zpERRhP@%W g}40_pIeȐuU^JFs$pe2wf^z7^a \ No newline at end of file diff --git a/RockOS/.git-backup/objects/6d/2fa2f753fd2d1e067d929f33fa5d86990cb31f b/RockOS/.git-backup/objects/6d/2fa2f753fd2d1e067d929f33fa5d86990cb31f deleted file mode 100644 index 426efe5..0000000 --- a/RockOS/.git-backup/objects/6d/2fa2f753fd2d1e067d929f33fa5d86990cb31f +++ /dev/null @@ -1,2 +0,0 @@ -xmAn0E)F"B.RU&X!"=3OVӳ6줂cgt81ZS^̘6_5U ԞH-N d>st ̙N33{kFtW: -荼5t?= *_a@aBCq*BE_NDǓs8bAFX1ŰX$Y=S͖m<5FK5KXXz3cgLt\/NM ^#ޚj }W0<O_*zp!+^%Vuar|m؇'bTSG%' W\<&~̰9(?S(a7SͲA^Cռ'H+߶8&WH'3пkqy/BڄS-AwWܰkn.`r̅%1~m5)ersٔ\ n_ir LNp&=襾ƗI;58u& b˧ICEȅM^׈D* B߄=X -P޷*O \ No newline at end of file diff --git a/RockOS/.git-backup/objects/75/0d64d990646ee417ad7197ef7b3df5fbc763be b/RockOS/.git-backup/objects/75/0d64d990646ee417ad7197ef7b3df5fbc763be deleted file mode 100644 index 6fbf1f1..0000000 Binary files a/RockOS/.git-backup/objects/75/0d64d990646ee417ad7197ef7b3df5fbc763be and /dev/null differ diff --git a/RockOS/.git-backup/objects/75/2954588cb4517793716bc378b0d0f526c6bb3b b/RockOS/.git-backup/objects/75/2954588cb4517793716bc378b0d0f526c6bb3b deleted file mode 100644 index e2d5bb0..0000000 Binary files a/RockOS/.git-backup/objects/75/2954588cb4517793716bc378b0d0f526c6bb3b and /dev/null differ diff --git a/RockOS/.git-backup/objects/75/39f61e8c4060b43fc40feec098534b95c4d428 b/RockOS/.git-backup/objects/75/39f61e8c4060b43fc40feec098534b95c4d428 deleted file mode 100644 index ccd2b07..0000000 Binary files a/RockOS/.git-backup/objects/75/39f61e8c4060b43fc40feec098534b95c4d428 and /dev/null differ diff --git a/RockOS/.git-backup/objects/75/87531dae0c7f4c3afff2ed8abde1282ba21f96 b/RockOS/.git-backup/objects/75/87531dae0c7f4c3afff2ed8abde1282ba21f96 deleted file mode 100644 index 27eac85..0000000 Binary files a/RockOS/.git-backup/objects/75/87531dae0c7f4c3afff2ed8abde1282ba21f96 and /dev/null differ diff --git a/RockOS/.git-backup/objects/75/ebd887f693d0d51f5479cc3e861ba2e31580bf b/RockOS/.git-backup/objects/75/ebd887f693d0d51f5479cc3e861ba2e31580bf deleted file mode 100644 index e517d34..0000000 Binary files a/RockOS/.git-backup/objects/75/ebd887f693d0d51f5479cc3e861ba2e31580bf and /dev/null differ diff --git a/RockOS/.git-backup/objects/75/f497facc5db41a5009c897e247076b4970548d b/RockOS/.git-backup/objects/75/f497facc5db41a5009c897e247076b4970548d deleted file mode 100644 index 36fa452..0000000 Binary files a/RockOS/.git-backup/objects/75/f497facc5db41a5009c897e247076b4970548d and /dev/null differ diff --git a/RockOS/.git-backup/objects/76/167505ccd01cfdd99987b44512d927990d9e66 b/RockOS/.git-backup/objects/76/167505ccd01cfdd99987b44512d927990d9e66 deleted file mode 100644 index 9aaf085..0000000 Binary files a/RockOS/.git-backup/objects/76/167505ccd01cfdd99987b44512d927990d9e66 and /dev/null differ diff --git a/RockOS/.git-backup/objects/76/2b2768de9ae5584f30f70899df5ea04877928e b/RockOS/.git-backup/objects/76/2b2768de9ae5584f30f70899df5ea04877928e deleted file mode 100644 index 52c24db..0000000 --- a/RockOS/.git-backup/objects/76/2b2768de9ae5584f30f70899df5ea04877928e +++ /dev/null @@ -1 +0,0 @@ -xe0 =)zY&\/C1N[H~]DZړGGuLi@rB0^[Fk*nZhq3 ;kE, Y`BL[ Vwd,$QFN"MoyVu%ֿX|tXw \ No newline at end of file diff --git a/RockOS/.git-backup/objects/76/37e68e09becd79b5460594c9c676778cae448a b/RockOS/.git-backup/objects/76/37e68e09becd79b5460594c9c676778cae448a deleted file mode 100644 index 2a4de12..0000000 Binary files a/RockOS/.git-backup/objects/76/37e68e09becd79b5460594c9c676778cae448a and /dev/null differ diff --git a/RockOS/.git-backup/objects/76/4c38ecf61c4c1e5bf150a6347c57cad6898e88 b/RockOS/.git-backup/objects/76/4c38ecf61c4c1e5bf150a6347c57cad6898e88 deleted file mode 100644 index 14350f2..0000000 Binary files a/RockOS/.git-backup/objects/76/4c38ecf61c4c1e5bf150a6347c57cad6898e88 and /dev/null differ diff --git a/RockOS/.git-backup/objects/76/767fcb8ccc70bf78ee4b87e086191ebd516b84 b/RockOS/.git-backup/objects/76/767fcb8ccc70bf78ee4b87e086191ebd516b84 deleted file mode 100644 index a4a67e2..0000000 Binary files a/RockOS/.git-backup/objects/76/767fcb8ccc70bf78ee4b87e086191ebd516b84 and /dev/null differ diff --git a/RockOS/.git-backup/objects/76/9102094f80a389516dc96635ce0a400633aa36 b/RockOS/.git-backup/objects/76/9102094f80a389516dc96635ce0a400633aa36 deleted file mode 100644 index 373928c..0000000 --- a/RockOS/.git-backup/objects/76/9102094f80a389516dc96635ce0a400633aa36 +++ /dev/null @@ -1 +0,0 @@ -x_o0Oq[sbb|XB3i̚ dkϬFIH=N\S; Y"03V,n4HCZ}-Rfg(Oc!TM /fLR?H'aO(Kܫ'?QD3\# % Ge1<^ PP߁JyR=bR%7[oQ2FPPʬmmC9%5J gy-c벫n_%rK8jZ=+5*b\iи2;{Ÿu@M{R}_YMzTg1pNX7Xy[6o^ tu3F=g*V&롾vٱ׍Zں/XsІm~ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/77/41b707743f8ba480d1755c6e87c77cdd159ce1 b/RockOS/.git-backup/objects/77/41b707743f8ba480d1755c6e87c77cdd159ce1 deleted file mode 100644 index 6e807cc..0000000 Binary files a/RockOS/.git-backup/objects/77/41b707743f8ba480d1755c6e87c77cdd159ce1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/77/5417461fd83dc3384b2e0f33ef0575a6d41865 b/RockOS/.git-backup/objects/77/5417461fd83dc3384b2e0f33ef0575a6d41865 deleted file mode 100644 index e6a52dd..0000000 Binary files a/RockOS/.git-backup/objects/77/5417461fd83dc3384b2e0f33ef0575a6d41865 and /dev/null differ diff --git a/RockOS/.git-backup/objects/77/9da1ea89c54f373526461d597570e229510e48 b/RockOS/.git-backup/objects/77/9da1ea89c54f373526461d597570e229510e48 deleted file mode 100644 index 230022a..0000000 --- a/RockOS/.git-backup/objects/77/9da1ea89c54f373526461d597570e229510e48 +++ /dev/null @@ -1,4 +0,0 @@ -xj@{8P$+z㸐: 5 -`~VyvWmҒw$;hW3|SM?8HǏr<@\EAq Raݤew i,$ j`,kevd-ZLj4VbWT<"9& :CiO7x[Y -:Wn_e{zt> -F[ry+K fۖ~33#`T4:{`F%&pt/_h5HJBvl~xna/ tb9d5՟L(:x'FNY7.OkCP*6̭TV7ڕ+e3ԷxﱗN%Pa1jTFؗ(x|Pۋ 1Vz{*l8+~) \ No newline at end of file diff --git a/RockOS/.git-backup/objects/78/f4b208cde57e164237eaae41b6b45e0042d57c b/RockOS/.git-backup/objects/78/f4b208cde57e164237eaae41b6b45e0042d57c deleted file mode 100644 index 39b9ca8..0000000 Binary files a/RockOS/.git-backup/objects/78/f4b208cde57e164237eaae41b6b45e0042d57c and /dev/null differ diff --git a/RockOS/.git-backup/objects/7a/634e3ab538c0ec08c00439b79c4438878d9a29 b/RockOS/.git-backup/objects/7a/634e3ab538c0ec08c00439b79c4438878d9a29 deleted file mode 100644 index 2d8e484..0000000 Binary files a/RockOS/.git-backup/objects/7a/634e3ab538c0ec08c00439b79c4438878d9a29 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7a/ac83c67a120bf96d4917463b00c1ebfe8a9828 b/RockOS/.git-backup/objects/7a/ac83c67a120bf96d4917463b00c1ebfe8a9828 deleted file mode 100644 index 949798e..0000000 Binary files a/RockOS/.git-backup/objects/7a/ac83c67a120bf96d4917463b00c1ebfe8a9828 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7b/adac56cd83bb93382855ca2ab1933f874ca57c b/RockOS/.git-backup/objects/7b/adac56cd83bb93382855ca2ab1933f874ca57c deleted file mode 100644 index 3cf647f..0000000 --- a/RockOS/.git-backup/objects/7b/adac56cd83bb93382855ca2ab1933f874ca57c +++ /dev/null @@ -1 +0,0 @@ -x+)JMU052e040031QH,N.MKf:ja;v!Nb2 53>>T=X}_kA%'g~ie_ҿ-vSzrtsP<SlB"Sa6[j67}/USΜtɝ9W(%3- j]-&[)2''.TUz.T|׀Glf.MH(_n}-%~F*9w{?>ḰT«jマf7 lޞQЮ[_D4\Uͬ*͆fDu"_xK-W jK`~̘PrgJ3eݸTz/f{0g4IEqAjr|zj 0v)qgMnpyMko؄ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/7b/fa711003dc7ac1ffc88a9654159db2b2d89ee3 b/RockOS/.git-backup/objects/7b/fa711003dc7ac1ffc88a9654159db2b2d89ee3 deleted file mode 100644 index 1ec24f0..0000000 Binary files a/RockOS/.git-backup/objects/7b/fa711003dc7ac1ffc88a9654159db2b2d89ee3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7c/2f10862b9913fb825dbf1240bd6edb33c4f234 b/RockOS/.git-backup/objects/7c/2f10862b9913fb825dbf1240bd6edb33c4f234 deleted file mode 100644 index 6addcaa..0000000 Binary files a/RockOS/.git-backup/objects/7c/2f10862b9913fb825dbf1240bd6edb33c4f234 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7c/51a46d97325b4b0b0a71f530b93d5b47518ddd b/RockOS/.git-backup/objects/7c/51a46d97325b4b0b0a71f530b93d5b47518ddd deleted file mode 100644 index 6819938..0000000 Binary files a/RockOS/.git-backup/objects/7c/51a46d97325b4b0b0a71f530b93d5b47518ddd and /dev/null differ diff --git a/RockOS/.git-backup/objects/7c/7f69c3b5bb0895d43ae5057fa351ceb3404e17 b/RockOS/.git-backup/objects/7c/7f69c3b5bb0895d43ae5057fa351ceb3404e17 deleted file mode 100644 index 7750e32..0000000 Binary files a/RockOS/.git-backup/objects/7c/7f69c3b5bb0895d43ae5057fa351ceb3404e17 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7d/0387f3016cd4d47462acf06cf51f469b191ad5 b/RockOS/.git-backup/objects/7d/0387f3016cd4d47462acf06cf51f469b191ad5 deleted file mode 100644 index 4a64cb3..0000000 Binary files a/RockOS/.git-backup/objects/7d/0387f3016cd4d47462acf06cf51f469b191ad5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7d/03d0748b93d4a765e598263a981892a91790db b/RockOS/.git-backup/objects/7d/03d0748b93d4a765e598263a981892a91790db deleted file mode 100644 index 345c071..0000000 --- a/RockOS/.git-backup/objects/7d/03d0748b93d4a765e598263a981892a91790db +++ /dev/null @@ -1,2 +0,0 @@ -xuS]o0s~Ю@yMjihi^,'i&6Z::@P";\s /14ei4RʔV^{(ȕC -Ki=L櫸P FJckt!/z!{NTq`]4W:ER*^yxREы.QVfTN/Fg%jWqbjT%D,V.|={a 6itRRBk&|1AGZ!(%5a/o7 75 NfN7axcOI.-+۽̾Og75즱5"x6YțDeLuֹ(bjMnwfSMrJ~@L&%:pCv~㟋xk#Op<=װGqg3u%ܘGd;xI5D/%BUIEQ̃HtDrZu] G\,gkkg?B47PL]Ѽoi}(\XWH \ No newline at end of file diff --git a/RockOS/.git-backup/objects/7d/6250c99870b86fe84397ed6425cb21f27865a0 b/RockOS/.git-backup/objects/7d/6250c99870b86fe84397ed6425cb21f27865a0 deleted file mode 100644 index db7517f..0000000 Binary files a/RockOS/.git-backup/objects/7d/6250c99870b86fe84397ed6425cb21f27865a0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7d/73dfc5096d3e429e75bed4f2fda600134c49e5 b/RockOS/.git-backup/objects/7d/73dfc5096d3e429e75bed4f2fda600134c49e5 deleted file mode 100644 index 46ca601..0000000 --- a/RockOS/.git-backup/objects/7d/73dfc5096d3e429e75bed4f2fda600134c49e5 +++ /dev/null @@ -1,2 +0,0 @@ -x]K0}_qЗn92&:DHt K\džtZ)w_ߗT) !sxNE -[H{GBt~`)r \ No newline at end of file diff --git a/RockOS/.git-backup/objects/7e/de297d7a080511ceded72861aa7ee3fb9d32ad b/RockOS/.git-backup/objects/7e/de297d7a080511ceded72861aa7ee3fb9d32ad deleted file mode 100644 index d770448..0000000 Binary files a/RockOS/.git-backup/objects/7e/de297d7a080511ceded72861aa7ee3fb9d32ad and /dev/null differ diff --git a/RockOS/.git-backup/objects/7f/220a1ab508ecd8a187c6c8b0b7981d67294287 b/RockOS/.git-backup/objects/7f/220a1ab508ecd8a187c6c8b0b7981d67294287 deleted file mode 100644 index 5105545..0000000 Binary files a/RockOS/.git-backup/objects/7f/220a1ab508ecd8a187c6c8b0b7981d67294287 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7f/4ce6a52ef028b1c0733afe978983d0073e155b b/RockOS/.git-backup/objects/7f/4ce6a52ef028b1c0733afe978983d0073e155b deleted file mode 100644 index 7fbdf5f..0000000 Binary files a/RockOS/.git-backup/objects/7f/4ce6a52ef028b1c0733afe978983d0073e155b and /dev/null differ diff --git a/RockOS/.git-backup/objects/7f/7d78d2926eb4536065da0d6a4110721026c9a7 b/RockOS/.git-backup/objects/7f/7d78d2926eb4536065da0d6a4110721026c9a7 deleted file mode 100644 index bdba484..0000000 Binary files a/RockOS/.git-backup/objects/7f/7d78d2926eb4536065da0d6a4110721026c9a7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/7f/e0f4c1133ed60db04cddef073dd4f2a04b685a b/RockOS/.git-backup/objects/7f/e0f4c1133ed60db04cddef073dd4f2a04b685a deleted file mode 100644 index bbca562..0000000 Binary files a/RockOS/.git-backup/objects/7f/e0f4c1133ed60db04cddef073dd4f2a04b685a and /dev/null differ diff --git a/RockOS/.git-backup/objects/80/202f21228144f11bc54172560b251b15939635 b/RockOS/.git-backup/objects/80/202f21228144f11bc54172560b251b15939635 deleted file mode 100644 index 8642363..0000000 Binary files a/RockOS/.git-backup/objects/80/202f21228144f11bc54172560b251b15939635 and /dev/null differ diff --git a/RockOS/.git-backup/objects/80/adced21a756569badb40dfb15f7530bf16222a b/RockOS/.git-backup/objects/80/adced21a756569badb40dfb15f7530bf16222a deleted file mode 100644 index 7cfc042..0000000 Binary files a/RockOS/.git-backup/objects/80/adced21a756569badb40dfb15f7530bf16222a and /dev/null differ diff --git a/RockOS/.git-backup/objects/81/2cdeff0e830d04bc49c02a8295de12a156763d b/RockOS/.git-backup/objects/81/2cdeff0e830d04bc49c02a8295de12a156763d deleted file mode 100644 index 6e6ae62..0000000 Binary files a/RockOS/.git-backup/objects/81/2cdeff0e830d04bc49c02a8295de12a156763d and /dev/null differ diff --git a/RockOS/.git-backup/objects/81/7387a2dbedbc71b8dc0745f5bd62fb542f500f b/RockOS/.git-backup/objects/81/7387a2dbedbc71b8dc0745f5bd62fb542f500f deleted file mode 100644 index 30e1713..0000000 Binary files a/RockOS/.git-backup/objects/81/7387a2dbedbc71b8dc0745f5bd62fb542f500f and /dev/null differ diff --git a/RockOS/.git-backup/objects/82/0f5046608d8bb3eccadaf53b5ee3adf3150bfd b/RockOS/.git-backup/objects/82/0f5046608d8bb3eccadaf53b5ee3adf3150bfd deleted file mode 100644 index 6114d75..0000000 Binary files a/RockOS/.git-backup/objects/82/0f5046608d8bb3eccadaf53b5ee3adf3150bfd and /dev/null differ diff --git a/RockOS/.git-backup/objects/82/5e7829e665583fe75f417410ba035b36374e75 b/RockOS/.git-backup/objects/82/5e7829e665583fe75f417410ba035b36374e75 deleted file mode 100644 index e605182..0000000 Binary files a/RockOS/.git-backup/objects/82/5e7829e665583fe75f417410ba035b36374e75 and /dev/null differ diff --git a/RockOS/.git-backup/objects/82/ee15bc77389169110478b33c4619e6bbbc7814 b/RockOS/.git-backup/objects/82/ee15bc77389169110478b33c4619e6bbbc7814 deleted file mode 100644 index b3f5c82..0000000 Binary files a/RockOS/.git-backup/objects/82/ee15bc77389169110478b33c4619e6bbbc7814 and /dev/null differ diff --git a/RockOS/.git-backup/objects/83/181d5c1a03382397d84146232c55c24a0b4a31 b/RockOS/.git-backup/objects/83/181d5c1a03382397d84146232c55c24a0b4a31 deleted file mode 100644 index d19cfc0..0000000 Binary files a/RockOS/.git-backup/objects/83/181d5c1a03382397d84146232c55c24a0b4a31 and /dev/null differ diff --git a/RockOS/.git-backup/objects/83/4d81d4355475665583bf21b8ce445a55fca77b b/RockOS/.git-backup/objects/83/4d81d4355475665583bf21b8ce445a55fca77b deleted file mode 100644 index aa845fa..0000000 Binary files a/RockOS/.git-backup/objects/83/4d81d4355475665583bf21b8ce445a55fca77b and /dev/null differ diff --git a/RockOS/.git-backup/objects/83/6d4cf51cbc2f0c3f7c68140563e5befd6d942f b/RockOS/.git-backup/objects/83/6d4cf51cbc2f0c3f7c68140563e5befd6d942f deleted file mode 100644 index c60103e..0000000 Binary files a/RockOS/.git-backup/objects/83/6d4cf51cbc2f0c3f7c68140563e5befd6d942f and /dev/null differ diff --git a/RockOS/.git-backup/objects/83/ca29a120c3212a7a567619a6488b151132af17 b/RockOS/.git-backup/objects/83/ca29a120c3212a7a567619a6488b151132af17 deleted file mode 100644 index d8a73bf..0000000 Binary files a/RockOS/.git-backup/objects/83/ca29a120c3212a7a567619a6488b151132af17 and /dev/null differ diff --git a/RockOS/.git-backup/objects/86/059c2e3f64054b10b8cef00488a7bcc6cda8b5 b/RockOS/.git-backup/objects/86/059c2e3f64054b10b8cef00488a7bcc6cda8b5 deleted file mode 100644 index 8c8eac0..0000000 --- a/RockOS/.git-backup/objects/86/059c2e3f64054b10b8cef00488a7bcc6cda8b5 +++ /dev/null @@ -1,3 +0,0 @@ -x_k0Oqp!iJJԌA!FZ,˱$ ߽WqZ&0A;MAxHzF;_R%h|ÔĬk%pg6\iLqrnJn?gns _[, '{ؘB.0PI南Ϫ,0vB*_]R< VяەA+< sӰw -&nxzJĝ%Y0ӟ7"_VjX1fs"5% -<-rn@S#QgnHvDݝfɸN ݃S31As:l/NJ?.๠;.Q{8Tlh<=r\]_/`R]e:KJfHi19ɇ{mԸy)s+5*]7?th kb v}+>t]/t[{K^^]~dm'T^J\`K<' o?1iG>c/< s -F8>|ΡD(Tlk[4AmT2 [9؍AM9.](ȱҶΐ2w->Pr&hqgji8 \eܑ9Ȟ@kJIְ#7(<'K7P7N;& ̰ _ǝg|E>ݵx~`{<4Uު 9̩{r~݉|y{t \ No newline at end of file diff --git a/RockOS/.git-backup/objects/87/40ef60b96955667331dff3722b283236474622 b/RockOS/.git-backup/objects/87/40ef60b96955667331dff3722b283236474622 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/87/f67ff034de98c1c86aaf8d700a7faa4b0721af b/RockOS/.git-backup/objects/87/f67ff034de98c1c86aaf8d700a7faa4b0721af deleted file mode 100644 index 833635d..0000000 Binary files a/RockOS/.git-backup/objects/87/f67ff034de98c1c86aaf8d700a7faa4b0721af and /dev/null differ diff --git a/RockOS/.git-backup/objects/88/3fff2327d2161261c4464af12cd808d2b04e0c b/RockOS/.git-backup/objects/88/3fff2327d2161261c4464af12cd808d2b04e0c deleted file mode 100644 index fc55b79..0000000 Binary files a/RockOS/.git-backup/objects/88/3fff2327d2161261c4464af12cd808d2b04e0c and /dev/null differ diff --git a/RockOS/.git-backup/objects/88/a43a04f05822f2ba5395e0cd7b571173baf07b b/RockOS/.git-backup/objects/88/a43a04f05822f2ba5395e0cd7b571173baf07b deleted file mode 100644 index 493ef31..0000000 Binary files a/RockOS/.git-backup/objects/88/a43a04f05822f2ba5395e0cd7b571173baf07b and /dev/null differ diff --git a/RockOS/.git-backup/objects/88/b661940dbe8ffbca3b26c0ea8e88e7f796b248 b/RockOS/.git-backup/objects/88/b661940dbe8ffbca3b26c0ea8e88e7f796b248 deleted file mode 100644 index 65d93ae..0000000 Binary files a/RockOS/.git-backup/objects/88/b661940dbe8ffbca3b26c0ea8e88e7f796b248 and /dev/null differ diff --git a/RockOS/.git-backup/objects/88/e521c817ace3f07c15e9eeaa0a10e6c6fd4ef6 b/RockOS/.git-backup/objects/88/e521c817ace3f07c15e9eeaa0a10e6c6fd4ef6 deleted file mode 100644 index 0e0fd46..0000000 Binary files a/RockOS/.git-backup/objects/88/e521c817ace3f07c15e9eeaa0a10e6c6fd4ef6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/88/fac703fee61569f10ede1ceb408946fc3f8c5e b/RockOS/.git-backup/objects/88/fac703fee61569f10ede1ceb408946fc3f8c5e deleted file mode 100644 index 1be45f8..0000000 Binary files a/RockOS/.git-backup/objects/88/fac703fee61569f10ede1ceb408946fc3f8c5e and /dev/null differ diff --git a/RockOS/.git-backup/objects/89/0328ff7de70253ce9b338642284439ac5d4128 b/RockOS/.git-backup/objects/89/0328ff7de70253ce9b338642284439ac5d4128 deleted file mode 100644 index 75560c5..0000000 Binary files a/RockOS/.git-backup/objects/89/0328ff7de70253ce9b338642284439ac5d4128 and /dev/null differ diff --git a/RockOS/.git-backup/objects/89/7753928b43a7ef927d5252086d6a2cdc8d24f0 b/RockOS/.git-backup/objects/89/7753928b43a7ef927d5252086d6a2cdc8d24f0 deleted file mode 100644 index 8f06245..0000000 Binary files a/RockOS/.git-backup/objects/89/7753928b43a7ef927d5252086d6a2cdc8d24f0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/89/8e1f95a6b310e25ace8c18dc4a2d0473719df8 b/RockOS/.git-backup/objects/89/8e1f95a6b310e25ace8c18dc4a2d0473719df8 deleted file mode 100644 index b2b9858..0000000 Binary files a/RockOS/.git-backup/objects/89/8e1f95a6b310e25ace8c18dc4a2d0473719df8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/89/914e12e7c010a68fecdbfe73f47370e32ddf3f b/RockOS/.git-backup/objects/89/914e12e7c010a68fecdbfe73f47370e32ddf3f deleted file mode 100644 index 77b13cb..0000000 Binary files a/RockOS/.git-backup/objects/89/914e12e7c010a68fecdbfe73f47370e32ddf3f and /dev/null differ diff --git a/RockOS/.git-backup/objects/89/a6d7b5788216b4aacc08c86d374606c49fd97c b/RockOS/.git-backup/objects/89/a6d7b5788216b4aacc08c86d374606c49fd97c deleted file mode 100644 index 02642b8..0000000 --- a/RockOS/.git-backup/objects/89/a6d7b5788216b4aacc08c86d374606c49fd97c +++ /dev/null @@ -1,3 +0,0 @@ -xeRj@}yM,PB0 -J'ie=*ݓЧ;ٝ)l[ofГ1JPK= a֔X{mn2d8 .w^; -ܢ t}[t *zxL`o q4֦j2SʸvSʚ"mb*q-R?[/֘b)=t`+LuJ~RjkEL?Ѵ]'Ѱ $R*i-(IW'DSC`;n.xQck*$@xCkq:=h˛;?NYj.LBq̽_69 .gO = R[5b?6mGJX^KfJ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/8a/407c77ee3434238aca4da3b2fbfb604433bbd7 b/RockOS/.git-backup/objects/8a/407c77ee3434238aca4da3b2fbfb604433bbd7 deleted file mode 100644 index f348053..0000000 Binary files a/RockOS/.git-backup/objects/8a/407c77ee3434238aca4da3b2fbfb604433bbd7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8a/604cad5b440177fe0f79debcd492c0c575edcf b/RockOS/.git-backup/objects/8a/604cad5b440177fe0f79debcd492c0c575edcf deleted file mode 100644 index ccff47b..0000000 Binary files a/RockOS/.git-backup/objects/8a/604cad5b440177fe0f79debcd492c0c575edcf and /dev/null differ diff --git a/RockOS/.git-backup/objects/8a/6e27fec103b1f7608c511095409d1c153efaa8 b/RockOS/.git-backup/objects/8a/6e27fec103b1f7608c511095409d1c153efaa8 deleted file mode 100644 index 8fb3f02..0000000 Binary files a/RockOS/.git-backup/objects/8a/6e27fec103b1f7608c511095409d1c153efaa8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8a/9e607e34dc0c183b0559f000fe8c7b5522cea5 b/RockOS/.git-backup/objects/8a/9e607e34dc0c183b0559f000fe8c7b5522cea5 deleted file mode 100644 index 86de687..0000000 Binary files a/RockOS/.git-backup/objects/8a/9e607e34dc0c183b0559f000fe8c7b5522cea5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8b/26277b19c4f4a60600208f7c1e952a805b0a47 b/RockOS/.git-backup/objects/8b/26277b19c4f4a60600208f7c1e952a805b0a47 deleted file mode 100644 index bad2cbf..0000000 Binary files a/RockOS/.git-backup/objects/8b/26277b19c4f4a60600208f7c1e952a805b0a47 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8b/f6c96a1ae9c292db9ab21d59a41f8b6bf30fa8 b/RockOS/.git-backup/objects/8b/f6c96a1ae9c292db9ab21d59a41f8b6bf30fa8 deleted file mode 100644 index 7ea53fd..0000000 Binary files a/RockOS/.git-backup/objects/8b/f6c96a1ae9c292db9ab21d59a41f8b6bf30fa8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8c/1cd5114409dba9d43e3fdfd94a0fcae75a03c9 b/RockOS/.git-backup/objects/8c/1cd5114409dba9d43e3fdfd94a0fcae75a03c9 deleted file mode 100644 index ca82a56..0000000 Binary files a/RockOS/.git-backup/objects/8c/1cd5114409dba9d43e3fdfd94a0fcae75a03c9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8c/61574f912eca4625bf6c4fe2a44c2070152b93 b/RockOS/.git-backup/objects/8c/61574f912eca4625bf6c4fe2a44c2070152b93 deleted file mode 100644 index 8c0324c..0000000 Binary files a/RockOS/.git-backup/objects/8c/61574f912eca4625bf6c4fe2a44c2070152b93 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8c/72caa8b24e3299eb0b994c4bbdcc97cd0fab68 b/RockOS/.git-backup/objects/8c/72caa8b24e3299eb0b994c4bbdcc97cd0fab68 deleted file mode 100644 index c3d9b95..0000000 --- a/RockOS/.git-backup/objects/8c/72caa8b24e3299eb0b994c4bbdcc97cd0fab68 +++ /dev/null @@ -1,2 +0,0 @@ -xMMN1 YVYF` 9?(ܞ4l+rn -xg/lI$x,JQY'*U)+)ԧF*L{V56/|.- 5qxCgna<ԾH\k`Iӯq c \ No newline at end of file diff --git a/RockOS/.git-backup/objects/8c/7c02656f7469c26feba7a99c33ca0ad01a5fd3 b/RockOS/.git-backup/objects/8c/7c02656f7469c26feba7a99c33ca0ad01a5fd3 deleted file mode 100644 index f5d22de..0000000 Binary files a/RockOS/.git-backup/objects/8c/7c02656f7469c26feba7a99c33ca0ad01a5fd3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8c/90b014950c7b963c2a8e9af7adbbb49b10a0c3 b/RockOS/.git-backup/objects/8c/90b014950c7b963c2a8e9af7adbbb49b10a0c3 deleted file mode 100644 index 9cfab01..0000000 Binary files a/RockOS/.git-backup/objects/8c/90b014950c7b963c2a8e9af7adbbb49b10a0c3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8c/981bb9b360e8bcfbd74f6df2381dfd3f74ec01 b/RockOS/.git-backup/objects/8c/981bb9b360e8bcfbd74f6df2381dfd3f74ec01 deleted file mode 100644 index f2c9db9..0000000 Binary files a/RockOS/.git-backup/objects/8c/981bb9b360e8bcfbd74f6df2381dfd3f74ec01 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8c/b92c910d03cf2e9ff879eb60242069d22c82ec b/RockOS/.git-backup/objects/8c/b92c910d03cf2e9ff879eb60242069d22c82ec deleted file mode 100644 index d2332d9..0000000 Binary files a/RockOS/.git-backup/objects/8c/b92c910d03cf2e9ff879eb60242069d22c82ec and /dev/null differ diff --git a/RockOS/.git-backup/objects/8d/0c312b7070c6ede659562711cf66172ee25360 b/RockOS/.git-backup/objects/8d/0c312b7070c6ede659562711cf66172ee25360 deleted file mode 100644 index 811211d..0000000 Binary files a/RockOS/.git-backup/objects/8d/0c312b7070c6ede659562711cf66172ee25360 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8d/16410b5faa1c18c12ac8e4a543f83b3acc7c71 b/RockOS/.git-backup/objects/8d/16410b5faa1c18c12ac8e4a543f83b3acc7c71 deleted file mode 100644 index c208541..0000000 Binary files a/RockOS/.git-backup/objects/8d/16410b5faa1c18c12ac8e4a543f83b3acc7c71 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8d/185503e283f9607fe2e87019d8ae726a7cec46 b/RockOS/.git-backup/objects/8d/185503e283f9607fe2e87019d8ae726a7cec46 deleted file mode 100644 index 219fb7e..0000000 Binary files a/RockOS/.git-backup/objects/8d/185503e283f9607fe2e87019d8ae726a7cec46 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8d/2cde8a4933938d4272d68e91d5aac50e623e9a b/RockOS/.git-backup/objects/8d/2cde8a4933938d4272d68e91d5aac50e623e9a deleted file mode 100644 index 0fde3c2..0000000 Binary files a/RockOS/.git-backup/objects/8d/2cde8a4933938d4272d68e91d5aac50e623e9a and /dev/null differ diff --git a/RockOS/.git-backup/objects/8d/61ab36a965c171eec0ee440addfd0a0afe7b4f b/RockOS/.git-backup/objects/8d/61ab36a965c171eec0ee440addfd0a0afe7b4f deleted file mode 100644 index 938c09c..0000000 --- a/RockOS/.git-backup/objects/8d/61ab36a965c171eec0ee440addfd0a0afe7b4f +++ /dev/null @@ -1 +0,0 @@ -xj!{O1m=4P-B!y^e1YEgwO_9?hh`ȳCw}T]:b;u1)DrMLҫXvOZ Υ_m%'F H 7Db/LzxiG6q8Tlѐ2PjBJ{_rm̾6zf,_-X#  \ No newline at end of file diff --git a/RockOS/.git-backup/objects/8d/827933bc5e0f08bd1e078390fa87d9f1acdca0 b/RockOS/.git-backup/objects/8d/827933bc5e0f08bd1e078390fa87d9f1acdca0 deleted file mode 100644 index c7ee0a9..0000000 Binary files a/RockOS/.git-backup/objects/8d/827933bc5e0f08bd1e078390fa87d9f1acdca0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8d/ca6c2daa3157cf1f7aed7786ea33fc9fe70165 b/RockOS/.git-backup/objects/8d/ca6c2daa3157cf1f7aed7786ea33fc9fe70165 deleted file mode 100644 index e4def4d..0000000 Binary files a/RockOS/.git-backup/objects/8d/ca6c2daa3157cf1f7aed7786ea33fc9fe70165 and /dev/null differ diff --git a/RockOS/.git-backup/objects/8e/89d910f07ebf910d96227a73dc002dca442cb6 b/RockOS/.git-backup/objects/8e/89d910f07ebf910d96227a73dc002dca442cb6 deleted file mode 100644 index 22aa758..0000000 --- a/RockOS/.git-backup/objects/8e/89d910f07ebf910d96227a73dc002dca442cb6 +++ /dev/null @@ -1,3 +0,0 @@ -xRMO0 _b 8Mbh-Y\9 bBkn$/ڑw7υB*n -} ^ Z!g}"@[vz;-ec -\׌Mƙ]er.=ʀcN,Wb@Eax'9F:_2H  m\6Tv~ xw8*]&]j#J,OfX5-!7W^pR>XckHp<CGՁCNF 7_81 g~8^#&/?GΊaGF \ No newline at end of file diff --git a/RockOS/.git-backup/objects/90/c2dc0a0fdbc651bdee1ce041d427d5056c9d76 b/RockOS/.git-backup/objects/90/c2dc0a0fdbc651bdee1ce041d427d5056c9d76 deleted file mode 100644 index d0abebc..0000000 Binary files a/RockOS/.git-backup/objects/90/c2dc0a0fdbc651bdee1ce041d427d5056c9d76 and /dev/null differ diff --git a/RockOS/.git-backup/objects/90/ff2f0f801979a4e32cb8a3727d665bfc96ca48 b/RockOS/.git-backup/objects/90/ff2f0f801979a4e32cb8a3727d665bfc96ca48 deleted file mode 100644 index 9d6ff7c..0000000 Binary files a/RockOS/.git-backup/objects/90/ff2f0f801979a4e32cb8a3727d665bfc96ca48 and /dev/null differ diff --git a/RockOS/.git-backup/objects/91/4d3a1a10d9333c2314f24b204d93c6a5c3df2f b/RockOS/.git-backup/objects/91/4d3a1a10d9333c2314f24b204d93c6a5c3df2f deleted file mode 100644 index 4a44963..0000000 Binary files a/RockOS/.git-backup/objects/91/4d3a1a10d9333c2314f24b204d93c6a5c3df2f and /dev/null differ diff --git a/RockOS/.git-backup/objects/91/7996504e7d9e4baebfa864580952ca2acf21d5 b/RockOS/.git-backup/objects/91/7996504e7d9e4baebfa864580952ca2acf21d5 deleted file mode 100644 index a38301d..0000000 Binary files a/RockOS/.git-backup/objects/91/7996504e7d9e4baebfa864580952ca2acf21d5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/92/748fd258852e50033777bf27697aea2c808b3a b/RockOS/.git-backup/objects/92/748fd258852e50033777bf27697aea2c808b3a deleted file mode 100644 index 2d69505..0000000 --- a/RockOS/.git-backup/objects/92/748fd258852e50033777bf27697aea2c808b3a +++ /dev/null @@ -1,3 +0,0 @@ -xYj1DSbi!*ela-Fr -*(<(JI6c(r;4l~x⵵3Z#mrg)B $Yc'FyoFNG} -||: , >$I)]f|cG7hJzs1$L} \ No newline at end of file diff --git a/RockOS/.git-backup/objects/92/aff0ef60836c603f7209d363fba7bcac05fbb7 b/RockOS/.git-backup/objects/92/aff0ef60836c603f7209d363fba7bcac05fbb7 deleted file mode 100644 index b0abd72..0000000 Binary files a/RockOS/.git-backup/objects/92/aff0ef60836c603f7209d363fba7bcac05fbb7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/93/1e612bbf4d57af19e1a0f0a495f6c33d1d20a0 b/RockOS/.git-backup/objects/93/1e612bbf4d57af19e1a0f0a495f6c33d1d20a0 deleted file mode 100644 index 6a6c5a4..0000000 Binary files a/RockOS/.git-backup/objects/93/1e612bbf4d57af19e1a0f0a495f6c33d1d20a0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/93/59c8e3c6ec28a6aa4f83b30902e2a7986705ed b/RockOS/.git-backup/objects/93/59c8e3c6ec28a6aa4f83b30902e2a7986705ed deleted file mode 100644 index 275c7df..0000000 Binary files a/RockOS/.git-backup/objects/93/59c8e3c6ec28a6aa4f83b30902e2a7986705ed and /dev/null differ diff --git a/RockOS/.git-backup/objects/94/0da0cd9abaae4dd4de77634c0c9948e485a01f b/RockOS/.git-backup/objects/94/0da0cd9abaae4dd4de77634c0c9948e485a01f deleted file mode 100644 index 930897a..0000000 Binary files a/RockOS/.git-backup/objects/94/0da0cd9abaae4dd4de77634c0c9948e485a01f and /dev/null differ diff --git a/RockOS/.git-backup/objects/95/00ca5fe3cf06dc06a6724a8ef66885ccc826bd b/RockOS/.git-backup/objects/95/00ca5fe3cf06dc06a6724a8ef66885ccc826bd deleted file mode 100644 index bd44305..0000000 Binary files a/RockOS/.git-backup/objects/95/00ca5fe3cf06dc06a6724a8ef66885ccc826bd and /dev/null differ diff --git a/RockOS/.git-backup/objects/95/1f6df57e462d5c9f922d8c598ce2fe5f2ee12e b/RockOS/.git-backup/objects/95/1f6df57e462d5c9f922d8c598ce2fe5f2ee12e deleted file mode 100644 index 24494bf..0000000 Binary files a/RockOS/.git-backup/objects/95/1f6df57e462d5c9f922d8c598ce2fe5f2ee12e and /dev/null differ diff --git a/RockOS/.git-backup/objects/95/d318bbd48bee52252a1af9f86db337ce0a2ce6 b/RockOS/.git-backup/objects/95/d318bbd48bee52252a1af9f86db337ce0a2ce6 deleted file mode 100644 index 2a0c619..0000000 Binary files a/RockOS/.git-backup/objects/95/d318bbd48bee52252a1af9f86db337ce0a2ce6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/95/e4db69954ae5a4dc9c87ebaadc15146d8dffa1 b/RockOS/.git-backup/objects/95/e4db69954ae5a4dc9c87ebaadc15146d8dffa1 deleted file mode 100644 index e0b4319..0000000 Binary files a/RockOS/.git-backup/objects/95/e4db69954ae5a4dc9c87ebaadc15146d8dffa1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/95/e58e5d5351e0a3f9f14f8e163d8efa1b58510b b/RockOS/.git-backup/objects/95/e58e5d5351e0a3f9f14f8e163d8efa1b58510b deleted file mode 100644 index 05ae393..0000000 --- a/RockOS/.git-backup/objects/95/e58e5d5351e0a3f9f14f8e163d8efa1b58510b +++ /dev/null @@ -1,2 +0,0 @@ -xm;o0;WXbI*!hp -D"HNKcPU!+:'>.;KTddi߈!a%dQ%PORH}{&Dp_B[x>Q{6i=^!K^,@q3-f䏶]SR\Lg:fpx%,YM=fGʒnWu+>y1g5mE/Tk=z)\7Ptα0MUvypn8ϴDc|2i (Kȇx-|8 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/96/0dd6c8717a317fe7e8f46cfd6f0a263e31d0c6 b/RockOS/.git-backup/objects/96/0dd6c8717a317fe7e8f46cfd6f0a263e31d0c6 deleted file mode 100644 index 52ccf24..0000000 Binary files a/RockOS/.git-backup/objects/96/0dd6c8717a317fe7e8f46cfd6f0a263e31d0c6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/96/6170b9e7a01bae6786b0e3801f7615233efa80 b/RockOS/.git-backup/objects/96/6170b9e7a01bae6786b0e3801f7615233efa80 deleted file mode 100644 index 461a427..0000000 Binary files a/RockOS/.git-backup/objects/96/6170b9e7a01bae6786b0e3801f7615233efa80 and /dev/null differ diff --git a/RockOS/.git-backup/objects/97/2f484acfa7d91719828507c449a1addb781538 b/RockOS/.git-backup/objects/97/2f484acfa7d91719828507c449a1addb781538 deleted file mode 100644 index 12dcf8b..0000000 Binary files a/RockOS/.git-backup/objects/97/2f484acfa7d91719828507c449a1addb781538 and /dev/null differ diff --git a/RockOS/.git-backup/objects/97/357f3170d59a64f9ac72eb1d06ec93172a9252 b/RockOS/.git-backup/objects/97/357f3170d59a64f9ac72eb1d06ec93172a9252 deleted file mode 100644 index ff91137..0000000 --- a/RockOS/.git-backup/objects/97/357f3170d59a64f9ac72eb1d06ec93172a9252 +++ /dev/null @@ -1,3 +0,0 @@ -x[j0DU$A+ JVE$X -%~ g [y@}gII)ʓeboKeQ. \ No newline at end of file diff --git a/RockOS/.git-backup/objects/97/3821bf6e307a8538d818486f2fb7c491b3612d b/RockOS/.git-backup/objects/97/3821bf6e307a8538d818486f2fb7c491b3612d deleted file mode 100644 index 241e490..0000000 Binary files a/RockOS/.git-backup/objects/97/3821bf6e307a8538d818486f2fb7c491b3612d and /dev/null differ diff --git a/RockOS/.git-backup/objects/97/674fbf81e637e6223d1523cf7ff9a4b3179135 b/RockOS/.git-backup/objects/97/674fbf81e637e6223d1523cf7ff9a4b3179135 deleted file mode 100644 index 81b92c5..0000000 Binary files a/RockOS/.git-backup/objects/97/674fbf81e637e6223d1523cf7ff9a4b3179135 and /dev/null differ diff --git a/RockOS/.git-backup/objects/97/7aea94154e5c2e4eb42283aa5b0ce0af5cae9f b/RockOS/.git-backup/objects/97/7aea94154e5c2e4eb42283aa5b0ce0af5cae9f deleted file mode 100644 index b55ad4a..0000000 Binary files a/RockOS/.git-backup/objects/97/7aea94154e5c2e4eb42283aa5b0ce0af5cae9f and /dev/null differ diff --git a/RockOS/.git-backup/objects/97/84c9d24f20d9d69d9e08244bd885bfe9699277 b/RockOS/.git-backup/objects/97/84c9d24f20d9d69d9e08244bd885bfe9699277 deleted file mode 100644 index 478b438..0000000 Binary files a/RockOS/.git-backup/objects/97/84c9d24f20d9d69d9e08244bd885bfe9699277 and /dev/null differ diff --git a/RockOS/.git-backup/objects/98/1980316252671fc8da475c12a7c2738b10fa65 b/RockOS/.git-backup/objects/98/1980316252671fc8da475c12a7c2738b10fa65 deleted file mode 100644 index 45f0c05..0000000 --- a/RockOS/.git-backup/objects/98/1980316252671fc8da475c12a7c2738b10fa65 +++ /dev/null @@ -1,3 +0,0 @@ -xmAK1=E/. -MF,v۲I8lM%BXe2&/oز}g/k]sQێ}Jl04r4b)Flp=aDV B[ -~x_۹>3aIJ!23lt wH :0jMzsNSBkh(d>ֱ`} *?羺/4ÁQ_htv < \ No newline at end of file diff --git a/RockOS/.git-backup/objects/98/29246b8709197da3936b08b7ff959bb46e3f1b b/RockOS/.git-backup/objects/98/29246b8709197da3936b08b7ff959bb46e3f1b deleted file mode 100644 index 9cf772c..0000000 Binary files a/RockOS/.git-backup/objects/98/29246b8709197da3936b08b7ff959bb46e3f1b and /dev/null differ diff --git a/RockOS/.git-backup/objects/98/4e0cbef17eceed29e8c5371a8aed608fc174b2 b/RockOS/.git-backup/objects/98/4e0cbef17eceed29e8c5371a8aed608fc174b2 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/98/847076c97494e688327e5295a0079331fd0493 b/RockOS/.git-backup/objects/98/847076c97494e688327e5295a0079331fd0493 deleted file mode 100644 index 3b9b77d..0000000 Binary files a/RockOS/.git-backup/objects/98/847076c97494e688327e5295a0079331fd0493 and /dev/null differ diff --git a/RockOS/.git-backup/objects/98/8a042a5c281637f36fcee6172ea475e7340e54 b/RockOS/.git-backup/objects/98/8a042a5c281637f36fcee6172ea475e7340e54 deleted file mode 100644 index 7a2ce81..0000000 Binary files a/RockOS/.git-backup/objects/98/8a042a5c281637f36fcee6172ea475e7340e54 and /dev/null differ diff --git a/RockOS/.git-backup/objects/98/a2bccfdb7ed2c44b7dd890082f5736ced90449 b/RockOS/.git-backup/objects/98/a2bccfdb7ed2c44b7dd890082f5736ced90449 deleted file mode 100644 index 1ff4254..0000000 Binary files a/RockOS/.git-backup/objects/98/a2bccfdb7ed2c44b7dd890082f5736ced90449 and /dev/null differ diff --git a/RockOS/.git-backup/objects/98/bb642b369912631ac81eb29218884abc72a98f b/RockOS/.git-backup/objects/98/bb642b369912631ac81eb29218884abc72a98f deleted file mode 100644 index 47aecda..0000000 Binary files a/RockOS/.git-backup/objects/98/bb642b369912631ac81eb29218884abc72a98f and /dev/null differ diff --git a/RockOS/.git-backup/objects/98/f53c984fb4712628e7126572097fba04db3d95 b/RockOS/.git-backup/objects/98/f53c984fb4712628e7126572097fba04db3d95 deleted file mode 100644 index 201f711..0000000 Binary files a/RockOS/.git-backup/objects/98/f53c984fb4712628e7126572097fba04db3d95 and /dev/null differ diff --git a/RockOS/.git-backup/objects/99/060e4ee24c717fc830840ad27c00fb66bdddb3 b/RockOS/.git-backup/objects/99/060e4ee24c717fc830840ad27c00fb66bdddb3 deleted file mode 100644 index da3aab6..0000000 Binary files a/RockOS/.git-backup/objects/99/060e4ee24c717fc830840ad27c00fb66bdddb3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/99/2bb72003f271870063f7a82dc3dc23a98d3c6d b/RockOS/.git-backup/objects/99/2bb72003f271870063f7a82dc3dc23a98d3c6d deleted file mode 100644 index ce087b3..0000000 Binary files a/RockOS/.git-backup/objects/99/2bb72003f271870063f7a82dc3dc23a98d3c6d and /dev/null differ diff --git a/RockOS/.git-backup/objects/99/2ffd1f6bc5a31582327ab4b434e47fcab4afe4 b/RockOS/.git-backup/objects/99/2ffd1f6bc5a31582327ab4b434e47fcab4afe4 deleted file mode 100644 index 7494f3b..0000000 Binary files a/RockOS/.git-backup/objects/99/2ffd1f6bc5a31582327ab4b434e47fcab4afe4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/99/5eba33cf71679182cf1515bfbd94c10c9c4ff9 b/RockOS/.git-backup/objects/99/5eba33cf71679182cf1515bfbd94c10c9c4ff9 deleted file mode 100644 index 5d07c86..0000000 --- a/RockOS/.git-backup/objects/99/5eba33cf71679182cf1515bfbd94c10c9c4ff9 +++ /dev/null @@ -1,2 +0,0 @@ -x}Q]k0ݳ!ePBR]ݭ![r|A•RF{%=]I[WٗvD'28N2&SqR։q:hhzZNc׆,^+YrYB5{r6w,m -zS>Ma`2ey(ݒ kQL"yl&`wm8@{`EoKA#~[; ?0smLn}6: QeYDZS䣚[\E"]_:lŦ(WUM \ No newline at end of file diff --git a/RockOS/.git-backup/objects/99/be7814ebed5f2ffe2847e19bbc94550bcc1b45 b/RockOS/.git-backup/objects/99/be7814ebed5f2ffe2847e19bbc94550bcc1b45 deleted file mode 100644 index 6f9b2eb..0000000 Binary files a/RockOS/.git-backup/objects/99/be7814ebed5f2ffe2847e19bbc94550bcc1b45 and /dev/null differ diff --git a/RockOS/.git-backup/objects/99/d530faa5dc41b91f0ce3ffc30803a4e3352b22 b/RockOS/.git-backup/objects/99/d530faa5dc41b91f0ce3ffc30803a4e3352b22 deleted file mode 100644 index fbf3c29..0000000 Binary files a/RockOS/.git-backup/objects/99/d530faa5dc41b91f0ce3ffc30803a4e3352b22 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9a/938a69a16066b97e6af1adb5e51a75d88ff745 b/RockOS/.git-backup/objects/9a/938a69a16066b97e6af1adb5e51a75d88ff745 deleted file mode 100644 index e05abd6..0000000 Binary files a/RockOS/.git-backup/objects/9a/938a69a16066b97e6af1adb5e51a75d88ff745 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9a/fe18ea29e39938c9f84235000e0b05cb1c5319 b/RockOS/.git-backup/objects/9a/fe18ea29e39938c9f84235000e0b05cb1c5319 deleted file mode 100644 index 6cb5312..0000000 Binary files a/RockOS/.git-backup/objects/9a/fe18ea29e39938c9f84235000e0b05cb1c5319 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9b/3226d57035d9c395b3b53031bf3d72c286d31d b/RockOS/.git-backup/objects/9b/3226d57035d9c395b3b53031bf3d72c286d31d deleted file mode 100644 index a41f47a..0000000 Binary files a/RockOS/.git-backup/objects/9b/3226d57035d9c395b3b53031bf3d72c286d31d and /dev/null differ diff --git a/RockOS/.git-backup/objects/9b/39093933d3e7526044dea2a020de15c83bfcd6 b/RockOS/.git-backup/objects/9b/39093933d3e7526044dea2a020de15c83bfcd6 deleted file mode 100644 index 570e046..0000000 --- a/RockOS/.git-backup/objects/9b/39093933d3e7526044dea2a020de15c83bfcd6 +++ /dev/null @@ -1 +0,0 @@ -xRN0 弯r30MIp&n M*II:'&`ɉ, IZmn}` cBg@;:SNP T#xmj(GރzY-0&41'3#TVasml{;z< cON>;"~Xs k*':@>m8iCž/˟wazqenb J \ No newline at end of file diff --git a/RockOS/.git-backup/objects/9b/3b7513db27aa82e0d7919d2aed4ef92af2b557 b/RockOS/.git-backup/objects/9b/3b7513db27aa82e0d7919d2aed4ef92af2b557 deleted file mode 100644 index be3ff6d..0000000 --- a/RockOS/.git-backup/objects/9b/3b7513db27aa82e0d7919d2aed4ef92af2b557 +++ /dev/null @@ -1,2 +0,0 @@ -xeK -0D])Zf7`a`ΓQNlUqȌ?|FÒ ۲#[P;C肷qޟ7&e"x>$UЈz^/wYvg/9 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/9b/a830deb5186f62e99784e78091a239500cda91 b/RockOS/.git-backup/objects/9b/a830deb5186f62e99784e78091a239500cda91 deleted file mode 100644 index 9c98393..0000000 Binary files a/RockOS/.git-backup/objects/9b/a830deb5186f62e99784e78091a239500cda91 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9b/faf88c01cca86b3e212c3d2794e7cf4a7989a2 b/RockOS/.git-backup/objects/9b/faf88c01cca86b3e212c3d2794e7cf4a7989a2 deleted file mode 100644 index edd2443..0000000 Binary files a/RockOS/.git-backup/objects/9b/faf88c01cca86b3e212c3d2794e7cf4a7989a2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9c/c0949078aff9ceb60559f2b226dbd30bea1ad9 b/RockOS/.git-backup/objects/9c/c0949078aff9ceb60559f2b226dbd30bea1ad9 deleted file mode 100644 index a7fab70..0000000 Binary files a/RockOS/.git-backup/objects/9c/c0949078aff9ceb60559f2b226dbd30bea1ad9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9d/074de7c931fcee40dccee6821f1c7c64209387 b/RockOS/.git-backup/objects/9d/074de7c931fcee40dccee6821f1c7c64209387 deleted file mode 100644 index faaed5c..0000000 Binary files a/RockOS/.git-backup/objects/9d/074de7c931fcee40dccee6821f1c7c64209387 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9d/c8b3358595a434fe1a2d047f95500490cba36e b/RockOS/.git-backup/objects/9d/c8b3358595a434fe1a2d047f95500490cba36e deleted file mode 100644 index 245d75e..0000000 Binary files a/RockOS/.git-backup/objects/9d/c8b3358595a434fe1a2d047f95500490cba36e and /dev/null differ diff --git a/RockOS/.git-backup/objects/9e/16bc63b38ccae8c19c737ee5ef6e69e7a93d8e b/RockOS/.git-backup/objects/9e/16bc63b38ccae8c19c737ee5ef6e69e7a93d8e deleted file mode 100644 index e9ce90e..0000000 Binary files a/RockOS/.git-backup/objects/9e/16bc63b38ccae8c19c737ee5ef6e69e7a93d8e and /dev/null differ diff --git a/RockOS/.git-backup/objects/9e/b18a39f48908e49311bb0a8ae4bc85c4df6539 b/RockOS/.git-backup/objects/9e/b18a39f48908e49311bb0a8ae4bc85c4df6539 deleted file mode 100644 index bc2eaae..0000000 Binary files a/RockOS/.git-backup/objects/9e/b18a39f48908e49311bb0a8ae4bc85c4df6539 and /dev/null differ diff --git a/RockOS/.git-backup/objects/9f/273691595d6e1d8d836bc66be3dc1a4fc6f370 b/RockOS/.git-backup/objects/9f/273691595d6e1d8d836bc66be3dc1a4fc6f370 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/9f/b428c7c12332a52451a891a1c61d0a4ebe66e1 b/RockOS/.git-backup/objects/9f/b428c7c12332a52451a891a1c61d0a4ebe66e1 deleted file mode 100644 index c573292..0000000 Binary files a/RockOS/.git-backup/objects/9f/b428c7c12332a52451a891a1c61d0a4ebe66e1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a0/2ceb89f1179e5f4435fb1d0dfb359c5a5bb06a b/RockOS/.git-backup/objects/a0/2ceb89f1179e5f4435fb1d0dfb359c5a5bb06a deleted file mode 100644 index 1c11a78..0000000 Binary files a/RockOS/.git-backup/objects/a0/2ceb89f1179e5f4435fb1d0dfb359c5a5bb06a and /dev/null differ diff --git a/RockOS/.git-backup/objects/a0/496e26b5d95d44b9e6025848edac6af50eec21 b/RockOS/.git-backup/objects/a0/496e26b5d95d44b9e6025848edac6af50eec21 deleted file mode 100644 index 808e223..0000000 Binary files a/RockOS/.git-backup/objects/a0/496e26b5d95d44b9e6025848edac6af50eec21 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a0/4e752ce1d1828fba687db8919e984d99d84ce1 b/RockOS/.git-backup/objects/a0/4e752ce1d1828fba687db8919e984d99d84ce1 deleted file mode 100644 index d6d7b63..0000000 Binary files a/RockOS/.git-backup/objects/a0/4e752ce1d1828fba687db8919e984d99d84ce1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a0/a0fbcf83758e30033baee85dafd625ba32e523 b/RockOS/.git-backup/objects/a0/a0fbcf83758e30033baee85dafd625ba32e523 deleted file mode 100644 index cc4ce47..0000000 Binary files a/RockOS/.git-backup/objects/a0/a0fbcf83758e30033baee85dafd625ba32e523 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a0/d825efabee5c8c30800373444c2dbe083740c0 b/RockOS/.git-backup/objects/a0/d825efabee5c8c30800373444c2dbe083740c0 deleted file mode 100644 index 38aec3b..0000000 --- a/RockOS/.git-backup/objects/a0/d825efabee5c8c30800373444c2dbe083740c0 +++ /dev/null @@ -1,2 +0,0 @@ -xU -0D=+r BI/Z(IdKmIB؃qcf?4󕦖p}wS)1C1#mwR5bmnAԱϦ@0qHy_jCi-k#c [4 8AV \ No newline at end of file diff --git a/RockOS/.git-backup/objects/a1/7876a1e04023b7f6a291216c2c739d48383c73 b/RockOS/.git-backup/objects/a1/7876a1e04023b7f6a291216c2c739d48383c73 deleted file mode 100644 index fbf0ed3..0000000 Binary files a/RockOS/.git-backup/objects/a1/7876a1e04023b7f6a291216c2c739d48383c73 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a1/b3a2c93010f2de79ffda3100fbfb2588041b60 b/RockOS/.git-backup/objects/a1/b3a2c93010f2de79ffda3100fbfb2588041b60 deleted file mode 100644 index 13fc1b7..0000000 Binary files a/RockOS/.git-backup/objects/a1/b3a2c93010f2de79ffda3100fbfb2588041b60 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a1/da4c238f5590afc0ceed3bb6baa3d551efc349 b/RockOS/.git-backup/objects/a1/da4c238f5590afc0ceed3bb6baa3d551efc349 deleted file mode 100644 index 173978a..0000000 Binary files a/RockOS/.git-backup/objects/a1/da4c238f5590afc0ceed3bb6baa3d551efc349 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a2/1f8c0d3f5b3052dea00acad25402f1ea812e6c b/RockOS/.git-backup/objects/a2/1f8c0d3f5b3052dea00acad25402f1ea812e6c deleted file mode 100644 index 3a259c6..0000000 Binary files a/RockOS/.git-backup/objects/a2/1f8c0d3f5b3052dea00acad25402f1ea812e6c and /dev/null differ diff --git a/RockOS/.git-backup/objects/a2/afb423e34e5e896a63b38da007eb4587e13c41 b/RockOS/.git-backup/objects/a2/afb423e34e5e896a63b38da007eb4587e13c41 deleted file mode 100644 index 95a793f..0000000 Binary files a/RockOS/.git-backup/objects/a2/afb423e34e5e896a63b38da007eb4587e13c41 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a2/e5c24951088458386f9a6d2186c8a6bcd66aec b/RockOS/.git-backup/objects/a2/e5c24951088458386f9a6d2186c8a6bcd66aec deleted file mode 100644 index a15dc22..0000000 Binary files a/RockOS/.git-backup/objects/a2/e5c24951088458386f9a6d2186c8a6bcd66aec and /dev/null differ diff --git a/RockOS/.git-backup/objects/a3/a1a748000ffb6a8fa4276fda00c8bbc5c62b65 b/RockOS/.git-backup/objects/a3/a1a748000ffb6a8fa4276fda00c8bbc5c62b65 deleted file mode 100644 index dcee1db..0000000 Binary files a/RockOS/.git-backup/objects/a3/a1a748000ffb6a8fa4276fda00c8bbc5c62b65 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a3/d10c615b554ec38ca5ab4eabf063d3743c9b28 b/RockOS/.git-backup/objects/a3/d10c615b554ec38ca5ab4eabf063d3743c9b28 deleted file mode 100644 index 6690953..0000000 Binary files a/RockOS/.git-backup/objects/a3/d10c615b554ec38ca5ab4eabf063d3743c9b28 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a4/1ef5b8948c8da16d2b8cc51b346f5a37ad5743 b/RockOS/.git-backup/objects/a4/1ef5b8948c8da16d2b8cc51b346f5a37ad5743 deleted file mode 100644 index f93a015..0000000 Binary files a/RockOS/.git-backup/objects/a4/1ef5b8948c8da16d2b8cc51b346f5a37ad5743 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a4/348e228d8967f0ba016a63b50bb2efe925552e b/RockOS/.git-backup/objects/a4/348e228d8967f0ba016a63b50bb2efe925552e deleted file mode 100644 index a6bee4a..0000000 --- a/RockOS/.git-backup/objects/a4/348e228d8967f0ba016a63b50bb2efe925552e +++ /dev/null @@ -1,2 +0,0 @@ -x+)JMU047e040031QH.*1 fU̘'',9YAVQStj&?gx=3, ̼"kO8TaTQnbf^2C ׻2]W:pRp٩i9 s}4ιgM25) -YG \ No newline at end of file diff --git a/RockOS/.git-backup/objects/a4/49b7d03cd55945c27523929fa2a1502dbc0dfa b/RockOS/.git-backup/objects/a4/49b7d03cd55945c27523929fa2a1502dbc0dfa deleted file mode 100644 index 9f22cc8..0000000 Binary files a/RockOS/.git-backup/objects/a4/49b7d03cd55945c27523929fa2a1502dbc0dfa and /dev/null differ diff --git a/RockOS/.git-backup/objects/a5/01b1913eab8f594fa9bf8141eadb87becc60fa b/RockOS/.git-backup/objects/a5/01b1913eab8f594fa9bf8141eadb87becc60fa deleted file mode 100644 index e2ff32b..0000000 Binary files a/RockOS/.git-backup/objects/a5/01b1913eab8f594fa9bf8141eadb87becc60fa and /dev/null differ diff --git a/RockOS/.git-backup/objects/a5/7071f9f949c53d2155f9de4fc55888d4c9f4f1 b/RockOS/.git-backup/objects/a5/7071f9f949c53d2155f9de4fc55888d4c9f4f1 deleted file mode 100644 index de6eff7..0000000 --- a/RockOS/.git-backup/objects/a5/7071f9f949c53d2155f9de4fc55888d4c9f4f1 +++ /dev/null @@ -1 +0,0 @@ -xMQk0_qp0:6MD6B$u_2p[dL`Zga(a[B8?05|Ce榓1ÚK+f> a7d;v{+'o;3R+L`,,)vr{Mh"-y&m1lg\\!|WEtYѿSIvw <[}NK;]b|?F:Q#Dh QOI&& Ö9Ph%id"Խrb>{q \ No newline at end of file diff --git a/RockOS/.git-backup/objects/a5/a7c6f7c4eab0edae0f40e5998039fe353ddf75 b/RockOS/.git-backup/objects/a5/a7c6f7c4eab0edae0f40e5998039fe353ddf75 deleted file mode 100644 index 41fb8fb..0000000 Binary files a/RockOS/.git-backup/objects/a5/a7c6f7c4eab0edae0f40e5998039fe353ddf75 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a5/a9ac725fb243f47f5f6e7176c3c03f0ceae0e9 b/RockOS/.git-backup/objects/a5/a9ac725fb243f47f5f6e7176c3c03f0ceae0e9 deleted file mode 100644 index b46ade3..0000000 Binary files a/RockOS/.git-backup/objects/a5/a9ac725fb243f47f5f6e7176c3c03f0ceae0e9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a5/c7d593502d0df666746bd8539c88a92aa5d13c b/RockOS/.git-backup/objects/a5/c7d593502d0df666746bd8539c88a92aa5d13c deleted file mode 100644 index a14ff8c..0000000 Binary files a/RockOS/.git-backup/objects/a5/c7d593502d0df666746bd8539c88a92aa5d13c and /dev/null differ diff --git a/RockOS/.git-backup/objects/a5/ef950e5ad69101dbfaf3330e009ae7a1a9e6d6 b/RockOS/.git-backup/objects/a5/ef950e5ad69101dbfaf3330e009ae7a1a9e6d6 deleted file mode 100644 index d57cb42..0000000 Binary files a/RockOS/.git-backup/objects/a5/ef950e5ad69101dbfaf3330e009ae7a1a9e6d6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a6/24f22ce131a799aaee5e4759757f4387c8fd30 b/RockOS/.git-backup/objects/a6/24f22ce131a799aaee5e4759757f4387c8fd30 deleted file mode 100644 index 56174c0..0000000 Binary files a/RockOS/.git-backup/objects/a6/24f22ce131a799aaee5e4759757f4387c8fd30 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a6/c2f5e371d17ef59784440d38df436b35d091d5 b/RockOS/.git-backup/objects/a6/c2f5e371d17ef59784440d38df436b35d091d5 deleted file mode 100644 index d3b2ca2..0000000 --- a/RockOS/.git-backup/objects/a6/c2f5e371d17ef59784440d38df436b35d091d5 +++ /dev/null @@ -1,2 +0,0 @@ -xmn w)|XMlR^tH,Dx96?~kx?˧[ ؑԄ8D906(jiG ->蜅LH4a_ <_eCk~& r'xn9lOź"ITTB/q)eڔ30f{-]o[ک ,?4!O|;dh2J?@z \ No newline at end of file diff --git a/RockOS/.git-backup/objects/a6/ebd4a5433edd77203b6cd8719a69e899ebaa99 b/RockOS/.git-backup/objects/a6/ebd4a5433edd77203b6cd8719a69e899ebaa99 deleted file mode 100644 index d1f44a0..0000000 Binary files a/RockOS/.git-backup/objects/a6/ebd4a5433edd77203b6cd8719a69e899ebaa99 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a7/2030dc2b9db29396fddef73e263f4640578cdb b/RockOS/.git-backup/objects/a7/2030dc2b9db29396fddef73e263f4640578cdb deleted file mode 100644 index 7d99b2b..0000000 Binary files a/RockOS/.git-backup/objects/a7/2030dc2b9db29396fddef73e263f4640578cdb and /dev/null differ diff --git a/RockOS/.git-backup/objects/a7/2075f99d52c0bf6ae9b3313857f192490f71de b/RockOS/.git-backup/objects/a7/2075f99d52c0bf6ae9b3313857f192490f71de deleted file mode 100644 index e0f6ea1..0000000 Binary files a/RockOS/.git-backup/objects/a7/2075f99d52c0bf6ae9b3313857f192490f71de and /dev/null differ diff --git a/RockOS/.git-backup/objects/a7/3bcdd4fc15d70c4273cd80afbbabedde7d5a83 b/RockOS/.git-backup/objects/a7/3bcdd4fc15d70c4273cd80afbbabedde7d5a83 deleted file mode 100644 index 98533b5..0000000 Binary files a/RockOS/.git-backup/objects/a7/3bcdd4fc15d70c4273cd80afbbabedde7d5a83 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a7/90a043350cfcb1fdd703dd25547bf732f1c953 b/RockOS/.git-backup/objects/a7/90a043350cfcb1fdd703dd25547bf732f1c953 deleted file mode 100644 index f369b5d..0000000 Binary files a/RockOS/.git-backup/objects/a7/90a043350cfcb1fdd703dd25547bf732f1c953 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a7/c05d97027eb364d797a4b0be3385f8a010db0a b/RockOS/.git-backup/objects/a7/c05d97027eb364d797a4b0be3385f8a010db0a deleted file mode 100644 index b6ef3f3..0000000 Binary files a/RockOS/.git-backup/objects/a7/c05d97027eb364d797a4b0be3385f8a010db0a and /dev/null differ diff --git a/RockOS/.git-backup/objects/a8/2a7aa1a4559d3e4b838f7f129266c20cc50ebd b/RockOS/.git-backup/objects/a8/2a7aa1a4559d3e4b838f7f129266c20cc50ebd deleted file mode 100644 index 4321ef4..0000000 Binary files a/RockOS/.git-backup/objects/a8/2a7aa1a4559d3e4b838f7f129266c20cc50ebd and /dev/null differ diff --git a/RockOS/.git-backup/objects/a8/470fc6ff69ae80f2022504944c6e84248b64f7 b/RockOS/.git-backup/objects/a8/470fc6ff69ae80f2022504944c6e84248b64f7 deleted file mode 100644 index bcc8cef..0000000 --- a/RockOS/.git-backup/objects/a8/470fc6ff69ae80f2022504944c6e84248b64f7 +++ /dev/null @@ -1,3 +0,0 @@ -xPj0Y_KjL  -diȒnRZV83;΅ޞ -z-|lVWV@Qڝ ‚Xs:t3@QWy4`@$5qF%2 Q%*3KJ9w҇,iNu08Ի"[1|Or#jбq.]zRzc_Z \ No newline at end of file diff --git a/RockOS/.git-backup/objects/a8/9e9dbb212bb7e89625fb960124371435bd2e02 b/RockOS/.git-backup/objects/a8/9e9dbb212bb7e89625fb960124371435bd2e02 deleted file mode 100644 index 4ca06e4..0000000 Binary files a/RockOS/.git-backup/objects/a8/9e9dbb212bb7e89625fb960124371435bd2e02 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a8/bb0de49a5c06922120493a3489ee9641f55175 b/RockOS/.git-backup/objects/a8/bb0de49a5c06922120493a3489ee9641f55175 deleted file mode 100644 index 8bb9518..0000000 --- a/RockOS/.git-backup/objects/a8/bb0de49a5c06922120493a3489ee9641f55175 +++ /dev/null @@ -1,4 +0,0 @@ -xm -0D=+rQ - -BlB-ɶߛc] &_ha n՜Nĕ>#usPj1l>$ MlHyRVuƆD $8O-T1h$XmzǶt4 K/ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/a8/d3d87705e2b73a78b7819f9a2bf628578b34f2 b/RockOS/.git-backup/objects/a8/d3d87705e2b73a78b7819f9a2bf628578b34f2 deleted file mode 100644 index f007077..0000000 Binary files a/RockOS/.git-backup/objects/a8/d3d87705e2b73a78b7819f9a2bf628578b34f2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a8/f3fbfc07cb7d2577e1b4b01464299afd47f4c3 b/RockOS/.git-backup/objects/a8/f3fbfc07cb7d2577e1b4b01464299afd47f4c3 deleted file mode 100644 index 931f558..0000000 Binary files a/RockOS/.git-backup/objects/a8/f3fbfc07cb7d2577e1b4b01464299afd47f4c3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a9/203f79901570be461327d8971e781053f3d433 b/RockOS/.git-backup/objects/a9/203f79901570be461327d8971e781053f3d433 deleted file mode 100644 index 9a0839b..0000000 Binary files a/RockOS/.git-backup/objects/a9/203f79901570be461327d8971e781053f3d433 and /dev/null differ diff --git a/RockOS/.git-backup/objects/a9/8fd2bfb986b5b8b64134a80b72790b8007013c b/RockOS/.git-backup/objects/a9/8fd2bfb986b5b8b64134a80b72790b8007013c deleted file mode 100644 index c571d7b..0000000 Binary files a/RockOS/.git-backup/objects/a9/8fd2bfb986b5b8b64134a80b72790b8007013c and /dev/null differ diff --git a/RockOS/.git-backup/objects/a9/ee3a40c3cf0922e24d14abf5f2eff64586bc2a b/RockOS/.git-backup/objects/a9/ee3a40c3cf0922e24d14abf5f2eff64586bc2a deleted file mode 100644 index eb89527..0000000 Binary files a/RockOS/.git-backup/objects/a9/ee3a40c3cf0922e24d14abf5f2eff64586bc2a and /dev/null differ diff --git a/RockOS/.git-backup/objects/aa/00c4e67ca40da9eecdc7bc6af4c703768b7a1c b/RockOS/.git-backup/objects/aa/00c4e67ca40da9eecdc7bc6af4c703768b7a1c deleted file mode 100644 index baa0908..0000000 Binary files a/RockOS/.git-backup/objects/aa/00c4e67ca40da9eecdc7bc6af4c703768b7a1c and /dev/null differ diff --git a/RockOS/.git-backup/objects/aa/ad673d6ad73dad42998e04ab611f53f68d300d b/RockOS/.git-backup/objects/aa/ad673d6ad73dad42998e04ab611f53f68d300d deleted file mode 100644 index 29c3e29..0000000 Binary files a/RockOS/.git-backup/objects/aa/ad673d6ad73dad42998e04ab611f53f68d300d and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/253a872569668624e816d3cc2a535cbee16270 b/RockOS/.git-backup/objects/ab/253a872569668624e816d3cc2a535cbee16270 deleted file mode 100644 index 62636ff..0000000 Binary files a/RockOS/.git-backup/objects/ab/253a872569668624e816d3cc2a535cbee16270 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/3ca1771162392272675aab01459307753a086b b/RockOS/.git-backup/objects/ab/3ca1771162392272675aab01459307753a086b deleted file mode 100644 index 6f67921..0000000 Binary files a/RockOS/.git-backup/objects/ab/3ca1771162392272675aab01459307753a086b and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/48ef9b83b634df57553fba381454b531833348 b/RockOS/.git-backup/objects/ab/48ef9b83b634df57553fba381454b531833348 deleted file mode 100644 index 62927d0..0000000 Binary files a/RockOS/.git-backup/objects/ab/48ef9b83b634df57553fba381454b531833348 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/4ddb4f3186eb238dd954728aefe24365fd3574 b/RockOS/.git-backup/objects/ab/4ddb4f3186eb238dd954728aefe24365fd3574 deleted file mode 100644 index dba50a2..0000000 --- a/RockOS/.git-backup/objects/ab/4ddb4f3186eb238dd954728aefe24365fd3574 +++ /dev/null @@ -1,2 +0,0 @@ -xmAo19xj/inBHH  q,;kG%.n+Ǟx-[( CLcUwѲ%zR!Ha7h ־WA3J:Q9F._KdmߟOյ5v0i,e"28eЄ@ȍ HRB$&y -㦃B2B0H<㿩Is.?x ߟ, )B\( adN/ΏPW3BYhR>Dc'?یF)_Ԥ:qSI(?J#) #%d͏fbcQ{51}^Z \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ab/59a844f264fcacebb70a711208c97cf06341ce b/RockOS/.git-backup/objects/ab/59a844f264fcacebb70a711208c97cf06341ce deleted file mode 100644 index 4f72575..0000000 Binary files a/RockOS/.git-backup/objects/ab/59a844f264fcacebb70a711208c97cf06341ce and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/5a1ecb6b88d7bd6dcbbcadcbff009eef7157c8 b/RockOS/.git-backup/objects/ab/5a1ecb6b88d7bd6dcbbcadcbff009eef7157c8 deleted file mode 100644 index 234acae..0000000 --- a/RockOS/.git-backup/objects/ab/5a1ecb6b88d7bd6dcbbcadcbff009eef7157c8 +++ /dev/null @@ -1,2 +0,0 @@ -xKn0 )x(2P -%ӎP}KYVxX_Tne^Hp"5,YSNɲWȓj(a]1vBϩ'"UQ$/̋Dd.{r=R!RhdIS \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ab/80e57365d95ca0f7a2f329369cfc8c648e595a b/RockOS/.git-backup/objects/ab/80e57365d95ca0f7a2f329369cfc8c648e595a deleted file mode 100644 index f707a2c..0000000 Binary files a/RockOS/.git-backup/objects/ab/80e57365d95ca0f7a2f329369cfc8c648e595a and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/aa7c60ec7eed32049d1d488766b88bc7be8e54 b/RockOS/.git-backup/objects/ab/aa7c60ec7eed32049d1d488766b88bc7be8e54 deleted file mode 100644 index f6199f9..0000000 Binary files a/RockOS/.git-backup/objects/ab/aa7c60ec7eed32049d1d488766b88bc7be8e54 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/acc8d292bcc8b38045da35c61e03983a3a07f7 b/RockOS/.git-backup/objects/ab/acc8d292bcc8b38045da35c61e03983a3a07f7 deleted file mode 100644 index 3377a99..0000000 Binary files a/RockOS/.git-backup/objects/ab/acc8d292bcc8b38045da35c61e03983a3a07f7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/d743f473db8b45de0a8250fa5147a2536eb8de b/RockOS/.git-backup/objects/ab/d743f473db8b45de0a8250fa5147a2536eb8de deleted file mode 100644 index 79a2196..0000000 Binary files a/RockOS/.git-backup/objects/ab/d743f473db8b45de0a8250fa5147a2536eb8de and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/e7ab7fc0a654f4123bfcabf9c7162f184b255d b/RockOS/.git-backup/objects/ab/e7ab7fc0a654f4123bfcabf9c7162f184b255d deleted file mode 100644 index a744663..0000000 Binary files a/RockOS/.git-backup/objects/ab/e7ab7fc0a654f4123bfcabf9c7162f184b255d and /dev/null differ diff --git a/RockOS/.git-backup/objects/ab/fe4a0c565d8db81b278158a1f8300c2c045889 b/RockOS/.git-backup/objects/ab/fe4a0c565d8db81b278158a1f8300c2c045889 deleted file mode 100644 index fa8ad07..0000000 Binary files a/RockOS/.git-backup/objects/ab/fe4a0c565d8db81b278158a1f8300c2c045889 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ac/17d221cb595afa5ad4c95d622b99d91c8bd1f4 b/RockOS/.git-backup/objects/ac/17d221cb595afa5ad4c95d622b99d91c8bd1f4 deleted file mode 100644 index 39e926f..0000000 --- a/RockOS/.git-backup/objects/ac/17d221cb595afa5ad4c95d622b99d91c8bd1f4 +++ /dev/null @@ -1 +0,0 @@ -xR]K@9PAmvkYPl}R 4L-$UKr?8N\?//3Ihe<2z{`KL_EAgp VTc*c ng”Z/MH4*+z(u*MJ160"+'9<ˢ{J*Zf*&r2~ gω v.NNZs4ɸ^ձ;oZ1b*JYTĹ]%Ш+z E]Cm+@'dw|Lt(NR:iMu"Dr&݆yJ]%YIwlX/\&!욞 wzwC}+fd~?]w \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ac/2cf0c9d4abf20613fa7eece8d430fa9b517430 b/RockOS/.git-backup/objects/ac/2cf0c9d4abf20613fa7eece8d430fa9b517430 deleted file mode 100644 index 3989a26..0000000 Binary files a/RockOS/.git-backup/objects/ac/2cf0c9d4abf20613fa7eece8d430fa9b517430 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ac/380e2d5273b98bcca2e98528aec16ae25b120b b/RockOS/.git-backup/objects/ac/380e2d5273b98bcca2e98528aec16ae25b120b deleted file mode 100644 index dc49e41..0000000 Binary files a/RockOS/.git-backup/objects/ac/380e2d5273b98bcca2e98528aec16ae25b120b and /dev/null differ diff --git a/RockOS/.git-backup/objects/ac/4b510221717936555ca3e478f27f1bf6b46399 b/RockOS/.git-backup/objects/ac/4b510221717936555ca3e478f27f1bf6b46399 deleted file mode 100644 index 3ebf92f..0000000 Binary files a/RockOS/.git-backup/objects/ac/4b510221717936555ca3e478f27f1bf6b46399 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ac/a1f3db5eb9a233eeb65833cc75a4d84ca7f19c b/RockOS/.git-backup/objects/ac/a1f3db5eb9a233eeb65833cc75a4d84ca7f19c deleted file mode 100644 index 66aebe5..0000000 Binary files a/RockOS/.git-backup/objects/ac/a1f3db5eb9a233eeb65833cc75a4d84ca7f19c and /dev/null differ diff --git a/RockOS/.git-backup/objects/ac/dcaacf9e29d0368f068d76b3f342581bebaec7 b/RockOS/.git-backup/objects/ac/dcaacf9e29d0368f068d76b3f342581bebaec7 deleted file mode 100644 index f82d58b..0000000 Binary files a/RockOS/.git-backup/objects/ac/dcaacf9e29d0368f068d76b3f342581bebaec7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ac/f0dfe4ccfcc1d064888042f99e07d8abc90e78 b/RockOS/.git-backup/objects/ac/f0dfe4ccfcc1d064888042f99e07d8abc90e78 deleted file mode 100644 index 8e5ea2c..0000000 Binary files a/RockOS/.git-backup/objects/ac/f0dfe4ccfcc1d064888042f99e07d8abc90e78 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ad/a386e50847b23ac412f400e7883ba318f7b239 b/RockOS/.git-backup/objects/ad/a386e50847b23ac412f400e7883ba318f7b239 deleted file mode 100644 index cdcb3ac..0000000 Binary files a/RockOS/.git-backup/objects/ad/a386e50847b23ac412f400e7883ba318f7b239 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ad/b7d2a98e62feb43e948dc4ca443946402379cc b/RockOS/.git-backup/objects/ad/b7d2a98e62feb43e948dc4ca443946402379cc deleted file mode 100644 index 51a768d..0000000 Binary files a/RockOS/.git-backup/objects/ad/b7d2a98e62feb43e948dc4ca443946402379cc and /dev/null differ diff --git a/RockOS/.git-backup/objects/ae/358a6cd521ba14b8bc5cca597b6298b5af7818 b/RockOS/.git-backup/objects/ae/358a6cd521ba14b8bc5cca597b6298b5af7818 deleted file mode 100644 index 9f57a8e..0000000 Binary files a/RockOS/.git-backup/objects/ae/358a6cd521ba14b8bc5cca597b6298b5af7818 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ae/4b6863bf686ff2d0b26c0a70f37c84fc9e4e0a b/RockOS/.git-backup/objects/ae/4b6863bf686ff2d0b26c0a70f37c84fc9e4e0a deleted file mode 100644 index 098eee4..0000000 --- a/RockOS/.git-backup/objects/ae/4b6863bf686ff2d0b26c0a70f37c84fc9e4e0a +++ /dev/null @@ -1 +0,0 @@ -xi1a?i Aq+#id/^VƤ(%rom [24J#[iRuʫ7 >&PYX L*sY˜Qr*^v<kO~ 3vC{MR>&peS'Lf \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ae/76fcac503eef171fc6df33677229064b725a4b b/RockOS/.git-backup/objects/ae/76fcac503eef171fc6df33677229064b725a4b deleted file mode 100644 index 3cff95e..0000000 Binary files a/RockOS/.git-backup/objects/ae/76fcac503eef171fc6df33677229064b725a4b and /dev/null differ diff --git a/RockOS/.git-backup/objects/ae/c34cec5349c78022ded9782fd11c754e70b0af b/RockOS/.git-backup/objects/ae/c34cec5349c78022ded9782fd11c754e70b0af deleted file mode 100644 index f2775fe..0000000 Binary files a/RockOS/.git-backup/objects/ae/c34cec5349c78022ded9782fd11c754e70b0af and /dev/null differ diff --git a/RockOS/.git-backup/objects/ae/fd570a907f34edf1c4842a534797d4969daff4 b/RockOS/.git-backup/objects/ae/fd570a907f34edf1c4842a534797d4969daff4 deleted file mode 100644 index 455cc0c..0000000 --- a/RockOS/.git-backup/objects/ae/fd570a907f34edf1c4842a534797d4969daff4 +++ /dev/null @@ -1,4 +0,0 @@ -xU]k0ݳ~Ņ̐@#QC9ȖۯՕlNUY>ҽ:::vk!7k` #s -V2<+^UV6I[ΡR %8 ^ -W+ , d3Hx9v<ߵTgOҧ>Mil[Za=nj)p0#@b ϫOX#7N@jid_Ó,LtFD:j] #~';/#R2/x;pP]n2h1h΅hƚg>2߄\9" 6>ʒQ]k+M`0-xXpLD[ vbTdwhhP_P-dZ!m~͆po'G+3q: \ No newline at end of file diff --git a/RockOS/.git-backup/objects/af/62593e946344e6a213e3658021638fc2228905 b/RockOS/.git-backup/objects/af/62593e946344e6a213e3658021638fc2228905 deleted file mode 100644 index 5351688..0000000 --- a/RockOS/.git-backup/objects/af/62593e946344e6a213e3658021638fc2228905 +++ /dev/null @@ -1 +0,0 @@ -x+)JMU02`040031QK,L/Jey4V̝&g3AU%dļb<Dž]\OO^X}r$t]g(ۺ\2vGM @!;(/5yjbS+4eYM(LJf0VAyO^W8aԎ4K䇹(gr:bDAQ~zQbn1Îol`tdd]kj \ No newline at end of file diff --git a/RockOS/.git-backup/objects/af/6c1c94cffa4197296a23efde18425220ea6438 b/RockOS/.git-backup/objects/af/6c1c94cffa4197296a23efde18425220ea6438 deleted file mode 100644 index 5f7d16d..0000000 --- a/RockOS/.git-backup/objects/af/6c1c94cffa4197296a23efde18425220ea6438 +++ /dev/null @@ -1,2 +0,0 @@ -xYj0DS Z!\EK-Fˠ1}#xŃb5ÓHAђ" y%9gvJ&Dm Xh -9;`9y0w'ntl_2 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/af/6fcb7961a5055f8ffada31a4f802bfeea348c8 b/RockOS/.git-backup/objects/af/6fcb7961a5055f8ffada31a4f802bfeea348c8 deleted file mode 100644 index fd86ebb..0000000 Binary files a/RockOS/.git-backup/objects/af/6fcb7961a5055f8ffada31a4f802bfeea348c8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/af/9814c4b55ab440a9e725f6e70e2c1e279b2196 b/RockOS/.git-backup/objects/af/9814c4b55ab440a9e725f6e70e2c1e279b2196 deleted file mode 100644 index 9215360..0000000 Binary files a/RockOS/.git-backup/objects/af/9814c4b55ab440a9e725f6e70e2c1e279b2196 and /dev/null differ diff --git a/RockOS/.git-backup/objects/af/eebd1abb969f477d79fca3e708ac7b5e68ba5e b/RockOS/.git-backup/objects/af/eebd1abb969f477d79fca3e708ac7b5e68ba5e deleted file mode 100644 index aab15ea..0000000 Binary files a/RockOS/.git-backup/objects/af/eebd1abb969f477d79fca3e708ac7b5e68ba5e and /dev/null differ diff --git a/RockOS/.git-backup/objects/b0/e15548e6d44162ecd327bae69456033274a96a b/RockOS/.git-backup/objects/b0/e15548e6d44162ecd327bae69456033274a96a deleted file mode 100644 index 111c7e5..0000000 Binary files a/RockOS/.git-backup/objects/b0/e15548e6d44162ecd327bae69456033274a96a and /dev/null differ diff --git a/RockOS/.git-backup/objects/b1/a3dc2bb350c8ca21dd144622f59f609664be47 b/RockOS/.git-backup/objects/b1/a3dc2bb350c8ca21dd144622f59f609664be47 deleted file mode 100644 index 0e1a65c..0000000 Binary files a/RockOS/.git-backup/objects/b1/a3dc2bb350c8ca21dd144622f59f609664be47 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b1/e9a738c29e71e0f88b281980d6a2f310a37548 b/RockOS/.git-backup/objects/b1/e9a738c29e71e0f88b281980d6a2f310a37548 deleted file mode 100644 index dae8819..0000000 Binary files a/RockOS/.git-backup/objects/b1/e9a738c29e71e0f88b281980d6a2f310a37548 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b2/f3d65778e03c91fe53aac30abd672d5fd1e1ee b/RockOS/.git-backup/objects/b2/f3d65778e03c91fe53aac30abd672d5fd1e1ee deleted file mode 100644 index a073a35..0000000 Binary files a/RockOS/.git-backup/objects/b2/f3d65778e03c91fe53aac30abd672d5fd1e1ee and /dev/null differ diff --git a/RockOS/.git-backup/objects/b3/026014353234be5cec6c03d3ae32c6f7b3c709 b/RockOS/.git-backup/objects/b3/026014353234be5cec6c03d3ae32c6f7b3c709 deleted file mode 100644 index dbcd672..0000000 --- a/RockOS/.git-backup/objects/b3/026014353234be5cec6c03d3ae32c6f7b3c709 +++ /dev/null @@ -1,4 +0,0 @@ -xmAo1{xPKjE zY֭F4R~|Bh97~37nG[q ʻ^}/um"*c nUHRMX5%Qa) -ZM'+ -xor4Gצzr}@L&Jk{/DTNSz:^̿,WqtAz$˭mcNrw`1Wչ{_A&RJt ; ?G/ @3um/_Y_OGW٩ۜQE" -" o*[O:r\Oo"gX{~Q"E&Ƅ3Z!8>tUyhG5)M!AS<-g+mO/nzg \ No newline at end of file diff --git a/RockOS/.git-backup/objects/b3/3b4c698cb117501095128fc0164db0cb9f38f9 b/RockOS/.git-backup/objects/b3/3b4c698cb117501095128fc0164db0cb9f38f9 deleted file mode 100644 index 801583d..0000000 Binary files a/RockOS/.git-backup/objects/b3/3b4c698cb117501095128fc0164db0cb9f38f9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b3/73cf2b995103da2df4e08407a952474160a4a4 b/RockOS/.git-backup/objects/b3/73cf2b995103da2df4e08407a952474160a4a4 deleted file mode 100644 index 32cd466..0000000 Binary files a/RockOS/.git-backup/objects/b3/73cf2b995103da2df4e08407a952474160a4a4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b3/7d3ae436af5224b5481899a542d17ef7f28665 b/RockOS/.git-backup/objects/b3/7d3ae436af5224b5481899a542d17ef7f28665 deleted file mode 100644 index 9849397..0000000 Binary files a/RockOS/.git-backup/objects/b3/7d3ae436af5224b5481899a542d17ef7f28665 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b3/84723dbdecc59099db9580aa1473098000f286 b/RockOS/.git-backup/objects/b3/84723dbdecc59099db9580aa1473098000f286 deleted file mode 100644 index cd0f8cd..0000000 --- a/RockOS/.git-backup/objects/b3/84723dbdecc59099db9580aa1473098000f286 +++ /dev/null @@ -1 +0,0 @@ -xA @Qל h2AK1-]x{۟V-:>MJH1DFAGb@=<lv;d4e@,~)@Ɛ5$A89mv_!e2/ͺ `~ivG) sBc \ No newline at end of file diff --git a/RockOS/.git-backup/objects/b3/bef26f954bc5312cff87c2ac383dc653aa72b4 b/RockOS/.git-backup/objects/b3/bef26f954bc5312cff87c2ac383dc653aa72b4 deleted file mode 100644 index afbfd00..0000000 Binary files a/RockOS/.git-backup/objects/b3/bef26f954bc5312cff87c2ac383dc653aa72b4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b4/051009780564d44af4d99889d6208ab8592ff2 b/RockOS/.git-backup/objects/b4/051009780564d44af4d99889d6208ab8592ff2 deleted file mode 100644 index 5adfe10..0000000 Binary files a/RockOS/.git-backup/objects/b4/051009780564d44af4d99889d6208ab8592ff2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b4/7187f078696623af1da04cbfbf5458db577e09 b/RockOS/.git-backup/objects/b4/7187f078696623af1da04cbfbf5458db577e09 deleted file mode 100644 index 3ca2b7d..0000000 Binary files a/RockOS/.git-backup/objects/b4/7187f078696623af1da04cbfbf5458db577e09 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b4/b9469ae147fe1e259db992fd037d9d718efd8e b/RockOS/.git-backup/objects/b4/b9469ae147fe1e259db992fd037d9d718efd8e deleted file mode 100644 index 15d1b6f..0000000 Binary files a/RockOS/.git-backup/objects/b4/b9469ae147fe1e259db992fd037d9d718efd8e and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/0d52f45a66d87da46ddf89e942c562d2ce47c1 b/RockOS/.git-backup/objects/b5/0d52f45a66d87da46ddf89e942c562d2ce47c1 deleted file mode 100644 index ab4d825..0000000 Binary files a/RockOS/.git-backup/objects/b5/0d52f45a66d87da46ddf89e942c562d2ce47c1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/4d4fa14ca9f15389f851fbcfca2e764c5350ae b/RockOS/.git-backup/objects/b5/4d4fa14ca9f15389f851fbcfca2e764c5350ae deleted file mode 100644 index 606ddb4..0000000 Binary files a/RockOS/.git-backup/objects/b5/4d4fa14ca9f15389f851fbcfca2e764c5350ae and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/66f59d0cb97f16807db9e639c87f4245c00310 b/RockOS/.git-backup/objects/b5/66f59d0cb97f16807db9e639c87f4245c00310 deleted file mode 100644 index 60bca5a..0000000 Binary files a/RockOS/.git-backup/objects/b5/66f59d0cb97f16807db9e639c87f4245c00310 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/8cefa5276d4d289300669d16429a417c4412d9 b/RockOS/.git-backup/objects/b5/8cefa5276d4d289300669d16429a417c4412d9 deleted file mode 100644 index 68880db..0000000 Binary files a/RockOS/.git-backup/objects/b5/8cefa5276d4d289300669d16429a417c4412d9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/91d5717dfddcf1402ffc74fb4b7eb6d063dc66 b/RockOS/.git-backup/objects/b5/91d5717dfddcf1402ffc74fb4b7eb6d063dc66 deleted file mode 100644 index 6a2cc12..0000000 Binary files a/RockOS/.git-backup/objects/b5/91d5717dfddcf1402ffc74fb4b7eb6d063dc66 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/a2f660fcf3f88733fda75852a2893bfdd83d82 b/RockOS/.git-backup/objects/b5/a2f660fcf3f88733fda75852a2893bfdd83d82 deleted file mode 100644 index df84756..0000000 Binary files a/RockOS/.git-backup/objects/b5/a2f660fcf3f88733fda75852a2893bfdd83d82 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/c5fd2e36c60c414202b71b68c31b2bca503852 b/RockOS/.git-backup/objects/b5/c5fd2e36c60c414202b71b68c31b2bca503852 deleted file mode 100644 index 73a8dd6..0000000 Binary files a/RockOS/.git-backup/objects/b5/c5fd2e36c60c414202b71b68c31b2bca503852 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/ccabd26bc1a11aec9d71fa0be018a14dce6f29 b/RockOS/.git-backup/objects/b5/ccabd26bc1a11aec9d71fa0be018a14dce6f29 deleted file mode 100644 index f1686e4..0000000 Binary files a/RockOS/.git-backup/objects/b5/ccabd26bc1a11aec9d71fa0be018a14dce6f29 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/dc13f62e5d037b45f6a1fc532b7bfa02fb1875 b/RockOS/.git-backup/objects/b5/dc13f62e5d037b45f6a1fc532b7bfa02fb1875 deleted file mode 100644 index 417632a..0000000 Binary files a/RockOS/.git-backup/objects/b5/dc13f62e5d037b45f6a1fc532b7bfa02fb1875 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b5/dea4f63fc36d586398c460889f8ed24d19ac03 b/RockOS/.git-backup/objects/b5/dea4f63fc36d586398c460889f8ed24d19ac03 deleted file mode 100644 index 68511d4..0000000 Binary files a/RockOS/.git-backup/objects/b5/dea4f63fc36d586398c460889f8ed24d19ac03 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b6/0a3d0bacb6ea50f18aa246bf22d074f47b29da b/RockOS/.git-backup/objects/b6/0a3d0bacb6ea50f18aa246bf22d074f47b29da deleted file mode 100644 index 7e52f05..0000000 Binary files a/RockOS/.git-backup/objects/b6/0a3d0bacb6ea50f18aa246bf22d074f47b29da and /dev/null differ diff --git a/RockOS/.git-backup/objects/b6/44477fae62863726cd28d75242b0f93e9cb370 b/RockOS/.git-backup/objects/b6/44477fae62863726cd28d75242b0f93e9cb370 deleted file mode 100644 index 0d3dd87..0000000 Binary files a/RockOS/.git-backup/objects/b6/44477fae62863726cd28d75242b0f93e9cb370 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b6/a48865e7f5b6ffd7605f90178ec52f9eb7507c b/RockOS/.git-backup/objects/b6/a48865e7f5b6ffd7605f90178ec52f9eb7507c deleted file mode 100644 index 5ba0cdc..0000000 Binary files a/RockOS/.git-backup/objects/b6/a48865e7f5b6ffd7605f90178ec52f9eb7507c and /dev/null differ diff --git a/RockOS/.git-backup/objects/b6/e67a41829acd68e813adf7d5f8355921e39468 b/RockOS/.git-backup/objects/b6/e67a41829acd68e813adf7d5f8355921e39468 deleted file mode 100644 index fd5e318..0000000 Binary files a/RockOS/.git-backup/objects/b6/e67a41829acd68e813adf7d5f8355921e39468 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b6/ee4fc3de326f1f6be2e9baab4bca141a9bfa88 b/RockOS/.git-backup/objects/b6/ee4fc3de326f1f6be2e9baab4bca141a9bfa88 deleted file mode 100644 index fca51f3..0000000 --- a/RockOS/.git-backup/objects/b6/ee4fc3de326f1f6be2e9baab4bca141a9bfa88 +++ /dev/null @@ -1,2 +0,0 @@ -xKN!@QǬ hW$Ƹ -4/@ܽo Nor[FֈeOkM"F6"\Zj<ښ[($WZcgR*zDΒ{y\?3w^q?;@ԯԳ>_>{\.׾[SH> \ No newline at end of file diff --git a/RockOS/.git-backup/objects/b7/277f85043abf3118a31f7ddd8e547accadcb25 b/RockOS/.git-backup/objects/b7/277f85043abf3118a31f7ddd8e547accadcb25 deleted file mode 100644 index 385ed15..0000000 Binary files a/RockOS/.git-backup/objects/b7/277f85043abf3118a31f7ddd8e547accadcb25 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b7/445b5cbe805653c3d069a10c5c9e1f578dd745 b/RockOS/.git-backup/objects/b7/445b5cbe805653c3d069a10c5c9e1f578dd745 deleted file mode 100644 index 0f0100c..0000000 Binary files a/RockOS/.git-backup/objects/b7/445b5cbe805653c3d069a10c5c9e1f578dd745 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b7/c189a71341c59a7d15b6bc02f6ff6ab39a4b32 b/RockOS/.git-backup/objects/b7/c189a71341c59a7d15b6bc02f6ff6ab39a4b32 deleted file mode 100644 index 83a3a67..0000000 Binary files a/RockOS/.git-backup/objects/b7/c189a71341c59a7d15b6bc02f6ff6ab39a4b32 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b7/ee8cfce420857a60d517f49dda810440032c1a b/RockOS/.git-backup/objects/b7/ee8cfce420857a60d517f49dda810440032c1a deleted file mode 100644 index 7a30348..0000000 --- a/RockOS/.git-backup/objects/b7/ee8cfce420857a60d517f49dda810440032c1a +++ /dev/null @@ -1,2 +0,0 @@ -xJ0SNpݍz fWDEY녨4M@4MU wB7gxle>4<@V>bC`j-5DwydA׶)Wҕ40 -mXWD@ihVh^|p!Bo4 .hK{j 멻d*,,N>$%rQ6٧L%|!4ߵ2itJJUe/I,y_v*6NS{֘xr;U<ȸhv_bMqߪS<S9lGܥɗq^ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/b8/152263db2804a22b0caad4280859114f616afd b/RockOS/.git-backup/objects/b8/152263db2804a22b0caad4280859114f616afd deleted file mode 100644 index f496cf9..0000000 Binary files a/RockOS/.git-backup/objects/b8/152263db2804a22b0caad4280859114f616afd and /dev/null differ diff --git a/RockOS/.git-backup/objects/b8/28141cc86039b99fadfae50881ced320d59026 b/RockOS/.git-backup/objects/b8/28141cc86039b99fadfae50881ced320d59026 deleted file mode 100644 index af9db2d..0000000 Binary files a/RockOS/.git-backup/objects/b8/28141cc86039b99fadfae50881ced320d59026 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b8/d640efcd25dd000a57fdbe6f0803ef6623be0b b/RockOS/.git-backup/objects/b8/d640efcd25dd000a57fdbe6f0803ef6623be0b deleted file mode 100644 index 7bfa415..0000000 Binary files a/RockOS/.git-backup/objects/b8/d640efcd25dd000a57fdbe6f0803ef6623be0b and /dev/null differ diff --git a/RockOS/.git-backup/objects/b8/f67dceffd98238067ad2d0ffb8994bd61c1d45 b/RockOS/.git-backup/objects/b8/f67dceffd98238067ad2d0ffb8994bd61c1d45 deleted file mode 100644 index e871024..0000000 Binary files a/RockOS/.git-backup/objects/b8/f67dceffd98238067ad2d0ffb8994bd61c1d45 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b9/2f2458bc1fa561c80491700e6b174fffebd8dd b/RockOS/.git-backup/objects/b9/2f2458bc1fa561c80491700e6b174fffebd8dd deleted file mode 100644 index a9fbec0..0000000 Binary files a/RockOS/.git-backup/objects/b9/2f2458bc1fa561c80491700e6b174fffebd8dd and /dev/null differ diff --git a/RockOS/.git-backup/objects/b9/416bba78061a1755cc2250da2f548055823394 b/RockOS/.git-backup/objects/b9/416bba78061a1755cc2250da2f548055823394 deleted file mode 100644 index 19da8ad..0000000 Binary files a/RockOS/.git-backup/objects/b9/416bba78061a1755cc2250da2f548055823394 and /dev/null differ diff --git a/RockOS/.git-backup/objects/b9/7582b5e9984d2b7a103cf78bb56420ff1eb48c b/RockOS/.git-backup/objects/b9/7582b5e9984d2b7a103cf78bb56420ff1eb48c deleted file mode 100644 index 1624745..0000000 --- a/RockOS/.git-backup/objects/b9/7582b5e9984d2b7a103cf78bb56420ff1eb48c +++ /dev/null @@ -1 +0,0 @@ -xmAK0=WtvȜ[a֓HIt t$cdCS›RdL+T u` 5"!@HZ|ApZɰ;*XPs@^.=IZVjƷ*'8Fg;e}* \zYuN:eۦd8!d k;.p6mBX+.jl" B>Nac:;ľ c^=Ȱ1q#\gB꓁P'.g yz(.m"Br[%?{}yЊ s\! RQ#drϫ" 㾑 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/b9/ac67cf2a39fb88d1148ae98c53369b02c4b5c1 b/RockOS/.git-backup/objects/b9/ac67cf2a39fb88d1148ae98c53369b02c4b5c1 deleted file mode 100644 index cbc9a11..0000000 Binary files a/RockOS/.git-backup/objects/b9/ac67cf2a39fb88d1148ae98c53369b02c4b5c1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ba/2b3c6db6f14c006433a8de5082046ed13f4fd3 b/RockOS/.git-backup/objects/ba/2b3c6db6f14c006433a8de5082046ed13f4fd3 deleted file mode 100644 index a4852a6..0000000 Binary files a/RockOS/.git-backup/objects/ba/2b3c6db6f14c006433a8de5082046ed13f4fd3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bb/14494afb7c3513970be11f736d97c348e5ae23 b/RockOS/.git-backup/objects/bb/14494afb7c3513970be11f736d97c348e5ae23 deleted file mode 100644 index d447983..0000000 --- a/RockOS/.git-backup/objects/bb/14494afb7c3513970be11f736d97c348e5ae23 +++ /dev/null @@ -1 +0,0 @@ -xOO0=S<H8xA1@ؼHmkRZui)%ϟ7*ht6(L{ҠG%r.컣@0êJOP[%XDS][-vn{%Wҭ?i* ˬ U0,< 5s!|re**52c9m1$TJŁrUJmWڙJK.M,Ҹ2itIcfaSðjVle<<+}Z, LY=L&R;da-rs"Ps" vZwM}5AxC \ No newline at end of file diff --git a/RockOS/.git-backup/objects/bb/37fba0fece564c3d7b97e5fa16aa77aa950a65 b/RockOS/.git-backup/objects/bb/37fba0fece564c3d7b97e5fa16aa77aa950a65 deleted file mode 100644 index c181b86..0000000 Binary files a/RockOS/.git-backup/objects/bb/37fba0fece564c3d7b97e5fa16aa77aa950a65 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bb/a60432cc332ec23e774e6d6667c2aada14b1f2 b/RockOS/.git-backup/objects/bb/a60432cc332ec23e774e6d6667c2aada14b1f2 deleted file mode 100644 index f6375a9..0000000 --- a/RockOS/.git-backup/objects/bb/a60432cc332ec23e774e6d6667c2aada14b1f2 +++ /dev/null @@ -1,2 +0,0 @@ -x1 @ W`+"89(GKm𼖻T)*ju5S) K瓈*nsP[,G-MV5Yk!oqxv]ɠT6/O& TLb i~eKnܗ У0O!cHw --^3񘐥"(_]@Gh5Uk5 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/bb/d9177515b5545f8cfc20f999a40749c0f8225f b/RockOS/.git-backup/objects/bb/d9177515b5545f8cfc20f999a40749c0f8225f deleted file mode 100644 index 97a8ba6..0000000 Binary files a/RockOS/.git-backup/objects/bb/d9177515b5545f8cfc20f999a40749c0f8225f and /dev/null differ diff --git a/RockOS/.git-backup/objects/bb/e69937871b21e523f9b1c14e2e60e323165170 b/RockOS/.git-backup/objects/bb/e69937871b21e523f9b1c14e2e60e323165170 deleted file mode 100644 index 6e47673..0000000 Binary files a/RockOS/.git-backup/objects/bb/e69937871b21e523f9b1c14e2e60e323165170 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bc/05bf3d0fb0cd7dc05b7f25d31ebf81ee300b52 b/RockOS/.git-backup/objects/bc/05bf3d0fb0cd7dc05b7f25d31ebf81ee300b52 deleted file mode 100644 index a463324..0000000 --- a/RockOS/.git-backup/objects/bc/05bf3d0fb0cd7dc05b7f25d31ebf81ee300b52 +++ /dev/null @@ -1,3 +0,0 @@ -x}OK@=S<%'JmC)Zlo%i6ͮn"~ww -KLqw{so$>;0<@'8}?e s=êL9m1EBSDDfS[=^1U$T" `$J:(dFDdC*(60$_yk=ĖÃ6f.25:9yw};4kfJ%x=c3a*Q4;s1L޾uNȩ +Bǧv˦uhӮCpnGư3E/y^},u-8nPOa8k~y -zP< \ No newline at end of file diff --git a/RockOS/.git-backup/objects/bc/1dce3576d9cd23109d9c624679d5aa516b9012 b/RockOS/.git-backup/objects/bc/1dce3576d9cd23109d9c624679d5aa516b9012 deleted file mode 100644 index e12214b..0000000 Binary files a/RockOS/.git-backup/objects/bc/1dce3576d9cd23109d9c624679d5aa516b9012 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bc/1e62ac12c77dff409577eeba2bf3cf0e75e459 b/RockOS/.git-backup/objects/bc/1e62ac12c77dff409577eeba2bf3cf0e75e459 deleted file mode 100644 index 44988f3..0000000 Binary files a/RockOS/.git-backup/objects/bc/1e62ac12c77dff409577eeba2bf3cf0e75e459 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bc/8815048768558adaf4140094806cd43d25697f b/RockOS/.git-backup/objects/bc/8815048768558adaf4140094806cd43d25697f deleted file mode 100644 index 4230b4e..0000000 --- a/RockOS/.git-backup/objects/bc/8815048768558adaf4140094806cd43d25697f +++ /dev/null @@ -1,4 +0,0 @@ -xn@{H j mJԠ -ɂ(vY^ª>Du#ݻ!$Wsffg+X]8 Xy aDD.E*Cچk3߇@Hdk uyi< D h]Om5 s~/T2C3IDF!,*$C ktzq5O|c|g͟,߇e4K.#-CuM%[*e۞ၝIgSa|_ͮ¹L4Q&V[Sd4}&-iAF-IlYS5HL o+`xN _ }qIA#x$bx0>.7Maꓣm6Ϳ<=ˁ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/bc/a0ce427301cb23ff33fd16177087156952d50b b/RockOS/.git-backup/objects/bc/a0ce427301cb23ff33fd16177087156952d50b deleted file mode 100644 index 1adad14..0000000 Binary files a/RockOS/.git-backup/objects/bc/a0ce427301cb23ff33fd16177087156952d50b and /dev/null differ diff --git a/RockOS/.git-backup/objects/bc/f1e6197c5bb3303e39be3f8511889c3051c257 b/RockOS/.git-backup/objects/bc/f1e6197c5bb3303e39be3f8511889c3051c257 deleted file mode 100644 index 3e697de..0000000 Binary files a/RockOS/.git-backup/objects/bc/f1e6197c5bb3303e39be3f8511889c3051c257 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bd/2cc91f7685ed462355af824060a1b86ba89a39 b/RockOS/.git-backup/objects/bd/2cc91f7685ed462355af824060a1b86ba89a39 deleted file mode 100644 index d94dddd..0000000 Binary files a/RockOS/.git-backup/objects/bd/2cc91f7685ed462355af824060a1b86ba89a39 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bd/58702180747368bc2f88957a76d04d0a86a5e8 b/RockOS/.git-backup/objects/bd/58702180747368bc2f88957a76d04d0a86a5e8 deleted file mode 100644 index 98ba580..0000000 Binary files a/RockOS/.git-backup/objects/bd/58702180747368bc2f88957a76d04d0a86a5e8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/bd/7e5394196f7be5f4d495a1cec63316bc4e633a b/RockOS/.git-backup/objects/bd/7e5394196f7be5f4d495a1cec63316bc4e633a deleted file mode 100644 index 72c20ce..0000000 --- a/RockOS/.git-backup/objects/bd/7e5394196f7be5f4d495a1cec63316bc4e633a +++ /dev/null @@ -1,5 +0,0 @@ -xuQJ0_1P -K&"(Kdձ tK3̜Th*;)Q -rÐ@_qUVRNwgG{Ȁ& SFŵ -Icg&{Bae0Hw9qY;xHh sx5[,ࣃ7T>I.Ю?r?;+OH6 -žÃ9!PĢy8}l(5N+itpӬ!Ʋo(^mcD YϐMjrM7vmn \ No newline at end of file diff --git a/RockOS/.git-backup/objects/bd/b01b1c08ed6727452df8ac68870038bd8338fe b/RockOS/.git-backup/objects/bd/b01b1c08ed6727452df8ac68870038bd8338fe deleted file mode 100644 index f1ab920..0000000 Binary files a/RockOS/.git-backup/objects/bd/b01b1c08ed6727452df8ac68870038bd8338fe and /dev/null differ diff --git a/RockOS/.git-backup/objects/be/32cabb61e39cfc1010558c2449c18507d32379 b/RockOS/.git-backup/objects/be/32cabb61e39cfc1010558c2449c18507d32379 deleted file mode 100644 index b6f9b74..0000000 Binary files a/RockOS/.git-backup/objects/be/32cabb61e39cfc1010558c2449c18507d32379 and /dev/null differ diff --git a/RockOS/.git-backup/objects/be/c688d230b90ed9cb70464e2742295e49d345be b/RockOS/.git-backup/objects/be/c688d230b90ed9cb70464e2742295e49d345be deleted file mode 100644 index 034f5f0..0000000 Binary files a/RockOS/.git-backup/objects/be/c688d230b90ed9cb70464e2742295e49d345be and /dev/null differ diff --git a/RockOS/.git-backup/objects/bf/0d1caa8902bf2f812b33a5f20b2b89c26eaab5 b/RockOS/.git-backup/objects/bf/0d1caa8902bf2f812b33a5f20b2b89c26eaab5 deleted file mode 100644 index 11fb12b..0000000 --- a/RockOS/.git-backup/objects/bf/0d1caa8902bf2f812b33a5f20b2b89c26eaab5 +++ /dev/null @@ -1 +0,0 @@ -x[j0/ m7k5n%Bv.6Z \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c1/6c64ddb9a364b5b587c15282f51be8880cb010 b/RockOS/.git-backup/objects/c1/6c64ddb9a364b5b587c15282f51be8880cb010 deleted file mode 100644 index a580b29..0000000 Binary files a/RockOS/.git-backup/objects/c1/6c64ddb9a364b5b587c15282f51be8880cb010 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c1/77bf4f03c0bea1d1f73afa8bc5436c8c7a9446 b/RockOS/.git-backup/objects/c1/77bf4f03c0bea1d1f73afa8bc5436c8c7a9446 deleted file mode 100644 index ed4628f..0000000 Binary files a/RockOS/.git-backup/objects/c1/77bf4f03c0bea1d1f73afa8bc5436c8c7a9446 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c1/bca7e5811c2dd1b5e5afc39d3bcaf6c2ecc1f6 b/RockOS/.git-backup/objects/c1/bca7e5811c2dd1b5e5afc39d3bcaf6c2ecc1f6 deleted file mode 100644 index 3c24ab8..0000000 Binary files a/RockOS/.git-backup/objects/c1/bca7e5811c2dd1b5e5afc39d3bcaf6c2ecc1f6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c1/d5345e38155111bd215476bb031acfad472bfa b/RockOS/.git-backup/objects/c1/d5345e38155111bd215476bb031acfad472bfa deleted file mode 100644 index 164dc59..0000000 --- a/RockOS/.git-backup/objects/c1/d5345e38155111bd215476bb031acfad472bfa +++ /dev/null @@ -1,2 +0,0 @@ -xݓN0E]Mb?p5.\YG7iK"1eZ 2,I)%!?PnʦYzO:|kjֲLj&wT"-8:sˈ6+ś3<Rjr853>g -ھߐphZߒ~kg1 #B{bƿTZH%~9¢<6и_nnT{>ZƓOݩ.)ZSk_/e*WǕ3.ejL/jl"Oĩ.fR('ev \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c1/eb2b06cf48eecbd0429a12629102aa2de483da b/RockOS/.git-backup/objects/c1/eb2b06cf48eecbd0429a12629102aa2de483da deleted file mode 100644 index fe7a9e3..0000000 Binary files a/RockOS/.git-backup/objects/c1/eb2b06cf48eecbd0429a12629102aa2de483da and /dev/null differ diff --git a/RockOS/.git-backup/objects/c2/308ae4c683969ea39c7ada1d366df34fb81de4 b/RockOS/.git-backup/objects/c2/308ae4c683969ea39c7ada1d366df34fb81de4 deleted file mode 100644 index d69e3ac..0000000 Binary files a/RockOS/.git-backup/objects/c2/308ae4c683969ea39c7ada1d366df34fb81de4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c2/c83139d9b369213b7f951481b5d2d6dcd8522e b/RockOS/.git-backup/objects/c2/c83139d9b369213b7f951481b5d2d6dcd8522e deleted file mode 100644 index a59226a..0000000 Binary files a/RockOS/.git-backup/objects/c2/c83139d9b369213b7f951481b5d2d6dcd8522e and /dev/null differ diff --git a/RockOS/.git-backup/objects/c2/c90a6189464c70d93d915d1cbb61d5b850b65d b/RockOS/.git-backup/objects/c2/c90a6189464c70d93d915d1cbb61d5b850b65d deleted file mode 100644 index 48d231a..0000000 Binary files a/RockOS/.git-backup/objects/c2/c90a6189464c70d93d915d1cbb61d5b850b65d and /dev/null differ diff --git a/RockOS/.git-backup/objects/c3/3920acc5e76c97c5f309cdab4c09ae12116d42 b/RockOS/.git-backup/objects/c3/3920acc5e76c97c5f309cdab4c09ae12116d42 deleted file mode 100644 index bf9fce7..0000000 Binary files a/RockOS/.git-backup/objects/c3/3920acc5e76c97c5f309cdab4c09ae12116d42 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c3/4da1d3faf6e23a3f281cccdea8a26df8d2d5e4 b/RockOS/.git-backup/objects/c3/4da1d3faf6e23a3f281cccdea8a26df8d2d5e4 deleted file mode 100644 index f597804..0000000 Binary files a/RockOS/.git-backup/objects/c3/4da1d3faf6e23a3f281cccdea8a26df8d2d5e4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c3/5702a43dab57e3ee9d26e30b876a52c65d6332 b/RockOS/.git-backup/objects/c3/5702a43dab57e3ee9d26e30b876a52c65d6332 deleted file mode 100644 index 5989f39..0000000 --- a/RockOS/.git-backup/objects/c3/5702a43dab57e3ee9d26e30b876a52c65d6332 +++ /dev/null @@ -1,2 +0,0 @@ -x]1ί8toڥԯեVmge[A)Lj&Q&uh*xs2G9|z[Ўc "DxzX\9i̱$nsa5x&x7h6.XXYx%r=)3*u!KelZ4Pcv -V* r{0<~//s.TM:t_SHLU7(WkdR!dOݯ&:Iƺ]%tPëM5c!*C*0b9ϯVX0l F8?dD)+}kAq{.7)@ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c3/cb02d93e3bb23b82d3d5117b6b427496d49777 b/RockOS/.git-backup/objects/c3/cb02d93e3bb23b82d3d5117b6b427496d49777 deleted file mode 100644 index e451124..0000000 --- a/RockOS/.git-backup/objects/c3/cb02d93e3bb23b82d3d5117b6b427496d49777 +++ /dev/null @@ -1,2 +0,0 @@ -xuU]o0+WI)0 hP$VUAH%0Ut}vplDp9>NfX%jZF(nSβd"4n8Y< Gymp2=޾<\}?e%zŻ.VOYwaB}Ѧl+tüfG@ǜi#0tkceDdQo,r&tte]7Y˘$e"۔|Sh.$F1قr'$Dw^ OR.a-Vo"vY5_idkEΐ~"tÍyP{@˵.KXQHkh*ym_FXV 5MV?/2(ZF4+2& ?m;C%vЅGa@gPSjRIp+7.Z ?-rb?#w/sexh?R^pKWU'~_:-F;}|)?&[U,&)1t:PI뒈F -1.M 85be#W%q'$5KY gRKM4Z֯犰yw:{A=uTtT? 2Z )`$p0x,g(]RJ-p\Wı`7`EH3^Y㔣A\W8 }oWX!&"v#SI5@dut}L+C$odFL <7[R=!uN)疳{^otE]8E z9l6{0&> ˨±IJ7a sy29K<-kvǃӤ?4 4y4] 5,*d. -7!lTH++?/w*W@SN ƕ`ێafۺv?g|'gK{_dNe ''7?LH<2O0e"^$Be1.̎SHՊWQވ׵Tb8bJ8TnPS+e"WıʳP UO.U 4%rw$&DՆ0eK%cF˚WS]9\EY۪l<)GVVSmbc}>Ѳ'ID}(XV(Ar<t$'2wґ )7I/{?i)x-[ޛ=G}fh_9KG㯙䤠t2A1ƀDylQV gg`2u9oL|Γxk+$7.=5EE9*E~B\f뭧4́dhB^*m5 Rz!:sRlcӀr@neO [9 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c5/4c6712f7a840ad563ab029f997c2794b362fa9 b/RockOS/.git-backup/objects/c5/4c6712f7a840ad563ab029f997c2794b362fa9 deleted file mode 100644 index 9629f5f..0000000 Binary files a/RockOS/.git-backup/objects/c5/4c6712f7a840ad563ab029f997c2794b362fa9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c5/aa96b53ea2183d63e61699fb23046c37bba69b b/RockOS/.git-backup/objects/c5/aa96b53ea2183d63e61699fb23046c37bba69b deleted file mode 100644 index 136d3e8..0000000 Binary files a/RockOS/.git-backup/objects/c5/aa96b53ea2183d63e61699fb23046c37bba69b and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/14347b4931b23a68f574b8381039ee1ebb1a0b b/RockOS/.git-backup/objects/c6/14347b4931b23a68f574b8381039ee1ebb1a0b deleted file mode 100644 index b292f56..0000000 Binary files a/RockOS/.git-backup/objects/c6/14347b4931b23a68f574b8381039ee1ebb1a0b and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/279201ae68f500b7832fd7286270a5ff6cef1a b/RockOS/.git-backup/objects/c6/279201ae68f500b7832fd7286270a5ff6cef1a deleted file mode 100644 index a741514..0000000 Binary files a/RockOS/.git-backup/objects/c6/279201ae68f500b7832fd7286270a5ff6cef1a and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/41346ad9ca5a5df39b58a544784fae1ae8fb88 b/RockOS/.git-backup/objects/c6/41346ad9ca5a5df39b58a544784fae1ae8fb88 deleted file mode 100644 index 2315928..0000000 Binary files a/RockOS/.git-backup/objects/c6/41346ad9ca5a5df39b58a544784fae1ae8fb88 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/9703c71fd053e9333ed0de28c83d41382a8305 b/RockOS/.git-backup/objects/c6/9703c71fd053e9333ed0de28c83d41382a8305 deleted file mode 100644 index 1fd1abc..0000000 Binary files a/RockOS/.git-backup/objects/c6/9703c71fd053e9333ed0de28c83d41382a8305 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/b5f3957f34cea7dc50b50ff0895287d5926e9f b/RockOS/.git-backup/objects/c6/b5f3957f34cea7dc50b50ff0895287d5926e9f deleted file mode 100644 index 98be7bc..0000000 Binary files a/RockOS/.git-backup/objects/c6/b5f3957f34cea7dc50b50ff0895287d5926e9f and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/bff541189a440bb3c5e6dae836a8487678508f b/RockOS/.git-backup/objects/c6/bff541189a440bb3c5e6dae836a8487678508f deleted file mode 100644 index 15f0156..0000000 Binary files a/RockOS/.git-backup/objects/c6/bff541189a440bb3c5e6dae836a8487678508f and /dev/null differ diff --git a/RockOS/.git-backup/objects/c6/ea8fc4f85112e54320a025c7684e7412721892 b/RockOS/.git-backup/objects/c6/ea8fc4f85112e54320a025c7684e7412721892 deleted file mode 100644 index dc80b54..0000000 Binary files a/RockOS/.git-backup/objects/c6/ea8fc4f85112e54320a025c7684e7412721892 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/15b0976aa08df4a9333c56d167c5a33c4b8c99 b/RockOS/.git-backup/objects/c7/15b0976aa08df4a9333c56d167c5a33c4b8c99 deleted file mode 100644 index d799536..0000000 Binary files a/RockOS/.git-backup/objects/c7/15b0976aa08df4a9333c56d167c5a33c4b8c99 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/201d0957ec2f78253808341d94f931786e28f7 b/RockOS/.git-backup/objects/c7/201d0957ec2f78253808341d94f931786e28f7 deleted file mode 100644 index b8686ce..0000000 Binary files a/RockOS/.git-backup/objects/c7/201d0957ec2f78253808341d94f931786e28f7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/2f802d06da21e1447535d2842a054834d45b0a b/RockOS/.git-backup/objects/c7/2f802d06da21e1447535d2842a054834d45b0a deleted file mode 100644 index 8b949d2..0000000 Binary files a/RockOS/.git-backup/objects/c7/2f802d06da21e1447535d2842a054834d45b0a and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/86f2b9960c0fac93524b19a6f9d1da62c6b9c9 b/RockOS/.git-backup/objects/c7/86f2b9960c0fac93524b19a6f9d1da62c6b9c9 deleted file mode 100644 index db6b58b..0000000 Binary files a/RockOS/.git-backup/objects/c7/86f2b9960c0fac93524b19a6f9d1da62c6b9c9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/f8a867207a0d9be326ccb43cba304f4204c005 b/RockOS/.git-backup/objects/c7/f8a867207a0d9be326ccb43cba304f4204c005 deleted file mode 100644 index f7596dd..0000000 Binary files a/RockOS/.git-backup/objects/c7/f8a867207a0d9be326ccb43cba304f4204c005 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/fe58f7f03f539b682a077a768f4b43dff3c829 b/RockOS/.git-backup/objects/c7/fe58f7f03f539b682a077a768f4b43dff3c829 deleted file mode 100644 index 24c43f1..0000000 Binary files a/RockOS/.git-backup/objects/c7/fe58f7f03f539b682a077a768f4b43dff3c829 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c7/ff36c5b38bdbce22fa81b30b0b0e2a62a4d8b8 b/RockOS/.git-backup/objects/c7/ff36c5b38bdbce22fa81b30b0b0e2a62a4d8b8 deleted file mode 100644 index cb713d4..0000000 Binary files a/RockOS/.git-backup/objects/c7/ff36c5b38bdbce22fa81b30b0b0e2a62a4d8b8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c8/4961a1b369ff2fa8e02fcae65b93b35b70b94a b/RockOS/.git-backup/objects/c8/4961a1b369ff2fa8e02fcae65b93b35b70b94a deleted file mode 100644 index e733dac..0000000 Binary files a/RockOS/.git-backup/objects/c8/4961a1b369ff2fa8e02fcae65b93b35b70b94a and /dev/null differ diff --git a/RockOS/.git-backup/objects/c8/538da4841ea09383b9eeffc41e58e7c47641c7 b/RockOS/.git-backup/objects/c8/538da4841ea09383b9eeffc41e58e7c47641c7 deleted file mode 100644 index e26e5e9..0000000 Binary files a/RockOS/.git-backup/objects/c8/538da4841ea09383b9eeffc41e58e7c47641c7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c8/60e2036fa51e57e5e0a963c21d3d274d8ca879 b/RockOS/.git-backup/objects/c8/60e2036fa51e57e5e0a963c21d3d274d8ca879 deleted file mode 100644 index 233b0d9..0000000 --- a/RockOS/.git-backup/objects/c8/60e2036fa51e57e5e0a963c21d3d274d8ca879 +++ /dev/null @@ -1,2 +0,0 @@ -xݔN0E]Mb?p5.\Y`C雴%v -Xe,,InN!KBȻ{چ+k=+6)T1Ev \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c8/663313f80b811989b4b96c6bc760ad945dd642 b/RockOS/.git-backup/objects/c8/663313f80b811989b4b96c6bc760ad945dd642 deleted file mode 100644 index faaaebd..0000000 --- a/RockOS/.git-backup/objects/c8/663313f80b811989b4b96c6bc760ad945dd642 +++ /dev/null @@ -1,3 +0,0 @@ -xE1 E{gdf"E ^ѹe[-KL##n= -}o߽NeLA#Un^Jx -E!^ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c8/89e2ba2477bccd79729c9ca029ccdc85d4cb97 b/RockOS/.git-backup/objects/c8/89e2ba2477bccd79729c9ca029ccdc85d4cb97 deleted file mode 100644 index 77a6f74..0000000 Binary files a/RockOS/.git-backup/objects/c8/89e2ba2477bccd79729c9ca029ccdc85d4cb97 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c8/8a74f7a898c4cff1f883886959d8ed1456cd0b b/RockOS/.git-backup/objects/c8/8a74f7a898c4cff1f883886959d8ed1456cd0b deleted file mode 100644 index b94d0c3..0000000 Binary files a/RockOS/.git-backup/objects/c8/8a74f7a898c4cff1f883886959d8ed1456cd0b and /dev/null differ diff --git a/RockOS/.git-backup/objects/c8/fe6656ee4b830ac7ea8c4c4a7ff613506704af b/RockOS/.git-backup/objects/c8/fe6656ee4b830ac7ea8c4c4a7ff613506704af deleted file mode 100644 index 4125659..0000000 Binary files a/RockOS/.git-backup/objects/c8/fe6656ee4b830ac7ea8c4c4a7ff613506704af and /dev/null differ diff --git a/RockOS/.git-backup/objects/c9/490056c232e450e4f5a646947060dfde41a365 b/RockOS/.git-backup/objects/c9/490056c232e450e4f5a646947060dfde41a365 deleted file mode 100644 index c6ee7e0..0000000 Binary files a/RockOS/.git-backup/objects/c9/490056c232e450e4f5a646947060dfde41a365 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c9/797a00746dc1734213473355f5af509854a48b b/RockOS/.git-backup/objects/c9/797a00746dc1734213473355f5af509854a48b deleted file mode 100644 index a6eb4fb..0000000 --- a/RockOS/.git-backup/objects/c9/797a00746dc1734213473355f5af509854a48b +++ /dev/null @@ -1,3 +0,0 @@ -xuQ]K19b遴>XEEX|,%ɦIݤxV$3;r38B |4~H?p᰼f,՘E!FF`,ɍM~:Gw{i Ⱥt؆SE -!w} - mMCjfvdV~: !#@J|xܖ(\ӔpK"SXa~z@;%8 9ow%Ӭy[ @끬B㐱pn2xq\nC6 xJ^-*_T \ No newline at end of file diff --git a/RockOS/.git-backup/objects/c9/d12f628ae1ec824c9e59379379c1d4d32bc815 b/RockOS/.git-backup/objects/c9/d12f628ae1ec824c9e59379379c1d4d32bc815 deleted file mode 100644 index 23a45d9..0000000 Binary files a/RockOS/.git-backup/objects/c9/d12f628ae1ec824c9e59379379c1d4d32bc815 and /dev/null differ diff --git a/RockOS/.git-backup/objects/c9/d46f5e35150860152ff21e93032d199cd86b19 b/RockOS/.git-backup/objects/c9/d46f5e35150860152ff21e93032d199cd86b19 deleted file mode 100644 index 15d81d8..0000000 Binary files a/RockOS/.git-backup/objects/c9/d46f5e35150860152ff21e93032d199cd86b19 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ca/571853b0d1844969444aeeaa468fdac3d32d0a b/RockOS/.git-backup/objects/ca/571853b0d1844969444aeeaa468fdac3d32d0a deleted file mode 100644 index 3facce4..0000000 Binary files a/RockOS/.git-backup/objects/ca/571853b0d1844969444aeeaa468fdac3d32d0a and /dev/null differ diff --git a/RockOS/.git-backup/objects/ca/c7fbee3f688ad3a0502b1fe829fbe4ae5c9b89 b/RockOS/.git-backup/objects/ca/c7fbee3f688ad3a0502b1fe829fbe4ae5c9b89 deleted file mode 100644 index 25e9e48..0000000 Binary files a/RockOS/.git-backup/objects/ca/c7fbee3f688ad3a0502b1fe829fbe4ae5c9b89 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ca/d29bb9898e3338a8165a4c70df2ec7bfec0062 b/RockOS/.git-backup/objects/ca/d29bb9898e3338a8165a4c70df2ec7bfec0062 deleted file mode 100644 index bb07c19..0000000 Binary files a/RockOS/.git-backup/objects/ca/d29bb9898e3338a8165a4c70df2ec7bfec0062 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ca/dab17f594eca253a6fba5c82e712306c8c293e b/RockOS/.git-backup/objects/ca/dab17f594eca253a6fba5c82e712306c8c293e deleted file mode 100644 index 4a54972..0000000 Binary files a/RockOS/.git-backup/objects/ca/dab17f594eca253a6fba5c82e712306c8c293e and /dev/null differ diff --git a/RockOS/.git-backup/objects/ca/dd0ee868d9d8573e28f08a4c2a91d493e78599 b/RockOS/.git-backup/objects/ca/dd0ee868d9d8573e28f08a4c2a91d493e78599 deleted file mode 100644 index 8118337..0000000 --- a/RockOS/.git-backup/objects/ca/dd0ee868d9d8573e28f08a4c2a91d493e78599 +++ /dev/null @@ -1 +0,0 @@ -xU y1ơ1i݅w:|zϧ͖p^AƎ1OI!CF:o|<9ҢZen&\p ͏V~ۼbn,`2L \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ca/e5f952cd5fb10bbfd40dc630ec492ca431c39b b/RockOS/.git-backup/objects/ca/e5f952cd5fb10bbfd40dc630ec492ca431c39b deleted file mode 100644 index 39bb2d7..0000000 Binary files a/RockOS/.git-backup/objects/ca/e5f952cd5fb10bbfd40dc630ec492ca431c39b and /dev/null differ diff --git a/RockOS/.git-backup/objects/ca/f029e5e204578076776c40bbfe58820d3c0973 b/RockOS/.git-backup/objects/ca/f029e5e204578076776c40bbfe58820d3c0973 deleted file mode 100644 index b01c378..0000000 Binary files a/RockOS/.git-backup/objects/ca/f029e5e204578076776c40bbfe58820d3c0973 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cb/34185b735b4e79b31e1d66af18c91a6a0e2f78 b/RockOS/.git-backup/objects/cb/34185b735b4e79b31e1d66af18c91a6a0e2f78 deleted file mode 100644 index 49f7c12..0000000 Binary files a/RockOS/.git-backup/objects/cb/34185b735b4e79b31e1d66af18c91a6a0e2f78 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cb/6f1bdfc8ddc0a9c59051b6d29a91b9a5245082 b/RockOS/.git-backup/objects/cb/6f1bdfc8ddc0a9c59051b6d29a91b9a5245082 deleted file mode 100644 index 693f3a3..0000000 Binary files a/RockOS/.git-backup/objects/cb/6f1bdfc8ddc0a9c59051b6d29a91b9a5245082 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cc/01f7961fac7b12f99966b3847d9c5f20c1cf82 b/RockOS/.git-backup/objects/cc/01f7961fac7b12f99966b3847d9c5f20c1cf82 deleted file mode 100644 index d8dc893..0000000 Binary files a/RockOS/.git-backup/objects/cc/01f7961fac7b12f99966b3847d9c5f20c1cf82 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cc/482a835076281f97f4064e9216d0c3957d7a6e b/RockOS/.git-backup/objects/cc/482a835076281f97f4064e9216d0c3957d7a6e deleted file mode 100644 index d2339c4..0000000 --- a/RockOS/.git-backup/objects/cc/482a835076281f97f4064e9216d0c3957d7a6e +++ /dev/null @@ -1,2 +0,0 @@ -xQK0}ί8Np݋2Ю0ATJڦk KF*C&Ӎ*Br=9)*qq~y4JZ-pi oAsXSmؖ!J+Ԋrs^j7YaSW_j*-a:X711Ьj^vZs!"2re%Ẳ5کkd,[UI6ߒa[| -!4iw<|={v*,zOKt겄6%VJqxMU̸2rgf?zLfΆ>(}4LQΡSv͔"aLqSP|Ʀhps+)ݪis$v}5x!7( ܑ?Syl//&m'rTN!]üsdjE9;ԑ ::XA+ >R"]$nJWj#[0FOⴷm?DE,xݭD4~\;:95z.ks"'c%mxaots޷)L6f$ۧM㟣z/?*Vx\X" \ No newline at end of file diff --git a/RockOS/.git-backup/objects/cd/92242c5febb7514ff28ef17e05724130544450 b/RockOS/.git-backup/objects/cd/92242c5febb7514ff28ef17e05724130544450 deleted file mode 100644 index c515cf8..0000000 Binary files a/RockOS/.git-backup/objects/cd/92242c5febb7514ff28ef17e05724130544450 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cd/b4cf186e71172616957828c78e266a3a973a59 b/RockOS/.git-backup/objects/cd/b4cf186e71172616957828c78e266a3a973a59 deleted file mode 100644 index 7502827..0000000 Binary files a/RockOS/.git-backup/objects/cd/b4cf186e71172616957828c78e266a3a973a59 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cd/e763ecc7df5ca224acdef46deb1a97e4dc0efe b/RockOS/.git-backup/objects/cd/e763ecc7df5ca224acdef46deb1a97e4dc0efe deleted file mode 100644 index 3fe6840..0000000 Binary files a/RockOS/.git-backup/objects/cd/e763ecc7df5ca224acdef46deb1a97e4dc0efe and /dev/null differ diff --git a/RockOS/.git-backup/objects/ce/03ec792a1fe39ed219dbad681422d3feefc2a4 b/RockOS/.git-backup/objects/ce/03ec792a1fe39ed219dbad681422d3feefc2a4 deleted file mode 100644 index 5c497b9..0000000 Binary files a/RockOS/.git-backup/objects/ce/03ec792a1fe39ed219dbad681422d3feefc2a4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ce/47b08a6d5b71018458f37f0a2f00a3e58c1ef0 b/RockOS/.git-backup/objects/ce/47b08a6d5b71018458f37f0a2f00a3e58c1ef0 deleted file mode 100644 index 9a21d0e..0000000 Binary files a/RockOS/.git-backup/objects/ce/47b08a6d5b71018458f37f0a2f00a3e58c1ef0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ce/7c31c539b6fd03d09f20cc1fdb2b2ad13bbd03 b/RockOS/.git-backup/objects/ce/7c31c539b6fd03d09f20cc1fdb2b2ad13bbd03 deleted file mode 100644 index 5649703..0000000 Binary files a/RockOS/.git-backup/objects/ce/7c31c539b6fd03d09f20cc1fdb2b2ad13bbd03 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ce/81d4eb31577446527811678dfc3fd042fb787f b/RockOS/.git-backup/objects/ce/81d4eb31577446527811678dfc3fd042fb787f deleted file mode 100644 index 806f64b..0000000 --- a/RockOS/.git-backup/objects/ce/81d4eb31577446527811678dfc3fd042fb787f +++ /dev/null @@ -1,2 +0,0 @@ -x[ -0@Qـe2"neLR 6q/Zrg,)H \!$O$d)[n8xCe8"lls %qki3k7˭JY{pDFT.VƖ4M xFe \ No newline at end of file diff --git a/RockOS/.git-backup/objects/cf/048316ca0aacb4a8c69b3fe10f95be7ef28354 b/RockOS/.git-backup/objects/cf/048316ca0aacb4a8c69b3fe10f95be7ef28354 deleted file mode 100644 index 1d40825..0000000 Binary files a/RockOS/.git-backup/objects/cf/048316ca0aacb4a8c69b3fe10f95be7ef28354 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cf/4c43c21154d76440d8a7cb81dca3baa6980624 b/RockOS/.git-backup/objects/cf/4c43c21154d76440d8a7cb81dca3baa6980624 deleted file mode 100644 index fa8a88b..0000000 Binary files a/RockOS/.git-backup/objects/cf/4c43c21154d76440d8a7cb81dca3baa6980624 and /dev/null differ diff --git a/RockOS/.git-backup/objects/cf/50e23584139467ac7e39f8c0c24bdc2f138aea b/RockOS/.git-backup/objects/cf/50e23584139467ac7e39f8c0c24bdc2f138aea deleted file mode 100644 index dce65eb..0000000 Binary files a/RockOS/.git-backup/objects/cf/50e23584139467ac7e39f8c0c24bdc2f138aea and /dev/null differ diff --git a/RockOS/.git-backup/objects/cf/84c6b1a008d0b5f90088c9c07047c4ab757d9b b/RockOS/.git-backup/objects/cf/84c6b1a008d0b5f90088c9c07047c4ab757d9b deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/cf/f81b1a6ac57db0d9c738d83b0b6683f87690b0 b/RockOS/.git-backup/objects/cf/f81b1a6ac57db0d9c738d83b0b6683f87690b0 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/d0/3b89c99ffc0f15a5e10ebe9ea318e11007ad76 b/RockOS/.git-backup/objects/d0/3b89c99ffc0f15a5e10ebe9ea318e11007ad76 deleted file mode 100644 index 3d2b7c1..0000000 Binary files a/RockOS/.git-backup/objects/d0/3b89c99ffc0f15a5e10ebe9ea318e11007ad76 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d0/6f04bf0536bfb5b560bc32c05430647502390e b/RockOS/.git-backup/objects/d0/6f04bf0536bfb5b560bc32c05430647502390e deleted file mode 100644 index 84813fa..0000000 Binary files a/RockOS/.git-backup/objects/d0/6f04bf0536bfb5b560bc32c05430647502390e and /dev/null differ diff --git a/RockOS/.git-backup/objects/d0/6f6acb6c8aea0e50e5afe7a2705b65af64c27b b/RockOS/.git-backup/objects/d0/6f6acb6c8aea0e50e5afe7a2705b65af64c27b deleted file mode 100644 index 7135d0e..0000000 --- a/RockOS/.git-backup/objects/d0/6f6acb6c8aea0e50e5afe7a2705b65af64c27b +++ /dev/null @@ -1 +0,0 @@ -xRo@+& hr\Wb\.Dٙ ys|u~,bdUT@\}GmiKKcTMGiY!sYOsqAϨPoG6s˭j9 ETL:w)z,eM;ә ه>`@yiUo~|۠AQɬrCþ"SCo \}Q>B1z3#t9X(EU[6Y䶟d?T/Y}4ҊNG$p+ p魆(Sh)p?: 0Х d1hzy&z"?7$*ŽƓC]y3T g9')*v3nvf \ No newline at end of file diff --git a/RockOS/.git-backup/objects/d1/0acfeeb2b1ab46931380841bdeff17fe2a13f4 b/RockOS/.git-backup/objects/d1/0acfeeb2b1ab46931380841bdeff17fe2a13f4 deleted file mode 100644 index 8841d73..0000000 Binary files a/RockOS/.git-backup/objects/d1/0acfeeb2b1ab46931380841bdeff17fe2a13f4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d1/2c4a7faa12e68479b8d60f810ba378c79eed32 b/RockOS/.git-backup/objects/d1/2c4a7faa12e68479b8d60f810ba378c79eed32 deleted file mode 100644 index 6eb6201..0000000 Binary files a/RockOS/.git-backup/objects/d1/2c4a7faa12e68479b8d60f810ba378c79eed32 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d1/3448e32878447496cd80e36cc7ffcd5ba5f44c b/RockOS/.git-backup/objects/d1/3448e32878447496cd80e36cc7ffcd5ba5f44c deleted file mode 100644 index 795c221..0000000 Binary files a/RockOS/.git-backup/objects/d1/3448e32878447496cd80e36cc7ffcd5ba5f44c and /dev/null differ diff --git a/RockOS/.git-backup/objects/d1/39bf5bf92ae2d0bb20d63235e0b7ace3ce1362 b/RockOS/.git-backup/objects/d1/39bf5bf92ae2d0bb20d63235e0b7ace3ce1362 deleted file mode 100644 index dc48d4f..0000000 Binary files a/RockOS/.git-backup/objects/d1/39bf5bf92ae2d0bb20d63235e0b7ace3ce1362 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d1/565a2d9413593c4095fd1e3f22cdab11d9e5b7 b/RockOS/.git-backup/objects/d1/565a2d9413593c4095fd1e3f22cdab11d9e5b7 deleted file mode 100644 index 5c3c5b9..0000000 --- a/RockOS/.git-backup/objects/d1/565a2d9413593c4095fd1e3f22cdab11d9e5b7 +++ /dev/null @@ -1,3 +0,0 @@ -xQK @=H% !*AECd -f_xٴRz]b Oj.ruBq3ja#z $r -qpd3˼ U tDX2m;Tt?a!1H׻`sTXD:u%Rc5١>Y#GrW;H߾ }!:&gc/6} lhI zi+j#$o6W]N;65D@ B=F]_n,&Z|Ԑ!mRs0VeJ4o - 'LEd-̧V㠛6ʴT1C:;)J`,%)o:AWm qc2~yzf"8}Vݔ,sA_PJvrO__.3U?g%uaFb4d JD`Ӵ9ޠ&b9*b{xl@Yx(}˯UX#t+ l+Pf/c6ev9imU{.ѵLL0άԦVphŜk M^Q 7+Od8;WN.ݩ$M&$Frn;[!$#po;q4l{:*qKNGoa Sa8;5G2R/tLɧxV0|C'>\ 9ȍ`U"+a[ _Otw\FȞ?wTh;Z?xsڽr \ No newline at end of file diff --git a/RockOS/.git-backup/objects/d1/b5136f0dc0811357b9398b06ff5821f7b7da02 b/RockOS/.git-backup/objects/d1/b5136f0dc0811357b9398b06ff5821f7b7da02 deleted file mode 100644 index 48f1d98..0000000 Binary files a/RockOS/.git-backup/objects/d1/b5136f0dc0811357b9398b06ff5821f7b7da02 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/127252746b6fdd155172846c7652167bab8bb0 b/RockOS/.git-backup/objects/d2/127252746b6fdd155172846c7652167bab8bb0 deleted file mode 100644 index ff97b6c..0000000 Binary files a/RockOS/.git-backup/objects/d2/127252746b6fdd155172846c7652167bab8bb0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/4bca8736aeb024b484eb6ebfc021aa95d9b769 b/RockOS/.git-backup/objects/d2/4bca8736aeb024b484eb6ebfc021aa95d9b769 deleted file mode 100644 index 7deebb7..0000000 Binary files a/RockOS/.git-backup/objects/d2/4bca8736aeb024b484eb6ebfc021aa95d9b769 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/6f235db36ca172aab497a834444326a466af15 b/RockOS/.git-backup/objects/d2/6f235db36ca172aab497a834444326a466af15 deleted file mode 100644 index f7cf35b..0000000 Binary files a/RockOS/.git-backup/objects/d2/6f235db36ca172aab497a834444326a466af15 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/765cd3e7e5838421ca0328476b99681479eea5 b/RockOS/.git-backup/objects/d2/765cd3e7e5838421ca0328476b99681479eea5 deleted file mode 100644 index 5beb040..0000000 Binary files a/RockOS/.git-backup/objects/d2/765cd3e7e5838421ca0328476b99681479eea5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/b56e5da656e8eb35c29a3ed40a9c4ec810169d b/RockOS/.git-backup/objects/d2/b56e5da656e8eb35c29a3ed40a9c4ec810169d deleted file mode 100644 index cee471a..0000000 Binary files a/RockOS/.git-backup/objects/d2/b56e5da656e8eb35c29a3ed40a9c4ec810169d and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/b854ac2d17265a595b5c30a8ed4619bc869b40 b/RockOS/.git-backup/objects/d2/b854ac2d17265a595b5c30a8ed4619bc869b40 deleted file mode 100644 index 6b566a7..0000000 --- a/RockOS/.git-backup/objects/d2/b854ac2d17265a595b5c30a8ed4619bc869b40 +++ /dev/null @@ -1,2 +0,0 @@ -xE0D+E-hH">8 {0#\O6x`ӫEo)WmvI\C񕎱|yI \ No newline at end of file diff --git a/RockOS/.git-backup/objects/d2/bf2d72e441b4fa65b915ef05c051038b6de705 b/RockOS/.git-backup/objects/d2/bf2d72e441b4fa65b915ef05c051038b6de705 deleted file mode 100644 index 05f9729..0000000 Binary files a/RockOS/.git-backup/objects/d2/bf2d72e441b4fa65b915ef05c051038b6de705 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d2/c5b68eb9f75187332a69e319f5112c5d046c72 b/RockOS/.git-backup/objects/d2/c5b68eb9f75187332a69e319f5112c5d046c72 deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/.git-backup/objects/d2/cabb35178cca9b1db5bf66a902a5a83357f943 b/RockOS/.git-backup/objects/d2/cabb35178cca9b1db5bf66a902a5a83357f943 deleted file mode 100644 index d3c72cc..0000000 Binary files a/RockOS/.git-backup/objects/d2/cabb35178cca9b1db5bf66a902a5a83357f943 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d3/61bb5c326a160ae85df5521b9522dd6eb4ed29 b/RockOS/.git-backup/objects/d3/61bb5c326a160ae85df5521b9522dd6eb4ed29 deleted file mode 100644 index e0c9ef2..0000000 --- a/RockOS/.git-backup/objects/d3/61bb5c326a160ae85df5521b9522dd6eb4ed29 +++ /dev/null @@ -1,5 +0,0 @@ -xSn0_1p^vkćQ19{ - -C*" I%M{b5QT,gggQ9>,o!Z޶OD0FǕ"` h8#9]ވת̈́7"י~t{̝r -cΤ%BgxVzs( Kayg92G43{+dt%Ǖ6+Y -/nϘt>GY4o'Ei(9Yb. eFM]z *蹮R\ڙ:Ls#V#"jEyy/o ?!w rN)@HqF:4Ӊr BzO˓[U1e֌S[YuVB1= 3nq<k$:2c:6JC@dݑ+w2'z|Y>72ѱ6l9iGB~D;UKN,P<=%P~w # C򝱠LTƽعc4/BW| \ No newline at end of file diff --git a/RockOS/.git-backup/objects/d9/5be467b45a1e2e9e391abb1442ef1efe6dc906 b/RockOS/.git-backup/objects/d9/5be467b45a1e2e9e391abb1442ef1efe6dc906 deleted file mode 100644 index f280362..0000000 Binary files a/RockOS/.git-backup/objects/d9/5be467b45a1e2e9e391abb1442ef1efe6dc906 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d9/7f158d9339548b4f19dc910378cf6a50f74da8 b/RockOS/.git-backup/objects/d9/7f158d9339548b4f19dc910378cf6a50f74da8 deleted file mode 100644 index 6b86b15..0000000 --- a/RockOS/.git-backup/objects/d9/7f158d9339548b4f19dc910378cf6a50f74da8 +++ /dev/null @@ -1,2 +0,0 @@ -xU -0 E}W8?# ZڲV盦aJM0^ZxĄkRDʆE9`HUAWH^n%l_8tñP-!L 틳e5PY7KMxg4#E9eG \ No newline at end of file diff --git a/RockOS/.git-backup/objects/d9/c580241279891c99a68721bca432361bfa0373 b/RockOS/.git-backup/objects/d9/c580241279891c99a68721bca432361bfa0373 deleted file mode 100644 index 5cce91e..0000000 Binary files a/RockOS/.git-backup/objects/d9/c580241279891c99a68721bca432361bfa0373 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d9/d4229e2c6de8206e5e10d1d7b853fee5ad3ba0 b/RockOS/.git-backup/objects/d9/d4229e2c6de8206e5e10d1d7b853fee5ad3ba0 deleted file mode 100644 index 04bf71f..0000000 Binary files a/RockOS/.git-backup/objects/d9/d4229e2c6de8206e5e10d1d7b853fee5ad3ba0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/d9/fab399730307737839ca2be36a85be0256bfdf b/RockOS/.git-backup/objects/d9/fab399730307737839ca2be36a85be0256bfdf deleted file mode 100644 index 074ced7..0000000 Binary files a/RockOS/.git-backup/objects/d9/fab399730307737839ca2be36a85be0256bfdf and /dev/null differ diff --git a/RockOS/.git-backup/objects/da/05f7f922d1be8bd1c90db17817aa48c27e2bb0 b/RockOS/.git-backup/objects/da/05f7f922d1be8bd1c90db17817aa48c27e2bb0 deleted file mode 100644 index dbc8feb..0000000 Binary files a/RockOS/.git-backup/objects/da/05f7f922d1be8bd1c90db17817aa48c27e2bb0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/da/18c7cbcafa991f3738968dd8f55c331866b1f3 b/RockOS/.git-backup/objects/da/18c7cbcafa991f3738968dd8f55c331866b1f3 deleted file mode 100644 index 96e84ed..0000000 Binary files a/RockOS/.git-backup/objects/da/18c7cbcafa991f3738968dd8f55c331866b1f3 and /dev/null differ diff --git a/RockOS/.git-backup/objects/da/39cd9488701bf0245357808f4b0df06d1848cd b/RockOS/.git-backup/objects/da/39cd9488701bf0245357808f4b0df06d1848cd deleted file mode 100644 index c91663e..0000000 --- a/RockOS/.git-backup/objects/da/39cd9488701bf0245357808f4b0df06d1848cd +++ /dev/null @@ -1,4 +0,0 @@ -xVik@g dɉs6H[pUT;֖[}v7_<{γ(c(b4).2/F1xw9|y3{\\^NY!),YPvn5ϪcDyU0B¢d}2܉ēa*|@:HYSJI^C`.NŸ1ٍ{6&'p:p[~ ao"_3&? Pd||ȧw~~NtRQCgn88E~c2ޖ]%_L]?wpi5Y.ɏnd4HB V/@ " 3fv\簇~2٣C%,ViZ2ExMΖ},gc?uXP -pI1Fb"=w /0;) \ No newline at end of file diff --git a/RockOS/.git-backup/objects/da/5fff6ee3729c2dfde4884affb6a1bbe23ddfc9 b/RockOS/.git-backup/objects/da/5fff6ee3729c2dfde4884affb6a1bbe23ddfc9 deleted file mode 100644 index 65cc9bb..0000000 --- a/RockOS/.git-backup/objects/da/5fff6ee3729c2dfde4884affb6a1bbe23ddfc9 +++ /dev/null @@ -1 +0,0 @@ -xS]k0ݫ mae샱7WWC2RMGX4CML2Ka>7{9C&;nH$j19v:<`b.*"f%m맓#mrݸykF?mu򤜼nA/# oS;>>d*&< 3u -n \.fm\_St(bA~bжXT2!𩸫są27cJg2N~p\(F :iDi ;!bAwRe[pk'5@sH9Kް$p~IKŒxyADTxfawJ8 -`)24j(e Lg!<nI%E8`XɜmjމuMTnxn #z 6D:[sL¦0LR}FK+6sDhLTz@ V g<.}YHJ'6rJ*0KkŒ:yЫX&UlC_=6ɒ3H ;{6w9;rn:;~" -Jv֎_oc&%<ȈT*GTҰ}T<jG2"`3~N}7:Iaciy96;2"t{#P_yQ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e1/9f5ec67699cadd9482523b3f882d6a776e1eb8 b/RockOS/.git-backup/objects/e1/9f5ec67699cadd9482523b3f882d6a776e1eb8 deleted file mode 100644 index 728c21a..0000000 --- a/RockOS/.git-backup/objects/e1/9f5ec67699cadd9482523b3f882d6a776e1eb8 +++ /dev/null @@ -1,2 +0,0 @@ -x=0 {(3 -q&$C%4ĕ"?`H?sn)l['B#T\{t˩wGָLCnlh˴Z_i.KFA¸*bèX)kU$jd1B.;x`s@jDWF˻#, ħn #5‚t=_> XM~wZ64m͟]KI8 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e2/ab1303243a463122832044a7fc75651008fb8f b/RockOS/.git-backup/objects/e2/ab1303243a463122832044a7fc75651008fb8f deleted file mode 100644 index 4880c3a..0000000 --- a/RockOS/.git-backup/objects/e2/ab1303243a463122832044a7fc75651008fb8f +++ /dev/null @@ -1 +0,0 @@ -x[j!E*jԆ-f|ng [shvLξ͓lhd1XeNlCbOd@3g> xN7TvXY !%"z|x8 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e3/56174ffa7c52d6075f48f29b235601daedf6b6 b/RockOS/.git-backup/objects/e3/56174ffa7c52d6075f48f29b235601daedf6b6 deleted file mode 100644 index c756dfc..0000000 Binary files a/RockOS/.git-backup/objects/e3/56174ffa7c52d6075f48f29b235601daedf6b6 and /dev/null differ diff --git a/RockOS/.git-backup/objects/e3/5d450e604a3ad51a675fd36e8f195427aae5fb b/RockOS/.git-backup/objects/e3/5d450e604a3ad51a675fd36e8f195427aae5fb deleted file mode 100644 index da13410..0000000 --- a/RockOS/.git-backup/objects/e3/5d450e604a3ad51a675fd36e8f195427aae5fb +++ /dev/null @@ -1,2 +0,0 @@ -x}Qo0yί8t)O Vфؒ*$"'vKlg[߹NWZ큗ľ|kej|[a1DTͬi;P+`iz&5evx\xJ^:'e o08qpn4 -.Ʉ/<RIt:wR7ja]onE^<ޥLÔwQ2__* ;9 2Olih4%@t}1|z'$l6D0|ZEOO | Yad>nY#<>_T5U/cς!Syϝ_Ӟ#ē}/OcsiÌWCqo$G(b]quPm&ȫ"]^/۷# \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e3/9ea6ca895f2d4469d9ac004e1eca6819ea45ac b/RockOS/.git-backup/objects/e3/9ea6ca895f2d4469d9ac004e1eca6819ea45ac deleted file mode 100644 index 3461fc8..0000000 --- a/RockOS/.git-backup/objects/e3/9ea6ca895f2d4469d9ac004e1eca6819ea45ac +++ /dev/null @@ -1,4 +0,0 @@ -xRN@SLjbjDKo twX,MZwwYj726vE8Leg(E YY]TK^Ju4QьqF)2a݇Ua%j -u3>'4@y嚮ޚ\@01nUo- nްgL'+\OB&?q)a)P%(!o>Ba -7(z1Bq/-Xg - *%;p xl :pܜNAdnNΥk sfFh:R{ (ɗoHK)\ZpǗh.ҩ`hLQE//]X;x&50W@)?2k(䪊' \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e4/23f9759c74f2f2432e03fba44a1b45d4a62d8b b/RockOS/.git-backup/objects/e4/23f9759c74f2f2432e03fba44a1b45d4a62d8b deleted file mode 100644 index 16c9abb..0000000 Binary files a/RockOS/.git-backup/objects/e4/23f9759c74f2f2432e03fba44a1b45d4a62d8b and /dev/null differ diff --git a/RockOS/.git-backup/objects/e4/2ee8eb85fafc4c16654372e7cd9979b9f1dd62 b/RockOS/.git-backup/objects/e4/2ee8eb85fafc4c16654372e7cd9979b9f1dd62 deleted file mode 100644 index ae803f8..0000000 Binary files a/RockOS/.git-backup/objects/e4/2ee8eb85fafc4c16654372e7cd9979b9f1dd62 and /dev/null differ diff --git a/RockOS/.git-backup/objects/e4/3cc2cc55d3a4fe9c47b93d5ba7743544dc2190 b/RockOS/.git-backup/objects/e4/3cc2cc55d3a4fe9c47b93d5ba7743544dc2190 deleted file mode 100644 index cc1100f..0000000 Binary files a/RockOS/.git-backup/objects/e4/3cc2cc55d3a4fe9c47b93d5ba7743544dc2190 and /dev/null differ diff --git a/RockOS/.git-backup/objects/e5/37ccc435054bdb662ccba08bf8fa542f9918f2 b/RockOS/.git-backup/objects/e5/37ccc435054bdb662ccba08bf8fa542f9918f2 deleted file mode 100644 index d26a252..0000000 --- a/RockOS/.git-backup/objects/e5/37ccc435054bdb662ccba08bf8fa542f9918f2 +++ /dev/null @@ -1 +0,0 @@ -xRMK1_1 E*%$TҬ"liKs7j!uڲ[ ~m}}-ph /:FyS2'h+nw^VWCr|I>=0N7qxf\iQ$:IIaJ4[ Zgp i@:@ֈz`@Wn,:/(|*Q]#Q\ _D黼ΈGbӿFqRO\y \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e6/791f6d8ab9b31e1c8ec1fe71d03c638d846591 b/RockOS/.git-backup/objects/e6/791f6d8ab9b31e1c8ec1fe71d03c638d846591 deleted file mode 100644 index 270fba2..0000000 Binary files a/RockOS/.git-backup/objects/e6/791f6d8ab9b31e1c8ec1fe71d03c638d846591 and /dev/null differ diff --git a/RockOS/.git-backup/objects/e7/7122630de3368e5afa4ddadc6caa88bbbd1873 b/RockOS/.git-backup/objects/e7/7122630de3368e5afa4ddadc6caa88bbbd1873 deleted file mode 100644 index 551d8c8..0000000 --- a/RockOS/.git-backup/objects/e7/7122630de3368e5afa4ddadc6caa88bbbd1873 +++ /dev/null @@ -1 +0,0 @@ -xUMO0D9WK@U T'g+'ʪƉk'T8°澹~=Ix[Gagh3v[vt@pZTy dĨ󸐒8":2EYcix6 y`(7KbwoAwI7|,JOԔeV",I!ϕnj_K&%DWD|d \ No newline at end of file diff --git a/RockOS/.git-backup/objects/e9/9e7194039b69477871a23ae6f57d720435414f b/RockOS/.git-backup/objects/e9/9e7194039b69477871a23ae6f57d720435414f deleted file mode 100644 index 2578c83..0000000 Binary files a/RockOS/.git-backup/objects/e9/9e7194039b69477871a23ae6f57d720435414f and /dev/null differ diff --git a/RockOS/.git-backup/objects/e9/b3ffcb253ab10087bd28974a39bc21c93bb560 b/RockOS/.git-backup/objects/e9/b3ffcb253ab10087bd28974a39bc21c93bb560 deleted file mode 100644 index 1925109..0000000 Binary files a/RockOS/.git-backup/objects/e9/b3ffcb253ab10087bd28974a39bc21c93bb560 and /dev/null differ diff --git a/RockOS/.git-backup/objects/e9/c7f419af590cafc4ad09fb59e3521ac32a89dd b/RockOS/.git-backup/objects/e9/c7f419af590cafc4ad09fb59e3521ac32a89dd deleted file mode 100644 index 0c8926b..0000000 Binary files a/RockOS/.git-backup/objects/e9/c7f419af590cafc4ad09fb59e3521ac32a89dd and /dev/null differ diff --git a/RockOS/.git-backup/objects/e9/fd9f4c60e8a7ed18c1135a83df4833b9101ce5 b/RockOS/.git-backup/objects/e9/fd9f4c60e8a7ed18c1135a83df4833b9101ce5 deleted file mode 100644 index e26d7d4..0000000 Binary files a/RockOS/.git-backup/objects/e9/fd9f4c60e8a7ed18c1135a83df4833b9101ce5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ea/01de7af8426da64e23b09049167045732778c9 b/RockOS/.git-backup/objects/ea/01de7af8426da64e23b09049167045732778c9 deleted file mode 100644 index b2d03d2..0000000 --- a/RockOS/.git-backup/objects/ea/01de7af8426da64e23b09049167045732778c9 +++ /dev/null @@ -1,4 +0,0 @@ -xUMk1Eί؅Bw.R -.Dky0&JoRA*!ɻop7Xu2T  (Roף o:=),A+j gTDR' EJ+L l2*Kk)EAΧX$/V\eڮYK :J77਎161S|^]o+@u=ȎgNAy5%i%' \ No newline at end of file diff --git a/RockOS/.git-backup/objects/eb/5773c7ad22c1dd579364424a5a12539b11e892 b/RockOS/.git-backup/objects/eb/5773c7ad22c1dd579364424a5a12539b11e892 deleted file mode 100644 index 9fa0899..0000000 Binary files a/RockOS/.git-backup/objects/eb/5773c7ad22c1dd579364424a5a12539b11e892 and /dev/null differ diff --git a/RockOS/.git-backup/objects/eb/97774cdc8f3b0dc2f3aefb56f5c12b98351452 b/RockOS/.git-backup/objects/eb/97774cdc8f3b0dc2f3aefb56f5c12b98351452 deleted file mode 100644 index b608d5c..0000000 Binary files a/RockOS/.git-backup/objects/eb/97774cdc8f3b0dc2f3aefb56f5c12b98351452 and /dev/null differ diff --git a/RockOS/.git-backup/objects/eb/d1890770bacbe3fc518289724acc98f3f8011e b/RockOS/.git-backup/objects/eb/d1890770bacbe3fc518289724acc98f3f8011e deleted file mode 100644 index 66707cd..0000000 Binary files a/RockOS/.git-backup/objects/eb/d1890770bacbe3fc518289724acc98f3f8011e and /dev/null differ diff --git a/RockOS/.git-backup/objects/eb/f7b89c21c4ac892076357058a541537c0f806a b/RockOS/.git-backup/objects/eb/f7b89c21c4ac892076357058a541537c0f806a deleted file mode 100644 index d52fa51..0000000 Binary files a/RockOS/.git-backup/objects/eb/f7b89c21c4ac892076357058a541537c0f806a and /dev/null differ diff --git a/RockOS/.git-backup/objects/ec/3cbb479486af14f15f95376cc0e8ec1d86ba9a b/RockOS/.git-backup/objects/ec/3cbb479486af14f15f95376cc0e8ec1d86ba9a deleted file mode 100644 index 09ea52a..0000000 --- a/RockOS/.git-backup/objects/ec/3cbb479486af14f15f95376cc0e8ec1d86ba9a +++ /dev/null @@ -1 +0,0 @@ -x;n0]lH.?aJ€o\.mdHL[Ut 0Ʈ5h5R@ ()59;˙, 8@U(9bʎ`$pI)P7~cY6Qh[f{q:.z"bLIN.7}߿Q)7>)G \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ec/3f4075683ff6b3b713b2fe606ba23ac5f0b4d9 b/RockOS/.git-backup/objects/ec/3f4075683ff6b3b713b2fe606ba23ac5f0b4d9 deleted file mode 100644 index b370df9..0000000 --- a/RockOS/.git-backup/objects/ec/3f4075683ff6b3b713b2fe606ba23ac5f0b4d9 +++ /dev/null @@ -1,3 +0,0 @@ -xmS[o0s~7*aL ECQB\Rp>; %}9v.qXI{$؞ -ّT )?_u)햧fϺ+K)f?]cw1,*0+r˔O;ukA/AU&R4sP &>iGF֛e9pLQ`o@ 81K( Q3U;y mT0!8 rMh9zak|ZRjQ[zx\1=ڙz>HdyL} z^`a:?.Ek>ARƺ7^130蝕پ&b&d~zh -ƪhu(t0g2$3WTl5k@ 11Sؒ*AA"b{&hH.V+ *K8\ GxRYkRQC;չ sb6#t9!a5uNئw -uWٷ'X(8Ku,U'!vX!x8hYO̦g? kAK \ No newline at end of file diff --git a/RockOS/.git-backup/objects/ef/70e011a630e469a564d18019898baf3f66f0f7 b/RockOS/.git-backup/objects/ef/70e011a630e469a564d18019898baf3f66f0f7 deleted file mode 100644 index e8ef6a0..0000000 Binary files a/RockOS/.git-backup/objects/ef/70e011a630e469a564d18019898baf3f66f0f7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ef/c4608c7e9d24958cca766ef2b938dab4a02af7 b/RockOS/.git-backup/objects/ef/c4608c7e9d24958cca766ef2b938dab4a02af7 deleted file mode 100644 index ffa9c7c..0000000 Binary files a/RockOS/.git-backup/objects/ef/c4608c7e9d24958cca766ef2b938dab4a02af7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f0/429897c3981aba8f608f3e344ee57125c64bce b/RockOS/.git-backup/objects/f0/429897c3981aba8f608f3e344ee57125c64bce deleted file mode 100644 index 6dbcfde..0000000 --- a/RockOS/.git-backup/objects/f0/429897c3981aba8f608f3e344ee57125c64bce +++ /dev/null @@ -1,2 +0,0 @@ -xM -0 `{vAEɓG_@fja)DX|I[moXid:'\5(2MT !7ľmb$ M \ No newline at end of file diff --git a/RockOS/.git-backup/objects/f0/ac677f68d239fd80ddc554f67fa1062a8e340b b/RockOS/.git-backup/objects/f0/ac677f68d239fd80ddc554f67fa1062a8e340b deleted file mode 100644 index 922dc76..0000000 Binary files a/RockOS/.git-backup/objects/f0/ac677f68d239fd80ddc554f67fa1062a8e340b and /dev/null differ diff --git a/RockOS/.git-backup/objects/f0/c43b40e89e2156a8c74e02342dc81c1353edb4 b/RockOS/.git-backup/objects/f0/c43b40e89e2156a8c74e02342dc81c1353edb4 deleted file mode 100644 index 663a860..0000000 Binary files a/RockOS/.git-backup/objects/f0/c43b40e89e2156a8c74e02342dc81c1353edb4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f1/2ce075369d11cccd12e645b80c8b33c1cc8c55 b/RockOS/.git-backup/objects/f1/2ce075369d11cccd12e645b80c8b33c1cc8c55 deleted file mode 100644 index d6f6ca3..0000000 Binary files a/RockOS/.git-backup/objects/f1/2ce075369d11cccd12e645b80c8b33c1cc8c55 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f1/ac468a38bb16b6d14da56563ce142bfc4d6885 b/RockOS/.git-backup/objects/f1/ac468a38bb16b6d14da56563ce142bfc4d6885 deleted file mode 100644 index f2bcf71..0000000 --- a/RockOS/.git-backup/objects/f1/ac468a38bb16b6d14da56563ce142bfc4d6885 +++ /dev/null @@ -1,3 +0,0 @@ -xMK -0D])Z\ "Hg$FU46]&Ю(ўbޜZ(^w1>!E~ye -Jvatԣ~~ 2? \ No newline at end of file diff --git a/RockOS/.git-backup/objects/f2/0c37a0d32b36611e35a8e139c4db54e09fc409 b/RockOS/.git-backup/objects/f2/0c37a0d32b36611e35a8e139c4db54e09fc409 deleted file mode 100644 index 5cda43f..0000000 Binary files a/RockOS/.git-backup/objects/f2/0c37a0d32b36611e35a8e139c4db54e09fc409 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f2/6fed273b27e9e01403ab307a6c05d43858ed5b b/RockOS/.git-backup/objects/f2/6fed273b27e9e01403ab307a6c05d43858ed5b deleted file mode 100644 index f4b7094..0000000 Binary files a/RockOS/.git-backup/objects/f2/6fed273b27e9e01403ab307a6c05d43858ed5b and /dev/null differ diff --git a/RockOS/.git-backup/objects/f2/c2e6e14908c0d685b0368678bf61dc5c0e9ac8 b/RockOS/.git-backup/objects/f2/c2e6e14908c0d685b0368678bf61dc5c0e9ac8 deleted file mode 100644 index 5ef7699..0000000 Binary files a/RockOS/.git-backup/objects/f2/c2e6e14908c0d685b0368678bf61dc5c0e9ac8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f3/0ba632827a07389925d9ce1726c80bac887853 b/RockOS/.git-backup/objects/f3/0ba632827a07389925d9ce1726c80bac887853 deleted file mode 100644 index 6b7eecd..0000000 Binary files a/RockOS/.git-backup/objects/f3/0ba632827a07389925d9ce1726c80bac887853 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f3/18af0c1adb3499cbddf4b3b96c595a83f398c7 b/RockOS/.git-backup/objects/f3/18af0c1adb3499cbddf4b3b96c595a83f398c7 deleted file mode 100644 index 697c52e..0000000 Binary files a/RockOS/.git-backup/objects/f3/18af0c1adb3499cbddf4b3b96c595a83f398c7 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f3/2d373f1c132148b47cd9965234e656240fc65f b/RockOS/.git-backup/objects/f3/2d373f1c132148b47cd9965234e656240fc65f deleted file mode 100644 index 9fef475..0000000 Binary files a/RockOS/.git-backup/objects/f3/2d373f1c132148b47cd9965234e656240fc65f and /dev/null differ diff --git a/RockOS/.git-backup/objects/f3/67739e2ef2ef3410195f8dadf7b4530956a9a4 b/RockOS/.git-backup/objects/f3/67739e2ef2ef3410195f8dadf7b4530956a9a4 deleted file mode 100644 index c783f77..0000000 Binary files a/RockOS/.git-backup/objects/f3/67739e2ef2ef3410195f8dadf7b4530956a9a4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f3/f65dc173f10dfe49ff8a77126b1b18e24b77ba b/RockOS/.git-backup/objects/f3/f65dc173f10dfe49ff8a77126b1b18e24b77ba deleted file mode 100644 index 347739b..0000000 Binary files a/RockOS/.git-backup/objects/f3/f65dc173f10dfe49ff8a77126b1b18e24b77ba and /dev/null differ diff --git a/RockOS/.git-backup/objects/f4/1ac652373cdc77c8e782886f8b2ea249bfdcf2 b/RockOS/.git-backup/objects/f4/1ac652373cdc77c8e782886f8b2ea249bfdcf2 deleted file mode 100644 index 4bbe56a..0000000 Binary files a/RockOS/.git-backup/objects/f4/1ac652373cdc77c8e782886f8b2ea249bfdcf2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f4/338bb5d6e11cd75f5ebec527aca0c7899ef5ee b/RockOS/.git-backup/objects/f4/338bb5d6e11cd75f5ebec527aca0c7899ef5ee deleted file mode 100644 index c121827..0000000 Binary files a/RockOS/.git-backup/objects/f4/338bb5d6e11cd75f5ebec527aca0c7899ef5ee and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/03b394a07ac1bfb97ec143e55e8e8bb71662bf b/RockOS/.git-backup/objects/f5/03b394a07ac1bfb97ec143e55e8e8bb71662bf deleted file mode 100644 index 400c17b..0000000 Binary files a/RockOS/.git-backup/objects/f5/03b394a07ac1bfb97ec143e55e8e8bb71662bf and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/5aebb7bb51dd303d8317a18af3fdd49e66a4d2 b/RockOS/.git-backup/objects/f5/5aebb7bb51dd303d8317a18af3fdd49e66a4d2 deleted file mode 100644 index f79610b..0000000 Binary files a/RockOS/.git-backup/objects/f5/5aebb7bb51dd303d8317a18af3fdd49e66a4d2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/9cc207dc0d2a6f2902d3e62ab3534c39d66b0c b/RockOS/.git-backup/objects/f5/9cc207dc0d2a6f2902d3e62ab3534c39d66b0c deleted file mode 100644 index e3ece6d..0000000 Binary files a/RockOS/.git-backup/objects/f5/9cc207dc0d2a6f2902d3e62ab3534c39d66b0c and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/a15ba5538fd25b87bc7c8dbeb43c0d58a76314 b/RockOS/.git-backup/objects/f5/a15ba5538fd25b87bc7c8dbeb43c0d58a76314 deleted file mode 100644 index 107427e..0000000 Binary files a/RockOS/.git-backup/objects/f5/a15ba5538fd25b87bc7c8dbeb43c0d58a76314 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/a54fe9274f1f4780efb2aa1ec81edfb158e018 b/RockOS/.git-backup/objects/f5/a54fe9274f1f4780efb2aa1ec81edfb158e018 deleted file mode 100644 index c178e62..0000000 Binary files a/RockOS/.git-backup/objects/f5/a54fe9274f1f4780efb2aa1ec81edfb158e018 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/b534dc57bb250099e403152df646c67f517189 b/RockOS/.git-backup/objects/f5/b534dc57bb250099e403152df646c67f517189 deleted file mode 100644 index a1952f2..0000000 Binary files a/RockOS/.git-backup/objects/f5/b534dc57bb250099e403152df646c67f517189 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/c7b07aeef867664be4fe66f0af763fcddff244 b/RockOS/.git-backup/objects/f5/c7b07aeef867664be4fe66f0af763fcddff244 deleted file mode 100644 index 893fc85..0000000 Binary files a/RockOS/.git-backup/objects/f5/c7b07aeef867664be4fe66f0af763fcddff244 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/d320fb063306a1ba6b4bb89d211e5a94558fa2 b/RockOS/.git-backup/objects/f5/d320fb063306a1ba6b4bb89d211e5a94558fa2 deleted file mode 100644 index e4b0482..0000000 Binary files a/RockOS/.git-backup/objects/f5/d320fb063306a1ba6b4bb89d211e5a94558fa2 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f5/fec2444233316c12ca1c2e6291db77ff101834 b/RockOS/.git-backup/objects/f5/fec2444233316c12ca1c2e6291db77ff101834 deleted file mode 100644 index 453bdd3..0000000 Binary files a/RockOS/.git-backup/objects/f5/fec2444233316c12ca1c2e6291db77ff101834 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f6/8e2e615907f8507505543bb00ab7e10b9aca2e b/RockOS/.git-backup/objects/f6/8e2e615907f8507505543bb00ab7e10b9aca2e deleted file mode 100644 index bd03465..0000000 --- a/RockOS/.git-backup/objects/f6/8e2e615907f8507505543bb00ab7e10b9aca2e +++ /dev/null @@ -1 +0,0 @@ -xR]k0ݳ~!a'!iBKB1#4S)AZ̑,IGtm]v󋭣s\ Nm~]8D)hw2`$;$pļpe\iL0SrE0G깴kUh[ Bv6J]pcaehJN;<,v%>ѽ&: _ŒP ^,O|g^PR"ڞVʇ$1 9#!tRISn֊cJ;?Q>RM..دi!I-9}|`sT#5ܞݽѤq^獝J#oOߚ҈?Tcfz-F \ No newline at end of file diff --git a/RockOS/.git-backup/objects/f6/c44157d9e871fdbe8eb225a9bed6dfde61a071 b/RockOS/.git-backup/objects/f6/c44157d9e871fdbe8eb225a9bed6dfde61a071 deleted file mode 100644 index 0255b25..0000000 --- a/RockOS/.git-backup/objects/f6/c44157d9e871fdbe8eb225a9bed6dfde61a071 +++ /dev/null @@ -1,7 +0,0 @@ -xWKO19b,R+R꥗V=Q9ưF7"{gl+a)\Z{3|݂rO^2Oӓ},ds3>HLVL%XbX$ ~WFTP i>5JTi+b-~6K?%|c8.P5PqS{6&CVou^KoQo'޶So[m-7Gevxt^,O~Qc?!dv/n@(tCpƲ+MzYnN!{qmTm [3fu#EW7ֻdea2`;B{PY{9F2A-h-Xv &NOXF#O3}$ \ No newline at end of file diff --git a/RockOS/.git-backup/objects/f7/042fac7a9b15646b240f88215773ebe70b0cfc b/RockOS/.git-backup/objects/f7/042fac7a9b15646b240f88215773ebe70b0cfc deleted file mode 100644 index 06f044b..0000000 Binary files a/RockOS/.git-backup/objects/f7/042fac7a9b15646b240f88215773ebe70b0cfc and /dev/null differ diff --git a/RockOS/.git-backup/objects/f7/2fd0169cebd0b07b3270933cf98a1e2b8abb27 b/RockOS/.git-backup/objects/f7/2fd0169cebd0b07b3270933cf98a1e2b8abb27 deleted file mode 100644 index 95b6a9c..0000000 Binary files a/RockOS/.git-backup/objects/f7/2fd0169cebd0b07b3270933cf98a1e2b8abb27 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f7/59523c01a1a04a58d48c2816b7e9523bf9c228 b/RockOS/.git-backup/objects/f7/59523c01a1a04a58d48c2816b7e9523bf9c228 deleted file mode 100644 index d22c1a0..0000000 Binary files a/RockOS/.git-backup/objects/f7/59523c01a1a04a58d48c2816b7e9523bf9c228 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f7/8bd199ae6d0dd4abb3863028bc5c3baafffd27 b/RockOS/.git-backup/objects/f7/8bd199ae6d0dd4abb3863028bc5c3baafffd27 deleted file mode 100644 index 108c8bb..0000000 Binary files a/RockOS/.git-backup/objects/f7/8bd199ae6d0dd4abb3863028bc5c3baafffd27 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f7/a3a8c01b4cf273d127d7285f46e904424b30ad b/RockOS/.git-backup/objects/f7/a3a8c01b4cf273d127d7285f46e904424b30ad deleted file mode 100644 index 9d087ec..0000000 Binary files a/RockOS/.git-backup/objects/f7/a3a8c01b4cf273d127d7285f46e904424b30ad and /dev/null differ diff --git a/RockOS/.git-backup/objects/f8/3e2de2ce637cfdb4538052b76eedd940d15647 b/RockOS/.git-backup/objects/f8/3e2de2ce637cfdb4538052b76eedd940d15647 deleted file mode 100644 index 2269c0e..0000000 Binary files a/RockOS/.git-backup/objects/f8/3e2de2ce637cfdb4538052b76eedd940d15647 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f8/4e57b2e070c8c3faa737c65050915cdfbd0c37 b/RockOS/.git-backup/objects/f8/4e57b2e070c8c3faa737c65050915cdfbd0c37 deleted file mode 100644 index 5a7b688..0000000 Binary files a/RockOS/.git-backup/objects/f8/4e57b2e070c8c3faa737c65050915cdfbd0c37 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f8/8510e0126e2c2bd69c934c3e8c0e6f37199b77 b/RockOS/.git-backup/objects/f8/8510e0126e2c2bd69c934c3e8c0e6f37199b77 deleted file mode 100644 index 233509f..0000000 Binary files a/RockOS/.git-backup/objects/f8/8510e0126e2c2bd69c934c3e8c0e6f37199b77 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f8/90912356f2b433f179fd3ef11755c205abcd7b b/RockOS/.git-backup/objects/f8/90912356f2b433f179fd3ef11755c205abcd7b deleted file mode 100644 index 3d6d938..0000000 Binary files a/RockOS/.git-backup/objects/f8/90912356f2b433f179fd3ef11755c205abcd7b and /dev/null differ diff --git a/RockOS/.git-backup/objects/f8/b3b806d5b7d1e434f0d44a0c45d31a8515cca8 b/RockOS/.git-backup/objects/f8/b3b806d5b7d1e434f0d44a0c45d31a8515cca8 deleted file mode 100644 index 6520a0f..0000000 Binary files a/RockOS/.git-backup/objects/f8/b3b806d5b7d1e434f0d44a0c45d31a8515cca8 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/04f9ebed39da6cde36d5e1187b6252ed30ca93 b/RockOS/.git-backup/objects/f9/04f9ebed39da6cde36d5e1187b6252ed30ca93 deleted file mode 100644 index c0745b9..0000000 Binary files a/RockOS/.git-backup/objects/f9/04f9ebed39da6cde36d5e1187b6252ed30ca93 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/0e54d113aac0bc7335ebc97bc83e50b3b1e4ec b/RockOS/.git-backup/objects/f9/0e54d113aac0bc7335ebc97bc83e50b3b1e4ec deleted file mode 100644 index 42e93a8..0000000 Binary files a/RockOS/.git-backup/objects/f9/0e54d113aac0bc7335ebc97bc83e50b3b1e4ec and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/187cc74b099378e58736976346baf2275cebc9 b/RockOS/.git-backup/objects/f9/187cc74b099378e58736976346baf2275cebc9 deleted file mode 100644 index 21468dc..0000000 Binary files a/RockOS/.git-backup/objects/f9/187cc74b099378e58736976346baf2275cebc9 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/6c7b725f43108ab9a1b1273ea141db2ae052e0 b/RockOS/.git-backup/objects/f9/6c7b725f43108ab9a1b1273ea141db2ae052e0 deleted file mode 100644 index 6461c53..0000000 Binary files a/RockOS/.git-backup/objects/f9/6c7b725f43108ab9a1b1273ea141db2ae052e0 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/70e8eca63ac7e90b0263356922edbec4b6e93b b/RockOS/.git-backup/objects/f9/70e8eca63ac7e90b0263356922edbec4b6e93b deleted file mode 100644 index de9f6f7..0000000 --- a/RockOS/.git-backup/objects/f9/70e8eca63ac7e90b0263356922edbec4b6e93b +++ /dev/null @@ -1,2 +0,0 @@ -xu; -0D+&dcH$Iae7PȄ˺ ($UK>0iAJ-P.]%ۢbrw6' BhEu}ۼ<5U. \ No newline at end of file diff --git a/RockOS/.git-backup/objects/f9/838c181fb209445306760d9cd74e9c5c27ace5 b/RockOS/.git-backup/objects/f9/838c181fb209445306760d9cd74e9c5c27ace5 deleted file mode 100644 index c1da46b..0000000 Binary files a/RockOS/.git-backup/objects/f9/838c181fb209445306760d9cd74e9c5c27ace5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/91f41763fbc49578b78eda5cda556ba7f1b055 b/RockOS/.git-backup/objects/f9/91f41763fbc49578b78eda5cda556ba7f1b055 deleted file mode 100644 index 222c9c4..0000000 Binary files a/RockOS/.git-backup/objects/f9/91f41763fbc49578b78eda5cda556ba7f1b055 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/dc1ca0888b2196a114706434e2a05b38b83179 b/RockOS/.git-backup/objects/f9/dc1ca0888b2196a114706434e2a05b38b83179 deleted file mode 100644 index 6decaa1..0000000 Binary files a/RockOS/.git-backup/objects/f9/dc1ca0888b2196a114706434e2a05b38b83179 and /dev/null differ diff --git a/RockOS/.git-backup/objects/f9/f91fc2f3c95bb4b987990775536fc51b4bea77 b/RockOS/.git-backup/objects/f9/f91fc2f3c95bb4b987990775536fc51b4bea77 deleted file mode 100644 index d8c346b..0000000 Binary files a/RockOS/.git-backup/objects/f9/f91fc2f3c95bb4b987990775536fc51b4bea77 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fa/44958e2f28e0206193b52a2fddeec7fd19502f b/RockOS/.git-backup/objects/fa/44958e2f28e0206193b52a2fddeec7fd19502f deleted file mode 100644 index f07ffb5..0000000 Binary files a/RockOS/.git-backup/objects/fa/44958e2f28e0206193b52a2fddeec7fd19502f and /dev/null differ diff --git a/RockOS/.git-backup/objects/fa/526e05014633186b5251989689654968cf9d18 b/RockOS/.git-backup/objects/fa/526e05014633186b5251989689654968cf9d18 deleted file mode 100644 index cdf52d2..0000000 --- a/RockOS/.git-backup/objects/fa/526e05014633186b5251989689654968cf9d18 +++ /dev/null @@ -1,2 +0,0 @@ -xuJ0]) Aĝ Q4NccǷ7MuhW)Sr=ɲAYySFO5N^akE9z#E -X3Õ\&)Q.1WZz /x 'ט :To(Wr . Ns)G U1!NwSΦq#;< :-S9|MOm(c%CZ1zDYKԓ;:[p MsiQLQQ4^'n{nB}_6,u5/y1ْ㯓 \ No newline at end of file diff --git a/RockOS/.git-backup/objects/fa/b91c86344ec84942c11f0fe628eb7a9014b30a b/RockOS/.git-backup/objects/fa/b91c86344ec84942c11f0fe628eb7a9014b30a deleted file mode 100644 index 3b09bd6..0000000 Binary files a/RockOS/.git-backup/objects/fa/b91c86344ec84942c11f0fe628eb7a9014b30a and /dev/null differ diff --git a/RockOS/.git-backup/objects/fa/ecda25d19dc333ec2001474bd98b5529b0feae b/RockOS/.git-backup/objects/fa/ecda25d19dc333ec2001474bd98b5529b0feae deleted file mode 100644 index f0b053a..0000000 Binary files a/RockOS/.git-backup/objects/fa/ecda25d19dc333ec2001474bd98b5529b0feae and /dev/null differ diff --git a/RockOS/.git-backup/objects/fb/0d0c112bebd4fbb911e7f39a5c9c8c919c5b60 b/RockOS/.git-backup/objects/fb/0d0c112bebd4fbb911e7f39a5c9c8c919c5b60 deleted file mode 100644 index a34c998..0000000 Binary files a/RockOS/.git-backup/objects/fb/0d0c112bebd4fbb911e7f39a5c9c8c919c5b60 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fb/29dfbfe84477d59c07f14e60bc23faccc28a13 b/RockOS/.git-backup/objects/fb/29dfbfe84477d59c07f14e60bc23faccc28a13 deleted file mode 100644 index e3c9996..0000000 Binary files a/RockOS/.git-backup/objects/fb/29dfbfe84477d59c07f14e60bc23faccc28a13 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fb/6294f1e57c53a579e1e394db286f5daeafda05 b/RockOS/.git-backup/objects/fb/6294f1e57c53a579e1e394db286f5daeafda05 deleted file mode 100644 index 436ca10..0000000 Binary files a/RockOS/.git-backup/objects/fb/6294f1e57c53a579e1e394db286f5daeafda05 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fb/b6cadcaae1f4ab0e5777b2427ea56933bff97d b/RockOS/.git-backup/objects/fb/b6cadcaae1f4ab0e5777b2427ea56933bff97d deleted file mode 100644 index b0d2af4..0000000 Binary files a/RockOS/.git-backup/objects/fb/b6cadcaae1f4ab0e5777b2427ea56933bff97d and /dev/null differ diff --git a/RockOS/.git-backup/objects/fb/d51afc99e3a4e1cec76c94202f6229b76d3faf b/RockOS/.git-backup/objects/fb/d51afc99e3a4e1cec76c94202f6229b76d3faf deleted file mode 100644 index 5b361a1..0000000 Binary files a/RockOS/.git-backup/objects/fb/d51afc99e3a4e1cec76c94202f6229b76d3faf and /dev/null differ diff --git a/RockOS/.git-backup/objects/fb/dc1866e5dbcd02ac929d1aa78747aa9dab5816 b/RockOS/.git-backup/objects/fb/dc1866e5dbcd02ac929d1aa78747aa9dab5816 deleted file mode 100644 index 69bfe39..0000000 Binary files a/RockOS/.git-backup/objects/fb/dc1866e5dbcd02ac929d1aa78747aa9dab5816 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fc/0dcddba57b83aa1be67850e2b0f50fbf775d53 b/RockOS/.git-backup/objects/fc/0dcddba57b83aa1be67850e2b0f50fbf775d53 deleted file mode 100644 index d83c7c3..0000000 Binary files a/RockOS/.git-backup/objects/fc/0dcddba57b83aa1be67850e2b0f50fbf775d53 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fc/24efa71ebfc451de5fb2b290b67a33c3c224a7 b/RockOS/.git-backup/objects/fc/24efa71ebfc451de5fb2b290b67a33c3c224a7 deleted file mode 100644 index d498464..0000000 --- a/RockOS/.git-backup/objects/fc/24efa71ebfc451de5fb2b290b67a33c3c224a7 +++ /dev/null @@ -1,2 +0,0 @@ -xUA @;b"u nAt$;к3 [s {>+m[&," -Ηz'yIgi4{CNV詡% 6{źu,0: ppޘ {17 K..zH8Ka*z[B֢e0srr$q@am\"t j \ No newline at end of file diff --git a/RockOS/.git-backup/objects/fd/0e4e47b04d77d92473fd7de66cf7cf36e73dcb b/RockOS/.git-backup/objects/fd/0e4e47b04d77d92473fd7de66cf7cf36e73dcb deleted file mode 100644 index 744849f..0000000 Binary files a/RockOS/.git-backup/objects/fd/0e4e47b04d77d92473fd7de66cf7cf36e73dcb and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/0f53d2440baee1c9faf0e4a98c428fbea85772 b/RockOS/.git-backup/objects/fe/0f53d2440baee1c9faf0e4a98c428fbea85772 deleted file mode 100644 index 6fac518..0000000 Binary files a/RockOS/.git-backup/objects/fe/0f53d2440baee1c9faf0e4a98c428fbea85772 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/3725db99bf7181e9194510f15f6f7ab99cffbf b/RockOS/.git-backup/objects/fe/3725db99bf7181e9194510f15f6f7ab99cffbf deleted file mode 100644 index cfb9c67..0000000 Binary files a/RockOS/.git-backup/objects/fe/3725db99bf7181e9194510f15f6f7ab99cffbf and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/51488c7066f6687ef680d6bfaa4f7768ef205c b/RockOS/.git-backup/objects/fe/51488c7066f6687ef680d6bfaa4f7768ef205c deleted file mode 100644 index e3d0a56..0000000 Binary files a/RockOS/.git-backup/objects/fe/51488c7066f6687ef680d6bfaa4f7768ef205c and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/96bca71bf0bcb69f26d745258d1052356e38e5 b/RockOS/.git-backup/objects/fe/96bca71bf0bcb69f26d745258d1052356e38e5 deleted file mode 100644 index c27b4b4..0000000 Binary files a/RockOS/.git-backup/objects/fe/96bca71bf0bcb69f26d745258d1052356e38e5 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/a2a467481eafb599cc7f5f5e0bb6f5adc61fa1 b/RockOS/.git-backup/objects/fe/a2a467481eafb599cc7f5f5e0bb6f5adc61fa1 deleted file mode 100644 index f9870e3..0000000 Binary files a/RockOS/.git-backup/objects/fe/a2a467481eafb599cc7f5f5e0bb6f5adc61fa1 and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/a74abd5a686e78efbd313a3b35f85f01761a8d b/RockOS/.git-backup/objects/fe/a74abd5a686e78efbd313a3b35f85f01761a8d deleted file mode 100644 index cc737e5..0000000 Binary files a/RockOS/.git-backup/objects/fe/a74abd5a686e78efbd313a3b35f85f01761a8d and /dev/null differ diff --git a/RockOS/.git-backup/objects/fe/b953199c37985b068199586cd3d6c8a49a0ad4 b/RockOS/.git-backup/objects/fe/b953199c37985b068199586cd3d6c8a49a0ad4 deleted file mode 100644 index 67c8b14..0000000 Binary files a/RockOS/.git-backup/objects/fe/b953199c37985b068199586cd3d6c8a49a0ad4 and /dev/null differ diff --git a/RockOS/.git-backup/objects/ff/d946a6b17c1533231e2616f239d90dec286322 b/RockOS/.git-backup/objects/ff/d946a6b17c1533231e2616f239d90dec286322 deleted file mode 100644 index 8702753..0000000 Binary files a/RockOS/.git-backup/objects/ff/d946a6b17c1533231e2616f239d90dec286322 and /dev/null differ diff --git a/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.idx b/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.idx deleted file mode 100644 index 6596cd6..0000000 Binary files a/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.idx and /dev/null differ diff --git a/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.pack b/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.pack deleted file mode 100644 index fcae488..0000000 Binary files a/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.pack and /dev/null differ diff --git a/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.rev b/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.rev deleted file mode 100644 index a457f52..0000000 Binary files a/RockOS/.git-backup/objects/pack/pack-180242b65212ecf3404058dbf75aaf661ef83f5b.rev and /dev/null differ diff --git a/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.idx b/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.idx deleted file mode 100644 index 256aaf0..0000000 Binary files a/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.idx and /dev/null differ diff --git a/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.pack b/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.pack deleted file mode 100644 index 23fa8cd..0000000 Binary files a/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.pack and /dev/null differ diff --git a/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.rev b/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.rev deleted file mode 100644 index a6ffde4..0000000 Binary files a/RockOS/.git-backup/objects/pack/pack-3f1eb6a3771a0ff48db5ca5eb5f9dd43a99161d6.rev and /dev/null differ diff --git a/RockOS/.git-backup/packed-refs b/RockOS/.git-backup/packed-refs deleted file mode 100644 index 4b43fda..0000000 --- a/RockOS/.git-backup/packed-refs +++ /dev/null @@ -1,2 +0,0 @@ -# pack-refs with: peeled fully-peeled sorted -4e8de774ef76caed41dffa19de0e90f1ec356534 refs/remotes/origin/main diff --git a/RockOS/.git-backup/refs/heads/main b/RockOS/.git-backup/refs/heads/main deleted file mode 100644 index 36f5d88..0000000 --- a/RockOS/.git-backup/refs/heads/main +++ /dev/null @@ -1 +0,0 @@ -27b2e7ee0dd46f76c7b451e0e9b4b8b166770f72 diff --git a/RockOS/.git-backup/refs/remotes/origin/HEAD b/RockOS/.git-backup/refs/remotes/origin/HEAD deleted file mode 100644 index 4b0a875..0000000 --- a/RockOS/.git-backup/refs/remotes/origin/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/remotes/origin/main diff --git a/RockOS/.git-backup/refs/remotes/origin/main b/RockOS/.git-backup/refs/remotes/origin/main deleted file mode 100644 index efb3f66..0000000 --- a/RockOS/.git-backup/refs/remotes/origin/main +++ /dev/null @@ -1 +0,0 @@ -6a79a20cf6d7c4597050a6119a4b373ec09f9645 diff --git a/RockOS/.git-backup/refs/stash b/RockOS/.git-backup/refs/stash deleted file mode 100644 index 19aa9d1..0000000 --- a/RockOS/.git-backup/refs/stash +++ /dev/null @@ -1 +0,0 @@ -d69cc348f1cc9794ad175eb80ed588faf0baf1c8 diff --git a/RockOS/.gitignore b/RockOS/.gitignore deleted file mode 100644 index ca161d8..0000000 --- a/RockOS/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -*.iso -*.img -*.o -*.bin -*.elf - -.cache - -.idea -.vscode - -build -isodir - -compiler*/ \ No newline at end of file diff --git a/RockOS/build.sh b/RockOS/build.sh deleted file mode 100755 index c866331..0000000 --- a/RockOS/build.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -./build_libc.sh -./build_programs.sh - -make clean -bear -- make - -./make_img.sh - -make -B \ No newline at end of file diff --git a/RockOS/build_and_run.sh b/RockOS/build_and_run.sh deleted file mode 100755 index 0ad7525..0000000 --- a/RockOS/build_and_run.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -./build.sh - -make run - diff --git a/RockOS/build_libc.sh b/RockOS/build_libc.sh deleted file mode 100755 index 7f4ce6a..0000000 --- a/RockOS/build_libc.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -cd rocklibc -make clean -bear -- make -cd .. \ No newline at end of file diff --git a/RockOS/build_programs.sh b/RockOS/build_programs.sh deleted file mode 100755 index ef3803a..0000000 --- a/RockOS/build_programs.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - - -mkdir -p programs/lib -mkdir -p programs/bin - -cp rocklibc/rlibc.a programs/lib - -cd programs - -cd rocksh -make clean -bear -- make -cp rocksh.elf ../bin -cd .. - -cd vga_text_term -make clean -bear -- make -cp vga_text_term.elf ../bin -cd .. - -cd test -make clean -bear -- make -cp test.elf ../bin -cd .. - -cd .. \ No newline at end of file diff --git a/RockOS/clean.sh b/RockOS/clean.sh deleted file mode 100755 index 9b3b751..0000000 --- a/RockOS/clean.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -cd rocklibc -make clean -cd .. - -cd programs/rocksh -make clean -cd ../.. - -make clean - -cd initrd -rm -rf output -rm *.elf -cd .. - -rm *.img \ No newline at end of file diff --git a/RockOS/compile_commands.json b/RockOS/compile_commands.json deleted file mode 100644 index cf84c6b..0000000 --- a/RockOS/compile_commands.json +++ /dev/null @@ -1,631 +0,0 @@ -[ - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/globals.c.o", - "kernel/globals.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/globals.c", - "output": "/home/slinky/source/RockOS/obj/kernel/globals.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/vfs.c.o", - "kernel/vfs.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/vfs.c", - "output": "/home/slinky/source/RockOS/obj/kernel/vfs.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/kmain.c.o", - "kernel/kmain.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/kmain.c", - "output": "/home/slinky/source/RockOS/obj/kernel/kmain.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/pic/pic.c.o", - "kernel/drivers/pic/pic.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/pic/pic.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/pic/pic.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/serial/serial.c.o", - "kernel/drivers/serial/serial.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/serial/serial.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/serial/serial.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/devfs/devfs.c.o", - "kernel/drivers/devfs/devfs.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/devfs/devfs.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/devfs/devfs.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/cpio/cpio.c.o", - "kernel/drivers/cpio/cpio.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/cpio/cpio.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/cpio/cpio.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/pty/pty.c.o", - "kernel/drivers/pty/pty.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/pty/pty.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/pty/pty.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/vga/vga.c.o", - "kernel/drivers/vga/vga.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/vga/vga.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/vga/vga.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/ide/ide.c.o", - "kernel/drivers/ide/ide.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/ide/ide.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/ide/ide.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/ps2/ps2.c.o", - "kernel/drivers/ps2/ps2.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/ps2/ps2.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/ps2/ps2.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/iso/iso.c.o", - "kernel/drivers/iso/iso.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/iso/iso.c", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/iso/iso.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/gdt.c.o", - "kernel/gdt.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/gdt.c", - "output": "/home/slinky/source/RockOS/obj/kernel/gdt.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/memory/mm.c.o", - "kernel/memory/mm.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/memory/mm.c", - "output": "/home/slinky/source/RockOS/obj/kernel/memory/mm.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/kbd.c.o", - "kernel/kbd.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/kbd.c", - "output": "/home/slinky/source/RockOS/obj/kernel/kbd.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/multiboot.c.o", - "kernel/multiboot.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/multiboot.c", - "output": "/home/slinky/source/RockOS/obj/kernel/multiboot.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/interrupts.c.o", - "kernel/interrupts.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/interrupts.c", - "output": "/home/slinky/source/RockOS/obj/kernel/interrupts.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/elf.c.o", - "kernel/elf.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/elf.c", - "output": "/home/slinky/source/RockOS/obj/kernel/elf.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/syscall.c.o", - "kernel/syscall.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/syscall.c", - "output": "/home/slinky/source/RockOS/obj/kernel/syscall.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/memory.c.o", - "kernel/lib/memory.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/memory.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/memory.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/print.c.o", - "kernel/lib/print.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/print.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/print.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/ringbuf.c.o", - "kernel/lib/ringbuf.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/ringbuf.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/ringbuf.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/tasks.c.o", - "kernel/lib/tasks.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/tasks.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/tasks.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/console.c.o", - "kernel/lib/console.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/console.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/console.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/strtok.c.o", - "kernel/lib/strtok.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/strtok.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/strtok.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/lib/font.c.o", - "kernel/lib/font.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/lib/font.c", - "output": "/home/slinky/source/RockOS/obj/kernel/lib/font.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/scheduler.c.o", - "kernel/scheduler.c" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/scheduler.c", - "output": "/home/slinky/source/RockOS/obj/kernel/scheduler.c.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/syscall.S.o", - "kernel/syscall.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/syscall.S", - "output": "/home/slinky/source/RockOS/obj/kernel/syscall.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/common.S.o", - "kernel/common.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/common.S", - "output": "/home/slinky/source/RockOS/obj/kernel/common.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/pic/pic.S.o", - "kernel/drivers/pic/pic.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/pic/pic.S", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/pic/pic.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/pit/pit.S.o", - "kernel/drivers/pit/pit.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/pit/pit.S", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/pit/pit.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/drivers/ps2/ps2.S.o", - "kernel/drivers/ps2/ps2.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/drivers/ps2/ps2.S", - "output": "/home/slinky/source/RockOS/obj/kernel/drivers/ps2/ps2.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/memory/mm.S.o", - "kernel/memory/mm.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/memory/mm.S", - "output": "/home/slinky/source/RockOS/obj/kernel/memory/mm.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/boot/boot.S.o", - "kernel/boot/boot.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/boot/boot.S", - "output": "/home/slinky/source/RockOS/obj/kernel/boot/boot.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/scheduler.S.o", - "kernel/scheduler.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/scheduler.S", - "output": "/home/slinky/source/RockOS/obj/kernel/scheduler.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/gdt.S.o", - "kernel/gdt.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/gdt.S", - "output": "/home/slinky/source/RockOS/obj/kernel/gdt.S.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-c", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Ikernel", - "-o", - "obj/kernel/interrupts.S.o", - "kernel/interrupts.S" - ], - "directory": "/home/slinky/source/RockOS", - "file": "/home/slinky/source/RockOS/kernel/interrupts.S", - "output": "/home/slinky/source/RockOS/obj/kernel/interrupts.S.o" - } -] diff --git a/RockOS/grub.cfg b/RockOS/grub.cfg deleted file mode 100644 index 6f80d8b..0000000 --- a/RockOS/grub.cfg +++ /dev/null @@ -1,4 +0,0 @@ -menuentry "RockOS" { - multiboot /boot/rockos/ - module /boot/initrd.img -} \ No newline at end of file diff --git a/RockOS/initrd/fonts/cp850-8x16.psf b/RockOS/initrd/fonts/cp850-8x16.psf deleted file mode 100644 index 7539f61..0000000 Binary files a/RockOS/initrd/fonts/cp850-8x16.psf and /dev/null differ diff --git a/RockOS/kernel/boot/boot.S b/RockOS/kernel/boot/boot.S deleted file mode 100644 index e0e0fc1..0000000 --- a/RockOS/kernel/boot/boot.S +++ /dev/null @@ -1,69 +0,0 @@ -.set ALIGN, 1<<0 -.set MEMINFO, 1<<1 -.set GRAPHICS, 1<<2 - -.set FLAGS, ALIGN | MEMINFO | GRAPHICS -.set MAGIC, 0x1BADB002 -.set CHECKSUM, -(MAGIC + FLAGS) - -.section .multiboot, "a" - .align 4 - .long MAGIC - .long FLAGS - .long CHECKSUM - - .long 0 /* header_addr */ - .long 0 /* load_addr */ - .long 0 /* load_end_addr */ - .long 0 /* bss_end_addr */ - .long 0 /* entry_addr */ - - .long 0 /* Mode Type: 0 = Linear Framebuffer, 1 = Standard EGA Text */ - .long 1024 /* Width (Pixels) */ - .long 768 /* Height (Pixels) */ - .long 32 /* Color Depth (Bits Per Pixel) */ - -.section .text -.global _start -_start: - cli - - mov $(page_directory - 0xC0000000), %ecx - - mov %cr4, %edx - or $0x00000010, %edx - mov %edx, %cr4 - - mov %ecx, %cr3 - - mov %cr0, %edx - or $0x80000000, %edx - mov %edx, %cr0 - - lea higher, %ecx - jmp *%ecx -higher: - mov $stack_top, %esp - mov $0xC0000000, %eax - add %eax, %ebx - push %ebx - call kmain -loop: - hlt - jmp loop - -.section .bss -.align 16 -stack_bottom: -.skip 16384 # 16 KiB -stack_top: - -.section .data, "a" -.align 4096 -.global page_directory -page_directory: - .long 0x00000083 - .skip 3068 - .long 0x00000083 - .skip 1016 - .long (page_directory - 0xC0000000) + 0x03 \ No newline at end of file diff --git a/RockOS/kernel/common.S b/RockOS/kernel/common.S deleted file mode 100644 index aefd570..0000000 --- a/RockOS/kernel/common.S +++ /dev/null @@ -1,133 +0,0 @@ -.code32 -.section .text - -.global disable_interrupts -disable_interrupts: - cli - ret - -.global enable_interrupts -enable_interrupts: - sti - ret - -.global io_wait -io_wait: - outb %al, $0x80 - ret - -.global liftoff -liftoff: - cli - - mov 4(%esp), %ecx - mov 8(%esp), %ebx - - mov $0x23, %ax - mov %ax, %ds - mov %ax, %es - mov %ax, %fs - mov %ax, %gs - - pushl $0x23 # User Data Segment (SS) - pushl %ebx # User Stack Pointer (ESP) - pushl $0x202 # EFLAGS (Interrupts enabled, bit 1 standard) - pushl $0x1B # User Code Segment (CS) - pushl %ecx # User Entry Point (EIP) - - xor %eax, %eax - xor %ebx, %ebx - xor %ecx, %ecx - xor %edx, %edx - xor %esi, %esi - xor %edi, %edi - xor %ebp, %ebp - - iret - -.global outb -outb: - push %ebp - mov %esp, %ebp - - # 8(%ebp) port - # 12(%ebp) data - mov 8(%ebp), %edx - mov 12(%ebp), %eax - outb %al, %dx - - leave - ret - -.global inb -inb: - push %ebp - mov %esp, %ebp - - # 8(%ebp) port - mov 8(%ebp), %edx - xor %eax, %eax - inb %dx, %al - - leave - ret - -.global insw -insw: - push %ebp - mov %esp, %ebp - - push %edi - push %ecx - push %edx - - # 8(%ebp) addr - # 12(%ebp) buf - # 16(%ebp) sz - mov 8(%ebp), %edx - mov 12(%ebp), %edi - mov 16(%ebp), %ecx - - cld - rep insw - - pop %edx - pop %ecx - pop %edi - leave - ret - -.global outsw -outsw: - push %ebp - mov %esp, %ebp - - push %esi - push %ecx - push %edx - - # 8(%ebp) address - # 12(%ebp) buf - # 16(%ebp) sz - mov 8(%ebp), %edx - mov 12(%ebp), %esi - mov 16(%ebp), %ecx - - cld - rep outsw - - pop %edx - pop %ecx - pop %esi - leave - ret - -.global fetch_cr3 -fetch_cr3: - mov %cr3, %eax - ret - -.global kpanic -kpanic: - cli - hlt \ No newline at end of file diff --git a/RockOS/kernel/common.h b/RockOS/kernel/common.h deleted file mode 100644 index 466901c..0000000 --- a/RockOS/kernel/common.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef KCOMMON_H -#define KCOMMON_H - -#include - -void enable_interrupts(); -void disable_interrupts(); -uint32_t fetch_cr3(); - -void kpanic(); - -void liftoff(uint32_t entry_point, uint32_t user_stack) __attribute__((noreturn)); - -uint8_t inb(uint16_t port); -void outb(uint16_t port, uint8_t data); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/cpio/cpio.c b/RockOS/kernel/drivers/cpio/cpio.c deleted file mode 100644 index 53dfbd6..0000000 --- a/RockOS/kernel/drivers/cpio/cpio.c +++ /dev/null @@ -1,125 +0,0 @@ -#include - -#include -#include -#include - -#define MAX_INITRD_FILES 64 - -static uint32_t parse_hex_ascii(const char *str, int len) { - uint32_t result = 0; - for (int i = 0; i < len; i++) { - result <<= 4; - if (str[i] >= '0' && str[i] <= '9') result |= (str[i] - '0'); - else if (str[i] >= 'A' && str[i] <= 'F') result |= (str[i] - 'A' + 10); - else if (str[i] >= 'a' && str[i] <= 'f') result |= (str[i] - 'a' + 10); - } - return result; -} - -static vfs_node_t* cpio_find(vfs_node_t* _dir, const char* name) { - if (strcmp(name, "tvga") == 0) { - kprintf("looking for tvga\n"); - } - if (!(_dir->flags & VFS_DIRECTORY)) return NULL; - vfs_node_t* root = _dir; - if (_dir->mnt) { - root = _dir->mnt; - } - - vfs_node_t* child = root->first_child; - while (child != NULL) { - if (strcmp(child->name, name) == 0) { - return child; - } - child = child->next_sibling; - } - - return NULL; -} - -static uint32_t cpio_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer) { - if (offset >= node->size) return 0; - if (offset + size > node->size) { - size = node->size - offset; - } - memcpy((uint8_t*)(node->data) + offset, buffer, size); - return size; -} - -static vfs_node_t* cpio_find_or_create(vfs_node_t* root_node, const char* path) { - vfs_node_t* current = root_node; - - char path_cpy[256]; - strcpy(path_cpy, path); - - char* sav = NULL; - char* tkn = strtok_r(path_cpy, "/", &sav); - - while (tkn != NULL) { - vfs_node_t* next_node = cpio_find(current, tkn); - if (!next_node) { - next_node = kalloc(sizeof(vfs_node_t)); - memset((void*)next_node, 0, sizeof(vfs_node_t)); - - strcpy(next_node->name, tkn); - next_node->flags = VFS_DIRECTORY; - next_node->find = cpio_find; - - next_node->next_sibling = current->first_child; - current->first_child = next_node; - } - - current = next_node; - tkn = strtok_r(NULL, "/", &sav); - } - - return current; -} - -vfs_node_t* cpio_read_fs(uint32_t _vaddr) { - cpio_header_t* header = (cpio_header_t*)_vaddr; - - vfs_node_t* cpio_root = kalloc(sizeof(vfs_node_t)); - memset((uint8_t*)cpio_root, 0, sizeof(vfs_node_t)); - strcpy(cpio_root->name, "cpio_root"); - cpio_root->flags = VFS_DIRECTORY; - cpio_root->find = cpio_find; - - while (1) { - if (strncmp(header->c_magic, "070701", 6) != 0 && - strncmp(header->c_magic, "070702", 6) != 0) { - break; - } - - uint32_t namesize = parse_hex_ascii(header->c_namesize, 8); - uint32_t filesize = parse_hex_ascii(header->c_filesize, 8); - uint32_t mode = parse_hex_ascii(header->c_mode, 8); - char* filename = (char*)header + sizeof(cpio_header_t); - - if (strcmp(filename, "TRAILER!!!") == 0) { - break; - } - - uint32_t file_data_offset = (sizeof(cpio_header_t) + namesize + 3) & ~3; - uint8_t* file_data = (uint8_t*)header + file_data_offset; - - if (strcmp(".", filename) != 0) { - vfs_node_t* current = cpio_find_or_create(cpio_root, filename); - if ((mode & 0xF000) == 0x4000) { - current->flags = VFS_DIRECTORY; - current->find = cpio_find; - } else { - current->flags = VFS_FILE; - current->size = filesize; - current->data = file_data; - current->read = cpio_read; - } - } - - uint32_t next_header_offset = (file_data_offset + filesize + 3) & ~3; - header = (cpio_header_t*)((uint8_t*)header + next_header_offset); - } - - return cpio_root; -} \ No newline at end of file diff --git a/RockOS/kernel/drivers/cpio/cpio.h b/RockOS/kernel/drivers/cpio/cpio.h deleted file mode 100644 index c9797a0..0000000 --- a/RockOS/kernel/drivers/cpio/cpio.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef D_CPIO_H -#define D_CPIO_H - -#include - -typedef struct { - char c_magic[6]; // "070701" or "070702" - char c_ino[8]; - char c_mode[8]; // File type & permissions - char c_uid[8]; - char c_gid[8]; - char c_nlink[8]; - char c_mtime[8]; - char c_filesize[8]; // File size in hex ASCII - char c_devmajor[8]; - char c_devminor[8]; - char c_rdevmajor[8]; - char c_rdevminor[8]; - char c_namesize[8]; // Length of filename in hex ASCII - char c_check[8]; -} __attribute__((packed)) cpio_header_t; - -vfs_node_t* cpio_read_fs(uint32_t _vaddr); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/devfs/devfs.c b/RockOS/kernel/drivers/devfs/devfs.c deleted file mode 100644 index 4ee814c..0000000 --- a/RockOS/kernel/drivers/devfs/devfs.c +++ /dev/null @@ -1,40 +0,0 @@ -#include "vfs.h" -#include - -#include -#include -#include - -static vfs_node_t* devfs_find(vfs_node_t* parent, const char* name) { - vfs_node_t* cur = parent->first_child; - if (!cur) return NULL; - - while (cur) { - if (strcmp(cur->name, name) == 0) break; - cur = cur->next_sibling; - } - - return cur; -} - -static vfs_node_t* devfs_create(vfs_node_t* parent, const char* name) { - vfs_node_t* node = kalloc(sizeof(vfs_node_t*)); - memset((void*)node, 0, sizeof(vfs_node_t)); - strcpy(node->name, name); - node->flags = VFS_CHARDEVICE; - if (parent->first_child) { - node->next_sibling = parent->first_child; - } - parent->first_child = node; - return node; -} - -vfs_node_t* create_devfs() { - vfs_node_t* root = kalloc(sizeof(vfs_node_t*)); - memset((void*)root, 0, sizeof(vfs_node_t)); - strcpy(root->name, "dev"); - root->find = devfs_find; - root->flags = VFS_DIRECTORY; - root->create = devfs_create; - return root; -} \ No newline at end of file diff --git a/RockOS/kernel/drivers/devfs/devfs.h b/RockOS/kernel/drivers/devfs/devfs.h deleted file mode 100644 index 1d03d11..0000000 --- a/RockOS/kernel/drivers/devfs/devfs.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef D_DEVFS_H -#define D_DEVFS_H - -#include - -vfs_node_t* create_devfs(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/ide/ide.c b/RockOS/kernel/drivers/ide/ide.c deleted file mode 100644 index 4e9ca6a..0000000 --- a/RockOS/kernel/drivers/ide/ide.c +++ /dev/null @@ -1,241 +0,0 @@ -#include "ide.h" - -#include "lib/print.h" - -#include -#include - -extern uint8_t inb(uint16_t port); -extern void outb(uint16_t port, uint8_t data); - -extern void insw(uint32_t address, void* buf, uint32_t sz); -extern void outsw(uint32_t address, void* buf, uint32_t sz); - -uint8_t selected_drive_primary = 0; -uint8_t selected_drive_secondary = 0; - -uint8_t ide_info_buffer[512]; - -ide_device_t ide_devices[4]; - -static void fix_ata_string(char* buf, size_t sz) { - if ((sz % 2) != 0) return; - for (size_t i = 0; i < sz; i += 2) { - char tmp = buf[i]; - buf[i] = buf[i + 1]; - buf[i + 1] = tmp; - } - buf[sz-1] = '\0'; -} - -static uint16_t fetch_ctrl_reg(uint16_t bus) { - if (bus == IDE_PRIMARY_IO_BASE) return IDE_PRIMARY_CRTL_BASE; - if (bus == IDE_SECONDARY_IO_BASE) return IDE_SECONDARY_CRTL_BASE; - return 0; -} - -static void ata_delay(uint16_t bus) { - uint16_t ctrl = fetch_ctrl_reg(bus); - for (int i = 0; i < 5; i++) { - inb(ctrl); - } -} - -static int wait_not_bsy_drq(uint16_t bus) { - ata_delay(bus); - - int timeout = 10000; - int error = 0; - while(timeout--) { - uint16_t ctrl = fetch_ctrl_reg(bus); - uint8_t stat = inb(ctrl); - if (stat & STATUS_REG_ERR) error = 1; break; - if (!(stat & STATUS_REG_BSY)) break; - } - - if (timeout == 0 || error) { - return 1; - } - - return 0; -} - -static int select_drive(uint16_t bus, uint8_t drive) { - if (bus == IDE_PRIMARY_IO_BASE && selected_drive_primary == drive) { - return 1; - } - - if (bus == IDE_SECONDARY_IO_BASE && selected_drive_secondary == drive) { - return 1; - } - - uint16_t ctrl_reg = fetch_ctrl_reg(bus); - if (ctrl_reg == 0) { - return 0; - } - - // wait for bsy and drq clear - while (1) { - uint8_t status = inb(ctrl_reg + CTRL_ALT_STATUS_REG); - if (!(status & STATUS_REG_BSY) && !(status & STATUS_REG_DRQ)) { - break; - } - } - - outb(bus + IO_DRIVE_SELECT_REG, drive); - - ata_delay(bus); - - uint8_t status = inb(ctrl_reg + CTRL_ALT_STATUS_REG); - if (status & STATUS_REG_ERR) { - return 0; - } - - return 1; -} - -static void ident_device(uint16_t bus, uint8_t drive, uint32_t slot) { - ide_dev_type type = NO_DEVICE; - - uint8_t stat = inb(bus + IO_STATUS_REG); - if (stat == 0xFF) { - kprintf("no device on bus 0x%x\n", bus); - return; - } - - if (!select_drive(bus, drive)) { - kprintf("failed to select drive 0x%x on bus 0x%x\n", bus, drive); - return; - } - - outb(bus + IO_SECTOR_COUNT_REG, 0x00); - outb(bus + IO_LBA_LO_REG, 0x00); - outb(bus + IO_LBA_MID_REG, 0x00); - outb(bus + IO_LBA_HI_REG, 0x00); - // ident ata - outb(bus + IO_CMD_REG, ATA_CMD_IDENTIFY); - ata_delay(bus); - - stat = inb(bus + IO_STATUS_REG); - if (stat == 0x00) { - kprintf("no drive 0x%x on bus 0x%x\n", drive, bus); - return; - } - - int not_ata = 0; - int timeout = 10000; - while(timeout--) { - stat = inb(bus + IO_STATUS_REG); - if (stat & STATUS_REG_ERR) not_ata = 1; break; - if (!(stat & STATUS_REG_BSY) && (stat & STATUS_REG_DRQ)) type = ATA; break; - } - - if (timeout == 0) { - kprintf("drive 0x%x ident timed out on bus 0x%x\n", drive, bus); - return; - } - - if (not_ata) { - uint8_t mid = inb(bus + IO_LBA_MID_REG); - uint8_t hi = inb(bus + IO_LBA_HI_REG); - - if (mid != 0x14 || hi != 0xEB) { - return; - } - - type = ATAPI; - - // ident atapi - outb(bus + IO_CMD_REG, ATA_CMD_IDENTIFY_PACKET); - ata_delay(bus); - } - - - insw(bus + IO_DATA_REG, ide_info_buffer, 256); - - ide_devices[slot].bus = bus; - ide_devices[slot].device = drive; - ide_devices[slot].type = type; - ide_devices[slot].capabilities = *(uint16_t*)(ide_info_buffer + ATA_IDENT_CAPABILITIES); - ide_devices[slot].sig = *(uint16_t*)(ide_info_buffer + ATA_IDENT_DEVICETYPE); - ide_devices[slot].command_set = *(uint32_t*)(ide_info_buffer + ATA_IDENT_COMMANDSETS); - - if (ide_devices[slot].command_set & (1 << 26)) { - ide_devices[slot].size = *(uint32_t*)(ide_info_buffer + ATA_IDENT_MAX_LBA_EXT); - } else { - ide_devices[slot].size = *(uint32_t*)(ide_info_buffer + ATA_IDENT_MAX_LBA); - } -} - -static int atapi_read_sector(ide_device_t* dev, uint32_t lba, uint32_t sectors, void* buf) { - ide_device_t drive = *dev; - - // enable irqs - uint16_t ctrl_reg = fetch_ctrl_reg(drive.bus); - outb(ctrl_reg, 0x00); - - uint8_t pkt[12]; - pkt[ 0] = ATAPI_CMD_READ; - pkt[ 1] = 0x0; - pkt[ 2] = (lba >> 24) & 0xFF; - pkt[ 3] = (lba >> 16) & 0xFF; - pkt[ 4] = (lba >> 8) & 0xFF; - pkt[ 5] = (lba >> 0) & 0xFF; - pkt[ 6] = 0x0; - pkt[ 7] = 0x0; - pkt[ 8] = 0x0; - pkt[ 9] = sectors; - pkt[10] = 0x0; - pkt[11] = 0x0; - - if (!select_drive(drive.bus, drive.device)) { - return 0; - } - - outb(drive.bus + IO_FEATURE_REG, 0x00); // PIO mode - - uint32_t words = 1024; - outb(drive.bus + IO_LBA_MID_REG, (words * 2) & 0xFF); - outb(drive.bus + IO_LBA_HI_REG, (words * 2) >> 8); - - outb(drive.bus + IO_CMD_REG, ATA_CMD_PACKET); - - // poll for drq - int err = wait_not_bsy_drq(drive.bus); - if (err) { - return 0; - } - - outsw(drive.bus + IO_DATA_REG, pkt, 6); - - uint32_t ptr = (uint32_t)buf; - for (int i = 0; i < sectors; i++) { - err = wait_not_bsy_drq(drive.bus); - if (err) { - return 0; - } - - insw(drive.bus + IO_DATA_REG, (void*)ptr, 1024); - ptr += 2048; - } - - return 1; -} - -void scan_drives() { - ident_device(IDE_SECONDARY_IO_BASE, IDE_DRIVE_MASTER, 0); -} - -ide_device_t* get_ide_device(uint8_t slot) { - if (slot > 3) return NULL; - return &ide_devices[slot]; -} - -int ide_read_blks(ide_device_t* dev, uint32_t lba, uint32_t sectors, void* buf) { - if (dev->type == ATAPI) { - return atapi_read_sector(dev, lba, sectors, buf); - } - return 0; -} - - diff --git a/RockOS/kernel/drivers/ide/ide.h b/RockOS/kernel/drivers/ide/ide.h deleted file mode 100644 index fa44958..0000000 --- a/RockOS/kernel/drivers/ide/ide.h +++ /dev/null @@ -1,123 +0,0 @@ -#ifndef KATA_H -#define KATA_H - -#ifndef __ASSEMBLER__ -#include -#include -#endif - -#define IDE_PRIMARY_IO_BASE 0x01F0 -#define IDE_PRIMARY_CRTL_BASE 0x03F6 - -#define IDE_SECONDARY_IO_BASE 0x0170 -#define IDE_SECONDARY_CRTL_BASE 0x0376 - -#define IDE_DRIVE_MASTER 0xA0 -#define IDE_DRIVE_SLAVE 0xB0 - -#define IO_DATA_REG 0x0000 -#define IO_ERROR_REG 0x0001 -#define IO_FEATURE_REG 0x0001 -#define IO_SECTOR_COUNT_REG 0x0002 -#define IO_SECTOR_NUM_REG 0x0003 -#define IO_LBA_LO_REG 0x0003 -#define IO_CYL_LO_REG 0x0004 -#define IO_LBA_MID_REG 0x0004 -#define IO_LBA_HI_REG 0x0005 -#define IO_CYL_HI_REG 0x0005 -#define IO_DRIVE_SELECT_REG 0x0006 -#define IO_STATUS_REG 0x0007 -#define IO_CMD_REG 0x0007 - -#define CTRL_ALT_STATUS_REG 0x00 -#define CTRL_DEV_CTRL_REG 0x00 -#define CTRL_DRIVE_ADDR_REG 0x01 - -#define ERROR_REG_AMNF 0b00000001 // Address mark not found -#define ERROR_REG_TKZNF 0b00000010 // Track zero not found -#define ERROR_REG_ABRT 0b00000100 // Aborted command -#define ERROR_REG_MCR 0b00001000 // Media change request -#define ERROR_REG_IDNF 0b00010000 // ID not found -#define ERROR_REG_MC 0b00100000 // Media changed -#define ERROR_REG_UNC 0b01000000 // Uncorrectable data error -#define ERROR_REG_BBK 0b10000000 // Bad Block detected - -#define DRIVE_SELECT_REG_BN 0b00000111 -#define DRIVE_SELECT_REG_DRV 0b00010000 -#define DRIVE_SELECT_REG_LBA 0b01000000 - -#define STATUS_REG_ERR 0b00000001 -#define STATUS_REG_IDX 0b00000010 -#define STATUS_REG_CORR 0b00000100 -#define STATUS_REG_DRQ 0b00001000 -#define STATUS_REG_SRV 0b00010000 -#define STATUS_REG_DF 0b00100000 -#define STATUS_REG_RDY 0b01000000 -#define STATUS_REG_BSY 0b10000000 - -#define DEV_CTRL_REG_nIEN 0b00000010 -#define DEV_CTRL_REG_SRST 0b00000100 -#define DEV_CTRL_REG_HOB 0b10000000 - -#define DRIVE_ADDR_REG_DS0 0b00000001 -#define DRIVE_ADDR_REG_DS1 0b00000010 -#define DRIVE_ADDR_REG_HEAD 0b00111100 -#define DRIVE_ADDR_REG_WTG 0b01000000 - -#define ATA_CMD_READ_PIO 0x20 -#define ATA_CMD_READ_PIO_EXT 0x24 -#define ATA_CMD_READ_DMA 0xC8 -#define ATA_CMD_READ_DMA_EXT 0x25 -#define ATA_CMD_WRITE_PIO 0x30 -#define ATA_CMD_WRITE_PIO_EXT 0x34 -#define ATA_CMD_WRITE_DMA 0xCA -#define ATA_CMD_WRITE_DMA_EXT 0x35 -#define ATA_CMD_CACHE_FLUSH 0xE7 -#define ATA_CMD_CACHE_FLUSH_EXT 0xEA -#define ATA_CMD_PACKET 0xA0 -#define ATA_CMD_IDENTIFY_PACKET 0xA1 -#define ATA_CMD_IDENTIFY 0xEC - -#define ATAPI_CMD_READ 0xA8 -#define ATAPI_CMD_EJECT 0x1B - -#define ATA_IDENT_DEVICETYPE 0 -#define ATA_IDENT_CYLINDERS 2 -#define ATA_IDENT_HEADS 6 -#define ATA_IDENT_SECTORS 12 -#define ATA_IDENT_SERIAL 20 -#define ATA_IDENT_MODEL 54 -#define ATA_IDENT_MODEL_SZ 40 -#define ATA_IDENT_CAPABILITIES 98 -#define ATA_IDENT_FIELDVALID 106 -#define ATA_IDENT_MAX_LBA 120 -#define ATA_IDENT_COMMANDSETS 164 -#define ATA_IDENT_MAX_LBA_EXT 200 - -#ifndef __ASSEMBLER__ -typedef enum { - NO_DEVICE = 0, - ATA, - ATAPI, -} ide_dev_type; - - -typedef struct __attribute__((packed)) { - uint16_t bus; - uint8_t device; - ide_dev_type type; - uint16_t sig; - uint16_t capabilities; - uint32_t command_set; - char* serial; - char* model; - uint32_t size; -} ide_device_t; - -void scan_drives(); -ide_device_t* get_ide_device(uint8_t slot); -int ide_read_blks(ide_device_t* dev, uint32_t lba, uint32_t sectors, void* buf); - -#endif - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/iso/iso.c b/RockOS/kernel/drivers/iso/iso.c deleted file mode 100644 index 8feb243..0000000 --- a/RockOS/kernel/drivers/iso/iso.c +++ /dev/null @@ -1,59 +0,0 @@ -#include "iso.h" - -#include "drivers/ide/ide.h" - -#include "lib/print.h" -#include "lib/memory.h" - -uint8_t sector_buf[2048]; -void read_iso(ide_device_t* dev) { - int success = ide_read_blks(dev, 16, 1, sector_buf); - if (!success) { - kprintf("Failed to read PVD\n"); - return; - } - - if (sector_buf[0] != 1) { - kprintf("Couldn't find PVD in sector 0x10\n"); - return; - } - - iso_pvd_t* pvd = (iso_pvd_t*)sector_buf; - - char pvd_identifier[6]; - memcpy(pvd->header.identifier, pvd_identifier, 5); - pvd_identifier[5] = 0; - - if (strcmp(pvd_identifier, "CD001") > 0) { - kprintf("Invalid PVD identifier\n"); - return; - } - - char volume_identifier[33]; - memset((uint8_t*)volume_identifier, 0, 33); - memcpy(&pvd->volume_ident[0], volume_identifier, 32); - - kprintf("Reading ISO Filesystem from CDROM Disk %s\n", volume_identifier); - - uint32_t lba_path_table = pvd->path_table_l_loc; - uint32_t path_table_sz = pvd->path_table_sz_le; - uint32_t sectors = path_table_sz / 2048; - if (sectors % 2048 > 0 || sectors == 0) { - sectors++; - } - - uint8_t path_table_sec[2048 * sectors]; - memset(path_table_sec, 0, 2048); - success = ide_read_blks(dev, lba_path_table, 1, path_table_sec); - if (!success) { - kprintf("could not read path table at lba 0x%x\n", lba_path_table); - return; - } - - iso_path_table_entry_t* path = (iso_path_table_entry_t*)path_table_sec; - while ((uint32_t)path - (uint32_t)path_table_sec < 2048) { - size_t entry_sz = sizeof(iso_path_table_entry_t) + (path->dir_ident_len - 1); - if (path->dir_ident_len % 2 > 0) entry_sz++; - path = (iso_path_table_entry_t*)((uint32_t)path + entry_sz); - } -} \ No newline at end of file diff --git a/RockOS/kernel/drivers/iso/iso.h b/RockOS/kernel/drivers/iso/iso.h deleted file mode 100644 index 11abdb2..0000000 --- a/RockOS/kernel/drivers/iso/iso.h +++ /dev/null @@ -1,65 +0,0 @@ -#ifndef KISO_H -#define KISO_H - -#include "drivers/ide/ide.h" - -typedef struct __attribute__((packed)) { - uint8_t type; - char identifier[5]; - uint8_t version; -} vd_header_t; - -typedef struct __attribute__((packed)) { - -} iso_dec_datetime_t; - -typedef struct __attribute__((packed)) { - vd_header_t header; - uint8_t unused; - uint8_t sys_ident[32]; - uint8_t volume_ident[32]; - uint8_t unused_1[8]; - uint32_t volume_space_sz_le; - uint32_t volume_space_sz_be; - uint8_t unused_2[32]; - uint16_t vol_set_sz_le; - uint16_t vol_set_sz_be; - uint16_t vol_seq_num_le; - uint16_t vol_seq_num_be; - uint16_t logical_blk_sz_le; - uint16_t logical_blk_sz_be; - uint32_t path_table_sz_le; - uint32_t path_table_sz_be; - uint32_t path_table_l_loc; - uint32_t opt_path_table_l_loc; - uint32_t path_table_m_loc; - uint32_t opt_path_table_m_loc; - uint8_t root_dir_entry[34]; - uint8_t vol_set_ident_strd[128]; - uint8_t publisher_ident_stra[128]; - uint8_t data_prep_ident_stra[128]; - uint8_t app_ident_stra[128]; - uint8_t copyright_ident_strd[37]; - uint8_t abs_file_ident_strd[37]; - uint8_t bib_file_ident_strd[37]; - iso_dec_datetime_t vol_creation_datetime; - iso_dec_datetime_t vol_modif_datetime; - iso_dec_datetime_t vol_expr_datetime; - iso_dec_datetime_t vol_effective_datetime; - uint8_t file_struct_version; - uint8_t unused_3; - uint8_t app_reserved[512]; - uint8_t reserved[653]; -} iso_pvd_t; - -typedef struct __attribute__((packed)) { - uint8_t dir_ident_len; - uint8_t ext_attrib_len; - uint32_t location; - uint16_t parent_idx; - uint8_t dir_ident_start; -} iso_path_table_entry_t; - -void read_iso(ide_device_t* dev); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/pic/pic.S b/RockOS/kernel/drivers/pic/pic.S deleted file mode 100644 index 38d2870..0000000 --- a/RockOS/kernel/drivers/pic/pic.S +++ /dev/null @@ -1,70 +0,0 @@ -#define PIC1_ADDR 0x20 + 0xC0000000 -#define PIC2_ADDR 0xA0 + 0xC0000000 -#define PIC1_COMMAND PIC1_ADDR -#define PIC1_DATA (PIC1_ADDR+1) -#define PIC2_COMMAND PIC2_ADDR -#define PIC2_DATA (PIC2_ADDR+1) -#define PIC_EOI 0x20 - -.code32 - -.global init_pic -init_pic: - # init command - mov $0x11, %al - outb %al, $PIC1_COMMAND - outb %al, $PIC2_COMMAND - - # vector offsets - mov $0x20, %al - outb %al, $PIC1_DATA - mov $0x28, %al - outb %al, $PIC2_DATA - - # cascade - mov $0x04, %al - outb %al, $PIC1_DATA - mov $0x02, %al - outb %al, $PIC2_DATA - - # env - mov $0x01, %al - outb %al, $PIC1_DATA - outb %al, $PIC2_DATA - - # mask - mov $0xF8, %al - outb %al, $PIC1_DATA - mov $0xFF, %al - outb %al, $PIC2_DATA - - ret - -.global send_eoi_master -send_eoi_master: - mov $0x20, %al - outb %al, $PIC1_COMMAND - ret - -.global send_eoi_slave -send_eoi_slave: - mov $0x20, %al - outb %al, $PIC2_COMMAND - call send_eoi_master - ret - -.global read_isr_master -read_isr_master: - xorl %eax, %eax - mov $0x0B, %al - outb %al, $PIC1_COMMAND - in $PIC1_COMMAND, %al - ret - -.global read_isr_slave -read_isr_slave: - xorl %eax, %eax - mov $0x0B, %al - outb %al, $PIC2_COMMAND - in $PIC2_COMMAND, %al - ret \ No newline at end of file diff --git a/RockOS/kernel/drivers/pic/pic.c b/RockOS/kernel/drivers/pic/pic.c deleted file mode 100644 index e69de29..0000000 diff --git a/RockOS/kernel/drivers/pic/pic.h b/RockOS/kernel/drivers/pic/pic.h deleted file mode 100644 index 07d008f..0000000 --- a/RockOS/kernel/drivers/pic/pic.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef DPIC_H -#define DPIC_H - -void init_pic(); - -void send_eoi_master(); -void send_eoi_slave(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/pit/pit.S b/RockOS/kernel/drivers/pit/pit.S deleted file mode 100644 index 0271c60..0000000 --- a/RockOS/kernel/drivers/pit/pit.S +++ /dev/null @@ -1,13 +0,0 @@ -.code32 -.global init_pit -init_pit: - movb $0x36, %al - outb %al, $0x43 - - movb $0xA9, %al - outb %al, $0x40 - - movb $0x04, %al - outb %al, $0x40 - - ret \ No newline at end of file diff --git a/RockOS/kernel/drivers/pit/pit.h b/RockOS/kernel/drivers/pit/pit.h deleted file mode 100644 index 1e18b2d..0000000 --- a/RockOS/kernel/drivers/pit/pit.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef DPIT_H -#define DPIT_H - -void init_pit(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/ps2/ps2.S b/RockOS/kernel/drivers/ps2/ps2.S deleted file mode 100644 index 7691020..0000000 --- a/RockOS/kernel/drivers/ps2/ps2.S +++ /dev/null @@ -1,85 +0,0 @@ -#include "drivers/ps2/ps2.h" - -.code32 - -.global ps2_wait_input_empty -.global ps2_wait_output_full -.global ps2_write_command -.global ps2_read_data -.global ps2_write_data -.global ps2_flush_output_buffer - -# helpers -ps2_wait_input_empty: #(void) -> void - push %ebp - mov %esp, %ebp -1: - inb $PS2_STATUS, %al - andb $0x02, %al - jnz 1b - - leave - ret - -ps2_wait_output_full: #(void) -> void - push %ebp - mov %esp, %ebp -1: - inb $PS2_STATUS, %al - andb $0x01, %al - jz 1b - - leave - ret - -ps2_write_command: #(uint8_t command) -> void - push %ebp - mov %esp, %ebp - - call ps2_wait_input_empty - - xor %eax, %eax - movb 8(%ebp), %al - outb %al, $PS2_COMMAND - - leave - ret - -ps2_read_data: #(void) -> uint8_t - push %ebp - mov %esp, %ebp - - call ps2_wait_output_full - - xor %eax, %eax - inb $PS2_DATA, %al - - leave - ret - -ps2_write_data: #(uint8_t) -> void - push %ebp - mov %esp, %ebp - - call ps2_wait_input_empty - - xor %eax, %eax - movb 8(%ebp), %al - outb %al, $PS2_DATA - - leave - ret - - -ps2_flush_output_buffer: #(void) -> void - push %ebp - mov %esp, %ebp -1: - inb $PS2_STATUS, %al - andb $0x01, %al - jz 2f - inb $PS2_DATA, %al - jmp 1b -2: - leave - ret \ No newline at end of file diff --git a/RockOS/kernel/drivers/ps2/ps2.c b/RockOS/kernel/drivers/ps2/ps2.c deleted file mode 100644 index 7146eff..0000000 --- a/RockOS/kernel/drivers/ps2/ps2.c +++ /dev/null @@ -1,91 +0,0 @@ -#include - -#include - -static const char scancode_to_ascii[] = { - 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '-', '=', '\b', - '\t', 'q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', '[', ']', '\n', - 0, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', '\'', '`', 0, - '\\', 'z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '/', 0, '*', 0, ' ' -}; - -extern void ps2_wait_input_empty(void); -extern void ps2_wait_output_full(void); -extern void ps2_write_command(uint8_t); -extern void ps2_write_data(uint8_t); -extern void ps2_flush_output_buffer(void); -extern void io_wait(void); - -static uint8_t read_ccb() { - ps2_write_command(CMD_READ_CCB); - io_wait(); - return ps2_read_data(); -} - -static void write_ccb(uint8_t ccb) { - ps2_write_command(CMD_WRITE_CCB); - io_wait(); - ps2_write_data(ccb); - io_wait(); -} - -static int perform_self_test() { - ps2_write_command(CMD_SELF_TEST); - io_wait(); - return ps2_read_data(); -} - -static int test_port_1() { - ps2_write_command(CMD_TEST_P1); - io_wait(); - return ps2_read_data(); -} - -static void enable_port_1() { - ps2_write_command(CMD_ENABLE_P1); - io_wait(); -} - -int init_ps2() { - ps2_write_command(CMD_DISABLE_P1); - ps2_write_command(CMD_DISABLE_P2); - - ps2_flush_output_buffer(); - - uint8_t ccb = read_ccb(); - ccb = ccb & 0xEC; - write_ccb(ccb); - - int result = perform_self_test(); - if (result != SELF_TEST_SUCCESS) { - return -1; - } - - result = test_port_1(); - if (result != PORT_TEST_SUCCESS) { - return -1; - } - - enable_port_1(); - - ccb = read_ccb(); - ccb |= 0x01; // this enables interrupts for port 1, which we want - write_ccb(ccb); - - return 0; -} - -char ps2_get_ascii(uint8_t scancode) { - if (scancode & 0x80) { - return 0; - } - - if (scancode < sizeof(scancode_to_ascii)) { - char ascii = scancode_to_ascii[scancode]; - if (ascii != 0) { - return ascii; - } - } - - return 0; -} \ No newline at end of file diff --git a/RockOS/kernel/drivers/ps2/ps2.h b/RockOS/kernel/drivers/ps2/ps2.h deleted file mode 100644 index 607cf64..0000000 --- a/RockOS/kernel/drivers/ps2/ps2.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef KPS2_H -#define KPS2_H - -#define PS2_DATA 0x60 -#define PS2_STATUS 0x64 -#define PS2_COMMAND 0x64 - -#define CMD_DISABLE_P1 0xAD -#define CMD_DISABLE_P2 0xAE -#define CMD_READ_CCB 0x20 -#define CMD_WRITE_CCB 0x60 -#define CMD_SELF_TEST 0xAA -#define CMD_TEST_P1 0xAB -#define CMD_ENABLE_P1 0xAE - -#define SELF_TEST_SUCCESS 0x55 -#define PORT_TEST_SUCCESS 0x00 - -#ifndef __ASSEMBLER__ -#include - -int init_ps2(); -uint8_t ps2_read_data(); - -char ps2_get_ascii(uint8_t scancode); -#endif - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/pty/pty.c b/RockOS/kernel/drivers/pty/pty.c deleted file mode 100644 index cc9e8d3..0000000 --- a/RockOS/kernel/drivers/pty/pty.c +++ /dev/null @@ -1,65 +0,0 @@ -#include "lib/ringbuf.h" - -#include - -#include - -uint32_t pty_master_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer) { - pty_t* pty = (pty_t*)node->data; - uint32_t bytes_read = 0; - while (bytes_read < size) { - char c; - if (ring_buf_read(&pty->slave_rb, &c) == 0) { - buffer[bytes_read++] = c; - } else { - break; - } - } - return bytes_read; -} - -uint32_t pty_master_write(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer) { - pty_t* pty = (pty_t*)node->data; - uint32_t bytes_written = 0; - - while (bytes_written < size) { - if (ring_buf_write(&pty->master_rb, buffer[bytes_written]) == 0) { - bytes_written++; - ring_buf_write(&pty->slave_rb, buffer[bytes_written-1]); - } else { - break; - } - } - return bytes_written; -} - -uint32_t pty_slave_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer) { - pty_t* pty = (pty_t*)node->data; - uint32_t bytes_read = 0; - - while (bytes_read < size) { - char c; - if (ring_buf_read(&pty->master_rb, &c) == 0) { - buffer[bytes_read++] = c; - } else { - break; - } - } - - return bytes_read; -} - -uint32_t pty_slave_write(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer) { - pty_t* pty = (pty_t*)node->data; - uint32_t bytes_written = 0; - - while (bytes_written < size) { - if (ring_buf_write(&pty->slave_rb, buffer[bytes_written]) == 0) { - bytes_written++; - } else { - break; - } - } - - return bytes_written; -} \ No newline at end of file diff --git a/RockOS/kernel/drivers/pty/pty.h b/RockOS/kernel/drivers/pty/pty.h deleted file mode 100644 index 0127163..0000000 --- a/RockOS/kernel/drivers/pty/pty.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef KPTY_H -#define KPTY_H - -#include -#include -#include - -typedef struct { - -} wait_queue_t; - -typedef struct { - ring_buf_t master_rb; - ring_buf_t slave_rb; - wait_queue_t master_wq; - wait_queue_t slave_wq; - uint32_t flags; - uint32_t pid; -} pty_t; - -uint32_t pty_master_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); -uint32_t pty_master_write(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); - -uint32_t pty_slave_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); -uint32_t pty_slave_write(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/serial/serial.c b/RockOS/kernel/drivers/serial/serial.c deleted file mode 100644 index ec3f407..0000000 --- a/RockOS/kernel/drivers/serial/serial.c +++ /dev/null @@ -1,37 +0,0 @@ -#include -#include - -#define COM1 0x3F8 - -int is_transmit_empty() { - return inb(COM1 + 5) & 0x20; -} - -void write_serial(char a) { - while (is_transmit_empty() == 0); - outb(COM1, a); -} - -void print_serial(const char* str) { - for (int i = 0; str[i] != '\0'; i++) { - write_serial(str[i]); - } -} - -void print_serial_hex(uint32_t val) { - char hex_chars[] = "0123456789ABCDEF"; - print_serial("0x"); - for (int i = 28; i >= 0; i -= 4) { - write_serial(hex_chars[(val >> i) & 0x0F]); - } -} - -void init_serial() { - outb(COM1 + 1, 0x00); // Disable all interrupts - outb(COM1 + 3, 0x80); // Enable DLAB (set baud rate divisor) - outb(COM1 + 0, 0x01); // Set divisor to 1 (lo byte) -> 115200 baud - outb(COM1 + 1, 0x00); // (hi byte) - outb(COM1 + 3, 0x03); // 8 bits, no parity, one stop bit - outb(COM1 + 2, 0xC7); // Enable FIFO, clear them, with 14-byte threshold - outb(COM1 + 4, 0x0B); // IRQs enabled, RTS/DSR set -} diff --git a/RockOS/kernel/drivers/serial/serial.h b/RockOS/kernel/drivers/serial/serial.h deleted file mode 100644 index a8bb0de..0000000 --- a/RockOS/kernel/drivers/serial/serial.h +++ /dev/null @@ -1,12 +0,0 @@ -#ifndef D_SERIAL_H -#define D_SERIAL_H - -#include - -void init_serial(); -void print_serial_hex(uint32_t val); -void print_serial(const char* str); -void write_serial(char a); -int is_transmit_empty(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/drivers/vga/vga.c b/RockOS/kernel/drivers/vga/vga.c deleted file mode 100644 index 984e0cb..0000000 --- a/RockOS/kernel/drivers/vga/vga.c +++ /dev/null @@ -1,68 +0,0 @@ -#include -#include - -#include - -#include -#include - -static uint32_t framebuffer_address; -static uint32_t framebuffer_width; -static uint32_t framebuffer_height; -static uint32_t framebuffer_total_pixels; -static uint32_t framebuffer_pitch; -static uint32_t framebuffer_bpp; - -void vga_init( - uint32_t fb_paddr, - uint32_t fb_width, - uint32_t fb_height, - uint32_t fb_pitch, - uint8_t fb_bpp -) { - uint32_t fb_size_bytes = fb_height * fb_pitch; - uint32_t num_pages = (fb_size_bytes + 4095) / 4096; - for (uint32_t i = 0; i < num_pages; i++) { - uint32_t phys_addr = fb_paddr + (i * 4096); - uint32_t virt_addr = VGA_FRAMEBUFFER + (i * 4096); - map_page(virt_addr, phys_addr, PAGE_PRESENT | PAGE_WRITABLE); - } - - framebuffer_address = VGA_FRAMEBUFFER; - framebuffer_width = fb_width; - framebuffer_height = fb_height; - framebuffer_pitch = fb_pitch; - framebuffer_bpp = fb_bpp; - framebuffer_total_pixels = framebuffer_width * framebuffer_height; -} - -uint32_t vga_get_fb() { - return framebuffer_address; -} - -uint32_t vga_get_width() { - return framebuffer_width; -} - -uint32_t vga_get_height() { - return framebuffer_height; -} - -uint32_t vga_get_pitch() { - return framebuffer_pitch; -} - -uint8_t vga_get_bpp() { - return framebuffer_bpp; -} - -uint32_t vga_write(vfs_node_t* node, uint32_t offset, uint32_t size, uint8_t* buf) { - // probably just memcpy here - return size; -} - -void vga_clear_scrn(uint32_t color) { - for (uint32_t i = 0; i < framebuffer_total_pixels; i++) { - ((uint32_t*)framebuffer_address)[i] = color; - } -} \ No newline at end of file diff --git a/RockOS/kernel/drivers/vga/vga.h b/RockOS/kernel/drivers/vga/vga.h deleted file mode 100644 index 8740ef6..0000000 --- a/RockOS/kernel/drivers/vga/vga.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef DVGA_H -#define DVGA_H - -#include -#include - -#define VGA_FRAMEBUFFER 0xFF700000 - -enum vga_color { - VGA_COLOR_BLACK = 0, - VGA_COLOR_BLUE = 1, - VGA_COLOR_GREEN = 2, - VGA_COLOR_CYAN = 3, - VGA_COLOR_RED = 4, - VGA_COLOR_MAGENTA = 5, - VGA_COLOR_BROWN = 6, - VGA_COLOR_LIGHT_GREY = 7, - VGA_COLOR_DARK_GREY = 8, - VGA_COLOR_LIGHT_BLUE = 9, - VGA_COLOR_LIGHT_GREEN = 10, - VGA_COLOR_LIGHT_CYAN = 11, - VGA_COLOR_LIGHT_RED = 12, - VGA_COLOR_LIGHT_MAGENTA = 13, - VGA_COLOR_LIGHT_BROWN = 14, - VGA_COLOR_WHITE = 15, -}; - -void vga_init( - uint32_t fb_paddr, - uint32_t fb_width, - uint32_t fb_height, - uint32_t fb_pitch, - uint8_t fb_bpp -); - -uint32_t vga_get_fb(); -uint32_t vga_get_width(); -uint32_t vga_get_height(); -uint32_t vga_get_pitch(); -uint8_t vga_get_bpp(); - -uint32_t vga_write(vfs_node_t* node, uint32_t offset, uint32_t size, uint8_t* buf); - -void vga_clear_scrn(uint32_t color); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/elf.c b/RockOS/kernel/elf.c deleted file mode 100644 index 50f3ece..0000000 --- a/RockOS/kernel/elf.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "elf.h" -#include "vfs.h" -#include "memory/mm.h" -#include "process.h" -#include "scheduler.h" - -#include -#include - -uint32_t load_elf_program(const char* prgm) { - int fd = vfs_open(prgm, 0); - if (fd == -1) { - return 0; - } - - elf_header_t* e_hdr = kalloc(sizeof(elf_header_t)); - memset((void*)e_hdr, 0, sizeof(elf_header_t)); - - uint32_t bytes_rd = vfs_read(fd, e_hdr, sizeof(elf_header_t)); - if (bytes_rd <= 0) { - return 0; - } - - uint32_t ph_table_ptr = e_hdr->e_phoff; - elf_program_header_t* ph = kalloc(sizeof(elf_program_header_t)); - uint32_t heap_start = 0; - - for (uint32_t i = 0; i < e_hdr->e_phnum; i++) { - vfs_seek(fd, ph_table_ptr); - memset((void*)ph, 0, sizeof(elf_program_header_t)); - vfs_read(fd, ph, sizeof(elf_program_header_t)); - - if (ph->p_type == PT_LOAD) { - uint32_t vstart = ph->p_vaddr; - uint32_t vend = vstart + ph->p_memsz; - - if (vend > heap_start) { - heap_start = vend; - } - - uint32_t page_start = vstart & ~(PAGE_SIZE - 1); - uint32_t page_end = (vend + PAGE_SIZE - 1) & ~(PAGE_SIZE - 1); - - for (uint32_t v = page_start; v < page_end; v += PAGE_SIZE) { - void* phys_frame = p_alloc_frame(); - map_page(v, (uint32_t)phys_frame, PAGE_PRESENT | PAGE_WRITABLE | PAGE_USER); - } - - uint32_t data_ptr = ph->p_offset; - vfs_seek(fd, data_ptr); - vfs_read(fd, (void*)vstart, ph->p_filesz); - - // 0 out bss - if (ph->p_memsz > ph->p_filesz) { - size_t bss_size = ph->p_memsz - ph->p_filesz; - memset((void*)(vstart + ph->p_filesz), 0, bss_size); - } - } - - ph_table_ptr += sizeof(elf_program_header_t); - } - - uint32_t eip = e_hdr->e_entry; - kfree(ph); - kfree(e_hdr); - - return eip; -} diff --git a/RockOS/kernel/elf.h b/RockOS/kernel/elf.h deleted file mode 100644 index 524354f..0000000 --- a/RockOS/kernel/elf.h +++ /dev/null @@ -1,39 +0,0 @@ -#ifndef KELF_H -#define KELF_H - -#include - -#define ELF_MAGIC 0x464C457F -#define PT_LOAD 1 - -typedef struct { - uint8_t e_ident[16]; - uint16_t e_type; - uint16_t e_machine; - uint32_t e_version; - uint32_t e_entry; - uint32_t e_phoff; - uint32_t e_shoff; - uint32_t e_flags; - uint16_t e_ehsize; - uint16_t e_phentsize; - uint16_t e_phnum; - uint16_t e_shentsize; - uint16_t e_shnum; - uint16_t e_shstrndx; -} __attribute__((packed)) elf_header_t; - -typedef struct { - uint32_t p_type; - uint32_t p_offset; - uint32_t p_vaddr; - uint32_t p_paddr; - uint32_t p_filesz; - uint32_t p_memsz; - uint32_t p_flags; - uint32_t p_align; -} __attribute__((packed)) elf_program_header_t; - -uint32_t load_elf_program(const char* prgm); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/gdt.S b/RockOS/kernel/gdt.S deleted file mode 100644 index 09fddd3..0000000 --- a/RockOS/kernel/gdt.S +++ /dev/null @@ -1,21 +0,0 @@ -.code32 - -.extern gdtr -.global load_gdt -load_gdt: - lgdt gdtr - ljmpl $0x08, $reload_segments -reload_segments: - mov $0x10, %ax - mov %ax, %ds - mov %ax, %es - mov %ax, %fs - mov %ax, %gs - mov %ax, %ss - ret - -.global tss_flush -tss_flush: - mov $0x28, %ax - ltr %ax - ret \ No newline at end of file diff --git a/RockOS/kernel/gdt.c b/RockOS/kernel/gdt.c deleted file mode 100644 index 1b18673..0000000 --- a/RockOS/kernel/gdt.c +++ /dev/null @@ -1,114 +0,0 @@ -#include - -#define SEG_DESCTYPE(x) ((x) << 0x04) // Descriptor type (0 for system, 1 for code/data) -#define SEG_PRES(x) ((x) << 0x07) // Present -#define SEG_SAVL(x) ((x) << 0x0C) // Available for system use -#define SEG_LONG(x) ((x) << 0x0D) // Long mode -#define SEG_SIZE(x) ((x) << 0x0E) // Size (0 for 16-bit, 1 for 32) -#define SEG_GRAN(x) ((x) << 0x0F) // Granularity (0 for 1B - 1MB, 1 for 4KB - 4GB) -#define SEG_PRIV(x) (((x) & 0x03) << 0x05) // Set privilege level (0 - 3) - -#define SEG_DATA_RD 0x00 // Read-Only -#define SEG_DATA_RDA 0x01 // Read-Only, accessed -#define SEG_DATA_RDWR 0x02 // Read/Write -#define SEG_DATA_RDWRA 0x03 // Read/Write, accessed -#define SEG_DATA_RDEXPD 0x04 // Read-Only, expand-down -#define SEG_DATA_RDEXPDA 0x05 // Read-Only, expand-down, accessed -#define SEG_DATA_RDWREXPD 0x06 // Read/Write, expand-down -#define SEG_DATA_RDWREXPDA 0x07 // Read/Write, expand-down, accessed -#define SEG_CODE_EX 0x08 // Execute-Only -#define SEG_CODE_EXA 0x09 // Execute-Only, accessed -#define SEG_CODE_EXRD 0x0A // Execute/Read -#define SEG_CODE_EXRDA 0x0B // Execute/Read, accessed -#define SEG_CODE_EXC 0x0C // Execute-Only, conforming -#define SEG_CODE_EXCA 0x0D // Execute-Only, conforming, accessed -#define SEG_CODE_EXRDC 0x0E // Execute/Read, conforming -#define SEG_CODE_EXRDCA 0x0F // Execute/Read, conforming, accessed - -#define GDT_CODE_PL0 SEG_DESCTYPE(1) | SEG_PRES(1) | SEG_SAVL(0) | \ - SEG_LONG(0) | SEG_SIZE(1) | SEG_GRAN(1) | \ - SEG_PRIV(0) | SEG_CODE_EXRD - -#define GDT_DATA_PL0 SEG_DESCTYPE(1) | SEG_PRES(1) | SEG_SAVL(0) | \ - SEG_LONG(0) | SEG_SIZE(1) | SEG_GRAN(1) | \ - SEG_PRIV(0) | SEG_DATA_RDWR - -#define GDT_CODE_PL3 SEG_DESCTYPE(1) | SEG_PRES(1) | SEG_SAVL(0) | \ - SEG_LONG(0) | SEG_SIZE(1) | SEG_GRAN(1) | \ - SEG_PRIV(3) | SEG_CODE_EXRD - -#define GDT_DATA_PL3 SEG_DESCTYPE(1) | SEG_PRES(1) | SEG_SAVL(0) | \ - SEG_LONG(0) | SEG_SIZE(1) | SEG_GRAN(1) | \ - SEG_PRIV(3) | SEG_DATA_RDWR - -typedef struct __attribute__((packed)) { - uint16_t limit; - uint32_t base; -} gdt_ptr_t; - -uint64_t gdt[6]; -gdt_ptr_t gdtr; - -tss_entry_t tss; - -extern void load_gdt(); -extern void tss_flush(); - -static uint64_t create_descriptor(uint32_t base, uint32_t limit, uint16_t flag) -{ - uint64_t descriptor; - - descriptor = limit & 0x000F0000; - descriptor |= (flag << 8) & 0x00F0FF00; - descriptor |= (base >> 16) & 0x000000FF; - descriptor |= base & 0xFF000000; - - descriptor <<= 32; - - descriptor |= base << 16; - descriptor |= limit & 0x0000FFFF; - - return descriptor; -} - -static uint64_t create_tss_descriptor(uint32_t base, uint32_t limit) -{ - uint64_t descriptor; - uint16_t tss_flags = SEG_PRES(1) | SEG_PRIV(0) | SEG_DESCTYPE(0) | 0x09; - - descriptor = limit & 0x000F0000; - descriptor |= (tss_flags << 8) & 0x00F0FF00; - descriptor |= (base >> 16) & 0x000000FF; - descriptor |= base & 0xFF000000; - - descriptor <<= 32; - - descriptor |= base << 16; - descriptor |= limit & 0x0000FFFF; - - return descriptor; -} - -void init_gdt() { - gdt[0] = create_descriptor(0, 0, 0); - gdt[1] = create_descriptor(0, 0x000FFFFF, (GDT_CODE_PL0)); - gdt[2] = create_descriptor(0, 0x000FFFFF, (GDT_DATA_PL0)); - gdt[3] = create_descriptor(0, 0x000FFFFF, (GDT_CODE_PL3)); - gdt[4] = create_descriptor(0, 0x000FFFFF, (GDT_DATA_PL3)); - - for (uint32_t i = 0; i < sizeof(tss_entry_t); i++) { - ((char*)&tss)[i] = 0; - } - - tss.ss0 = 0x10; - tss.iomap_base = sizeof(tss_entry_t); - - gdt[5] = create_tss_descriptor((uint32_t)&tss, sizeof(tss_entry_t) - 1); - - gdtr.limit = 6 * sizeof(uint64_t) - 1; - gdtr.base = (uint32_t)&gdt; - - load_gdt(); - tss_flush(); -} - diff --git a/RockOS/kernel/gdt.h b/RockOS/kernel/gdt.h deleted file mode 100644 index f4338bb..0000000 --- a/RockOS/kernel/gdt.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef KGDT_H -#define KGDT_H - -#include - -typedef struct __attribute__((packed)) { - uint32_t prev_tss; - uint32_t esp0; - uint32_t ss0; - uint32_t esp1; - uint32_t ss1; - uint32_t esp2; - uint32_t ss2; - uint32_t cr3; - uint32_t eip; - uint32_t eflags; - uint32_t eax; - uint32_t ecx; - uint32_t edx; - uint32_t ebx; - uint32_t esp; - uint32_t ebp; - uint32_t esi; - uint32_t edi; - uint32_t es; - uint32_t cs; - uint32_t ss; - uint32_t ds; - uint32_t fs; - uint32_t gs; - uint32_t ldt; - uint16_t trap; - uint16_t iomap_base; -} tss_entry_t; - -void init_gdt(); -void tss_flush(); - -extern tss_entry_t tss; - -#endif \ No newline at end of file diff --git a/RockOS/kernel/globals.c b/RockOS/kernel/globals.c deleted file mode 100644 index f83e2de..0000000 --- a/RockOS/kernel/globals.c +++ /dev/null @@ -1,11 +0,0 @@ -#include - -#include "multiboot.h" - -multiboot_info* grub_boot_struct_ptr = NULL; - -extern char __kernel_start; -extern char __kernel_end; -size_t kernel_size() { - return (size_t)(&__kernel_end - &__kernel_start); -} \ No newline at end of file diff --git a/RockOS/kernel/interrupts.S b/RockOS/kernel/interrupts.S deleted file mode 100644 index c04a73f..0000000 --- a/RockOS/kernel/interrupts.S +++ /dev/null @@ -1,79 +0,0 @@ -.code32 -.macro ISR_NOERRCODE num -.global isr\num -isr\num: - pushl $0 - pushl $\num - jmp isr_common_stub -.endm - -.macro ISR_ERRCODE num -.global isr\num -isr\num: - pushl $\num - jmp isr_common_stub -.endm - -.extern common_interrupt_handler # interrupts.c -isr_common_stub: - pushal - - xor %eax, %eax - mov %ds, %ax - pushl %eax - - mov $0x10, %ax - mov %ax, %ds - mov %ax, %es - - pushl %esp - call common_interrupt_handler - addl $4, %esp - - popl %eax - mov %ax, %ds - mov %ax, %es - - popal - addl $8, %esp - iret - -.extern idtr -.global load_idt -load_idt: - lidt idtr - ret - -ISR_NOERRCODE 0 # Divide by Zero -ISR_NOERRCODE 1 # Debug -ISR_ERRCODE 8 # Double Fault (Has Error Code!) -ISR_ERRCODE 13 # General Protection Fault (Has Error Code!) -ISR_ERRCODE 14 # Page Fault (Has Error Code!) - -// This is a special case so we need to handle it for task switching -.global isr32 -.extern switch_context # scheduler.c -.extern send_eoi_master # drivers/pic/pic.S -isr32: - cli - pushal - push %ds - - mov $0x10, %ax - mov %ax, %ds - - pushl %esp - call switch_context - movl %eax, %esp - - call send_eoi_master - - pop %ds - popal - sti - iret - -ISR_NOERRCODE 33 # IRQ1 - Keyboard - -ISR_NOERRCODE 46 # IRQ14 -ISR_NOERRCODE 47 # IRQ15 \ No newline at end of file diff --git a/RockOS/kernel/interrupts.c b/RockOS/kernel/interrupts.c deleted file mode 100644 index 7209d46..0000000 --- a/RockOS/kernel/interrupts.c +++ /dev/null @@ -1,222 +0,0 @@ -#include - -#include - -#include - -#include "kbd.h" -#include "syscall.h" -#include "common.h" -#include "gdt.h" -#include "scheduler.h" -#include "process.h" - -#include -#include -#include - -#define IDT_MAX_DESCRIPTORS 256 -#define ATTR_KERN_32 0x8E // active(1), ring 0 (00), interrupt gate(0), 32 bit (1110) -#define ATTR_USER_32 0xEE // active, ring 3, 32bit -#define SEGMENT_KERN 0x08 - -typedef struct __attribute__((packed)) { - uint16_t isr_low; - uint16_t selector; - uint8_t reserved; - uint8_t attributes; - uint16_t isr_high; -} idt_entry; - -typedef struct __attribute__((packed)) { - uint16_t limit; - uint32_t base; -} idt_ptr; - -// (interrupts.S) -extern void load_idt(void); -extern void isr0(); -extern void isr1(); -extern void isr8(); -extern void isr13(); -extern void isr14(); -extern void isr32(); -extern void isr33(); - -static void* isr_stub_table[256] = { - [0] = isr0, - [1] = isr1, - [8] = isr8, - [13] = isr13, - [14] = isr14, - [32] = isr32, - [33] = isr33, -}; - -static const char* err_messages[32] = { - [0] = "Divide by 0", - [1] = "Debug", - [4] = "Overflow", - [6] = "Undefined Opcode", - [8] = "", - [13] = "General Protection Fault", - [14] = "Page Fault", -}; - -idt_entry idt[IDT_MAX_DESCRIPTORS]; -idt_ptr idtr; - -static void set_idtr(uint8_t vector, void* isr, uint16_t sel, uint8_t attributes) { - idt_entry* desc = &idt[vector]; - - desc->isr_low = (uint32_t)isr & 0xFFFF; - desc->selector = SEGMENT_KERN; - desc->reserved = 0; - desc->attributes = attributes; - desc->isr_high = ((uint32_t)isr >> 16) & 0xFFFF; -} - -void init_idt() { - idtr.limit = (sizeof(idt_entry) * IDT_MAX_DESCRIPTORS) - 1; - idtr.base = (uint32_t)&idt; - - for (int i = 0; i < IDT_MAX_DESCRIPTORS; i++) { - if (isr_stub_table[i] != 0) { - set_idtr(i, isr_stub_table[i], SEGMENT_KERN, ATTR_KERN_32); - } else { - set_idtr(i, 0, SEGMENT_KERN, ATTR_KERN_32); - } - } - - set_idtr(0x80, syscall_handler, SEGMENT_KERN, ATTR_USER_32); - - load_idt(); -} - -typedef struct __attribute__((packed)) { - uint32_t ds; - uint32_t edi, esi, ebp, dummy, ebx, edx, ecx, eax; - - uint32_t int_no; - uint32_t error_code; - - uint32_t eip, cs, eflags, u_esp, u_ss; -} intr_regs_t; -void common_interrupt_handler(intr_regs_t *args) { - switch (args->int_no) { - case 0: - case 1: - case 2: - case 3: - case 4: - case 5: - case 6: - case 7: - case 8: - case 9: - case 10: - case 11: - case 12: - case 13: - case 15: - case 16: { - process_t* task = current_task(); - kprintf("\n--- CPU Exception ---\n"); - kprintf("Current Task PID: %d\n", task->pid); - kprintf("Error: [%d] %s\n", args->int_no, err_messages[args->int_no]); - kprintf("Error Code: 0x%x\n", args->error_code); - kprintf("Instruction Pointer: 0x%x\n", args->eip); - kprintf("Current Stack Pointer: 0x%x\n", (void*)args); - kprintf("EAX: 0x%x\n", args->eax); - kprintf("EFLAGS: 0x%x\n", args->eflags); - kprintf("Code Segment: 0x%x\n", args->cs); - kprintf("Calling Data Segment: 0x%x\n", args->ds); - kprintf("Current cr3: 0x%x\n", fetch_cr3()); - kprintf("tss.esp0: 0x%x\n", tss.esp0); - kprintf("instruction: 0x%x\n", *(uint32_t*)args->eip); - kpanic(); - break; - } - case 14:{ - uint32_t faulting_address; - asm volatile("mov %%cr2, %0" : "=r"(faulting_address)); - - if (is_cow(faulting_address)) { - uint32_t pde_entry = faulting_address >> 22; - uint32_t pte_entry = (faulting_address >> 12) & 0x3FF; - uint32_t* tablev = (uint32_t*)(CUR_PAGE_TABLES + (pde_entry * PAGE_SIZE)); - - uint32_t p_dst = (uint32_t)p_alloc_frame(); - uint32_t p_src = (uint32_t)tablev[pte_entry] & 0xFFFFF000; - - map_page(TEMP_PT_SRC, p_src, PAGE_WRITABLE | PAGE_PRESENT); - map_page(TEMP_PT_DST, p_dst, PAGE_WRITABLE | PAGE_PRESENT); - - memcpy((void*)TEMP_PT_SRC, (void*)TEMP_PT_DST, PAGE_SIZE); - - unmap_page(TEMP_PT_SRC); - unmap_page(TEMP_PT_DST); - - uint32_t flags = tablev[pte_entry] & 0xFFF; - flags &= ~PAGE_COW; - tablev[pte_entry] = p_dst | flags | PAGE_WRITABLE; - - flush_tlb(); - break; - } - - process_t* task = current_task(); - kprintf("\n--- PAGE FAULT ---\n"); - kprintf("Current Task PID: %d\n", task->pid); - kprintf("Faulted Virtual Address: 0x%x\n", faulting_address); - kprintf("Error Code: 0x%x\n", args->error_code); - kprintf("Instruction Pointer: 0x%x\n", args->eip); - kprintf("Current Stack Pointer: 0x%x\n", (void*)args); - kprintf("EAX: 0x%x\n", args->eax); - kprintf("EFLAGS: 0x%x\n", args->eflags); - kprintf("Code Segment: 0x%x\n", args->cs); - kprintf("Current cr3: 0x%x\n", fetch_cr3()); - if (args->cs == 0x1b) { - kprintf("User ESP: 0x%x\n", args->u_esp); - kprintf("ESP: 0x%x\t0x%x\t0x%x\t0x%x\n", - *(uint32_t*)args->u_esp, - *(uint32_t*)(args->u_esp + 4), - *(uint32_t*)(args->u_esp + 8), - *(uint32_t*)(args->u_esp + 12)); - kprintf("User SS: 0x%x\n", args->u_ss); - } - kprintf("Caused by: %s, %s, running in %s mode\n", - (args->error_code & 0x01) ? "Protection Violation" : "Page Not Present", - (args->error_code & 0x02) ? "Write" : "Read", - (args->error_code & 0x04) ? "User" : "Supervisor"); - kpanic(); - break; - } - case 32: { - - break; - } - case 33: { - uint8_t data = ps2_read_data(); - char ascii = ps2_get_ascii(data); - if (ascii != 0) { - kbd_push(ascii); - } - send_eoi_master(); - break; - } - case 46: { // IDE PRIMARY - kprintf("IDE PRIMARY interrupt\n"); - send_eoi_slave(); - break; - } - case 47: { // IDE SLAVE - kprintf("IDE SLAVE interrupt\n"); - send_eoi_slave(); - break; - } - default: - kprintf("Received unhandled interrupt: %d\n", args->int_no); - return; - } -} \ No newline at end of file diff --git a/RockOS/kernel/interrupts.h b/RockOS/kernel/interrupts.h deleted file mode 100644 index 83ca29a..0000000 --- a/RockOS/kernel/interrupts.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef KIDT_H -#define KIDT_H - -void init_idt(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/kbd.c b/RockOS/kernel/kbd.c deleted file mode 100644 index 7e3a3d6..0000000 --- a/RockOS/kernel/kbd.c +++ /dev/null @@ -1,86 +0,0 @@ -#include "kbd.h" -#include "process.h" -#include "scheduler.h" -#include "common.h" - -#include -#include - -#include - -#define KBD_BUFFER_SIZE 256 - -static spinlock_t kbd_lock = {0}; -static process_t* kbd_waiting_task = NULL; - -static char kbd_buffer[KBD_BUFFER_SIZE]; -static int kbd_head = 0; -static int kbd_tail = 0; - -static void lock_kbd() { - disable_interrupts(); - spin_lock(&kbd_lock); -} - -static void unlock_kbd() { - spin_unlock(&kbd_lock); - enable_interrupts(); -} - -static void kbd_set_waiting(process_t* task) { - lock_kbd(); - if (kbd_head == kbd_tail) { - kbd_waiting_task = task; - } - unlock_kbd(); -} - -static char kbd_pop() { - char c = 0; - lock_kbd(); - if (kbd_head != kbd_tail) { - c = kbd_buffer[kbd_tail]; - kbd_tail = (kbd_tail + 1) % KBD_BUFFER_SIZE; - } - unlock_kbd(); - return c; -} - -void kbd_push(char c) { - spin_lock(&kbd_lock); - // push to buffer first, very important - int next_head = (kbd_head + 1) % KBD_BUFFER_SIZE; - if (next_head != kbd_tail) { - kbd_buffer[kbd_head] = c; - kbd_head = next_head; - } - - if (kbd_waiting_task != NULL) { - wake(kbd_waiting_task); - kbd_waiting_task = NULL; - } - spin_unlock(&kbd_lock); -} - -int kbd_ready() { - int ready = 0; - lock_kbd(); - ready = (kbd_head != kbd_tail); - unlock_kbd(); - return ready; -} - -void kbd_wait() { - process_t* task = current_task(); - while (!kbd_ready()) { - task->state = STATE_BLOCKED; - kbd_set_waiting(task); - yield(); - } -} - -uint32_t kbd_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer) { - if (!kbd_ready()) return -1; - buffer[0] = kbd_pop(); - return 1; -} \ No newline at end of file diff --git a/RockOS/kernel/kbd.h b/RockOS/kernel/kbd.h deleted file mode 100644 index d6019f1..0000000 --- a/RockOS/kernel/kbd.h +++ /dev/null @@ -1,9 +0,0 @@ -#pragma once - -#include -#include - -uint32_t kbd_read(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); -void kbd_push(char c); -int kbd_ready(); -void kbd_wait(); \ No newline at end of file diff --git a/RockOS/kernel/kmain.c b/RockOS/kernel/kmain.c deleted file mode 100644 index e9557d4..0000000 --- a/RockOS/kernel/kmain.c +++ /dev/null @@ -1,179 +0,0 @@ -#include "multiboot.h" -#include "interrupts.h" -#include "gdt.h" -#include "common.h" -#include "scheduler.h" -#include "vfs.h" -#include "elf.h" -#include "gdt.h" -#include "kbd.h" - -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include -#include - -extern char __kernel_start; -extern char __kernel_end; - -#define SERIAL_DBG - -extern uint32_t page_directory[1024]; -void* kernel_cr3 = page_directory; - -void parse_multiboot_modules(uint32_t mbi_vaddr) { - // find where grub put the boot module containing initrd - multiboot_info* mbi = (multiboot_info*)mbi_vaddr; - - uint32_t mod_count = mbi->mods_count; - multiboot_module_t* mod = (multiboot_module_t*)((uint32_t)mbi->mods_addr + 0xC0000000); - - for (uint32_t i = 0; i < mod_count; i++) { - uint32_t start = mod[i].mod_start; - uint32_t end = mod[i].mod_end; - uint32_t cmdline = mod[i].cmdline; - - multiboot_module_info_table[i].mod_start = start + 0xC0000000; - multiboot_module_info_table[i].mod_end = end + 0xC0000000; - multiboot_module_info_table[i].cmdline = cmdline + 0xC0000000; - } -} - -vfs_node_t* load_initrd() { - multiboot_module_t* initrd_module = &multiboot_module_info_table[0]; - kprintf("initrd found @ [v] 0x%x\n", initrd_module->mod_start); - return cpio_read_fs(initrd_module->mod_start); -} - -void load_root_program(const char* path) { - lock_scheduler(); - uint32_t kernel_cr3 = fetch_cr3(); - void* cr3 = create_new_pd(); - - load_pd(cr3); - flush_tlb(); - - uint32_t eip = load_elf_program(path); - if (eip == 0) { - kprintf("Failed to load elf program file\n"); - return; - } - - uint32_t stack_sz = PAGE_SIZE * 16; - uint32_t stack_top = 0xBFFF0000; - uint32_t stack_bottom = stack_top - stack_sz; - for (uint32_t vaddr = stack_bottom; vaddr < stack_top; vaddr += PAGE_SIZE) { - void* phys_frame = p_alloc_frame(); - map_page(vaddr, (uint32_t)phys_frame, PAGE_PRESENT | PAGE_WRITABLE | PAGE_USER); - } - - uint32_t* u_esp = (uint32_t*)stack_top; - *(--u_esp) = 0; // envp = NULL - *(--u_esp) = 0; // argv = NULL - *(--u_esp) = 0; // argc = 0 - - process_t* process = kalloc(sizeof(process_t)); - init_task(process, eip, (uint32_t)cr3, 1, (uint32_t)u_esp); - add_task(process); - - unlock_scheduler(); - - load_pd((void*)kernel_cr3); - flush_tlb(); -} - -void kmain(multiboot_info* mbi) { - disable_interrupts(); - - init_serial(); - - // need mmap and fb info - if (!(mbi->flags & (1 << 6)) || !(mbi->flags & (1 << 12))) { - return; - } - - parse_multiboot_modules((uint32_t)mbi); - - uint32_t vga_fb_address = mbi->framebuffer_addr; - uint32_t vga_fb_width = mbi->framebuffer_width; - uint32_t vga_fb_height = mbi->framebuffer_height; - uint32_t vga_fb_pitch = mbi->framebuffer_pitch; - uint32_t vga_fb_bpp = mbi->framebuffer_bpp; - - init_gdt(); - init_idt(); - init_pic(); - init_pit(); - - uint32_t mmap_virtual_addr = mbi->mmap_addr + 0xC0000000; - init_pmm((void*)mmap_virtual_addr, mbi->mmap_length); - - init_page_tables(); - - vga_init(vga_fb_address, - vga_fb_width, - vga_fb_height, - vga_fb_pitch, - vga_fb_bpp); - - console_init(); - return; - - set_console_font("/fonts/cp850-8x16.psf"); - - console_putchar('a'); - - kprintf("basic initializations complete\n"); - - - vfs_node_t* vfs_root = vfs_create_root(); - vfs_node_t* initrd_root = load_initrd(); - - if (!initrd_root) { - kprintf("failed to load initrd\n"); - } - - vfs_mount(vfs_root, initrd_root); - kprintf("initrd read, mounted @ /\n"); - - vfs_node_t* devfs = create_devfs(); - if (!devfs) { - kprintf("failed to create devfs\n"); - return; - } - - vfs_node_t* vga_dev = devfs->create(devfs, "vga"); - vga_dev->write = vga_write; - - vfs_node_t* kbd_dev = devfs->create(devfs, "kbd"); - kbd_dev->read = kbd_read; - - vfs_node_t* dev = vfs_find("/dev"); - if (dev) { - dev->mnt = devfs; - } - - disable_interrupts(); - init_scheduler(); - enable_interrupts(); - - kprintf("loading terminal program\n"); - load_root_program("/bin/vga_text_term.elf"); - - kprintf("kernel going to sleep...\n"); -} diff --git a/RockOS/kernel/lib/console.c b/RockOS/kernel/lib/console.c deleted file mode 100644 index 04df1fe..0000000 --- a/RockOS/kernel/lib/console.c +++ /dev/null @@ -1,73 +0,0 @@ -#include - -#include -#include - -static psf_font_t* font; - -static uint32_t console_row; -static uint32_t console_col; -static uint32_t console_text_color; -static uint32_t console_backgrnd_color; - -static uint32_t console_total_rows; -static uint32_t console_total_cols; - -static void write_vga_char(char c) { - uint32_t vga_pitch = vga_get_pitch(); - uint8_t* glyph = (uint8_t*)font->glyphs + (c * font->hdr->charsz); - - for (uint32_t y = 0; y < font->hdr->charsz; y++) { - uint8_t bits = glyph[y]; - uint32_t* row = (uint32_t*)((uintptr_t)VGA_FRAMEBUFFER + ((console_row + y) * vga_pitch)); - for (int x = 0; x < 8; x++) { - if (bits & (0b10000000 >> x)) { - row[console_col + x] = console_text_color; - } - } - } -} - -void set_console_font(const char* path) { - font = load_font(path); - - uint32_t scrn_height = vga_get_height(); - uint32_t scrn_width = vga_get_width(); - if (scrn_width == 0 || scrn_height == 0) return; - - console_total_rows = scrn_height / font->hdr->charsz; - console_total_cols = scrn_width / 8; -} - -void set_console_fg(uint32_t color) { - console_text_color = color; -} - -void set_console_bg(uint32_t color) { - console_backgrnd_color = color; -} - -void console_init() { - console_row = 0; - console_col = 0; - set_console_fg(0xFFFFFFFF); - set_console_bg(0x000000FF); - vga_clear_scrn(console_backgrnd_color); -} - -void console_putchar(char c) { - switch (c) { - case '\n': - console_row++; - console_col = 0; - - if (console_row >= console_total_rows) console_row = 0; - return; - } - - write_vga_char(c); - - console_col++; - if (console_col >= console_total_cols) console_row++; console_col = 0; - if (console_row >= console_total_rows) console_row = 0; -} \ No newline at end of file diff --git a/RockOS/kernel/lib/console.h b/RockOS/kernel/lib/console.h deleted file mode 100644 index 7587531..0000000 --- a/RockOS/kernel/lib/console.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef D_CONSOLE_H -#define D_CONSOLE_H - -#include - -void console_putchar(char c); - -void set_console_font(const char* path); -void set_console_fg(uint32_t color); -void set_console_bg(uint32_t color); -void console_init(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/lib/font.c b/RockOS/kernel/lib/font.c deleted file mode 100644 index e39ea6c..0000000 --- a/RockOS/kernel/lib/font.c +++ /dev/null @@ -1,44 +0,0 @@ -#include "vfs.h" -#include -#include - -#include - -psf_font_t* load_font(const char* path) { - int fd = vfs_open(path, 0); - if (fd == -1) { - return NULL; - } - - psf_hdr_t* header = kalloc(sizeof(psf_hdr_t)); - int rd = vfs_read(fd, header, sizeof(psf_hdr_t)); - if (rd <= 0) { - kfree(header); - return NULL; - } - - uint32_t num_glyphs = (header->mode & (1 << 0)) ? 512 : 256; - uint32_t glyph_sz = header->charsz; - uint32_t glyph_buf_sz = num_glyphs * glyph_sz; - - void* glyphs = kalloc(glyph_buf_sz); - - rd = 0; - rd = vfs_read(fd, glyphs, glyph_buf_sz); - if (rd <= 0) { - kfree(header); - kfree(glyphs); - return NULL; - } - - psf_font_t* font = kalloc(sizeof(psf_font_t)); - font->hdr = header; - font->glyphs = glyphs; - return font; -} - -void free_font(psf_font_t* font) { - kfree(font->glyphs); - kfree(font->hdr); - kfree(font); -} \ No newline at end of file diff --git a/RockOS/kernel/lib/font.h b/RockOS/kernel/lib/font.h deleted file mode 100644 index 5d69eb6..0000000 --- a/RockOS/kernel/lib/font.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef KFONT_H -#define KFONT_H - -#include - -typedef struct { - uint8_t magic[2]; - uint8_t mode; - uint8_t charsz; -} psf_hdr_t; - -typedef struct { - psf_hdr_t* hdr; - void* glyphs; -} psf_font_t; - -psf_font_t* load_font(const char* path); -void free_font(psf_font_t* font); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/lib/memory.c b/RockOS/kernel/lib/memory.c deleted file mode 100644 index 8a19e4c..0000000 --- a/RockOS/kernel/lib/memory.c +++ /dev/null @@ -1,141 +0,0 @@ -#include "lib/memory.h" -#include "memory/mm.h" - -#define KHEAP_START 0xE0000000 - -typedef struct __attribute__((packed)) { - size_t size; - uint8_t free; - void* next_blk; -} alloc_header_t; - -void memcpy(const void* src, void* dst, size_t sz) { - for (size_t i = 0; i < sz; i++) { - ((uint8_t*)dst)[i] = ((uint8_t*)src)[i]; - } -} - -void memset(uint8_t* dst, uint8_t val, size_t sz) { - for (size_t i = 0; i < sz; i++) { - ((uint8_t*)dst)[i] = val; - } -} - -int strcmp(const char* s1, const char* s2) { - while (*s1 && (*s1 == *s2)) { - s1++; - s2++; - } - return *(const uint8_t*)s1 - *(const uint8_t*)s2; -} - -int strlen(const char* str) { - int len = 0; - while(*str != 0) { - str++; - len++; - } - return len; -} - -int strncmp(const char *s1, const char *s2, size_t n) { - // If n is 0, we don't compare anything and strings are "equal" - while (n > 0) { - // If characters don't match, or we hit the null-terminator of s1 - if (*s1 != *s2) { - return *(unsigned char *)s1 - *(unsigned char *)s2; - } - - // If we reached the end of the strings simultaneously - if (*s1 == '\0') { - break; - } - - s1++; - s2++; - n--; - } - return 0; -} - -char* strcpy(char* dest, const char* src) { - char* saved_dest = dest; - - while ((*dest++ = *src++) != '\0') {} - - return saved_dest; -} - -static void* kernel_heap_start = (void*)KHEAP_START; -static void* kernel_heap_end = (void*)KHEAP_START; -alloc_header_t* blk_list = NULL; - -void kgrow(size_t pages) { - for (size_t p = 0; p < pages; p++) { - void* frame = p_alloc_frame(); - map_page((uint32_t)kernel_heap_end, (uint32_t)frame, PAGE_PRESENT | PAGE_WRITABLE); - kernel_heap_end = (void*)((uint32_t)kernel_heap_end + PAGE_SIZE); - } -} - -#define ALIGNMENT 4 -#define ALIGN(size) (((size) + (ALIGNMENT - 1)) & ~(ALIGNMENT - 1)) -void* kalloc(size_t sz) { - sz = ALIGN(sz); - - if (kernel_heap_end == kernel_heap_start) { - // probaably not great, but if we don't have a heap yet, allocate the first (or only) frame requested. - // Then initialize the first block header for the allocator - kgrow(4); - - blk_list = (alloc_header_t*)kernel_heap_start; - blk_list->size = ((uint32_t)kernel_heap_end - (uint32_t)kernel_heap_start) - sizeof(alloc_header_t); - blk_list->free = 1; - blk_list->next_blk = NULL; - } - - alloc_header_t* curr = blk_list; - alloc_header_t* prev = NULL; - - while (curr != NULL) { - if (curr->free && curr->size >= sz) { - if (curr->size >= sz + sizeof(alloc_header_t) + ALIGNMENT) { - alloc_header_t* new_blk = (alloc_header_t*)((uint32_t)curr + sizeof(alloc_header_t) + sz); - - new_blk->size = curr->size - sz - sizeof(alloc_header_t); - new_blk->free = 1; - new_blk->next_blk = curr->next_blk; - - curr->size = sz; - curr->next_blk = new_blk; - } - - curr->free = 0; - return (void*)((uint32_t)curr + sizeof(alloc_header_t)); - } - prev = curr; - curr = curr->next_blk; - } - - // no more space, grow!! - size_t required_space = sz + sizeof(alloc_header_t); - size_t pages_to_grow = (required_space + PAGE_SIZE - 1) / PAGE_SIZE; - - alloc_header_t* new_heap_blk = (alloc_header_t*)kernel_heap_end; - - kgrow(pages_to_grow); - - new_heap_blk->size = (pages_to_grow * PAGE_SIZE) - sizeof(alloc_header_t); - new_heap_blk->free = 1; - new_heap_blk->next_blk = NULL; - - if (prev != NULL) { - prev->next_blk = new_heap_blk; - } - - return kalloc(sz); -} - -void kfree(void* ptr) { - -} \ No newline at end of file diff --git a/RockOS/kernel/lib/memory.h b/RockOS/kernel/lib/memory.h deleted file mode 100644 index 14bc51b..0000000 --- a/RockOS/kernel/lib/memory.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef KMEMORY_H -#define KMEMORY_H - -#include -#include - -void memcpy(const void* src, void* dst, size_t sz); -void memset(uint8_t* dst, uint8_t val, size_t sz); - -int strcmp(const char *s1, const char *s2); -int strncmp(const char *s1, const char *s2, size_t n); -int strlen(const char* str); -char* strcpy(char* dest, const char* src); - -void kgrow(size_t pages); -void* kalloc(size_t sz); -void kfree(void* ptr); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/lib/print.c b/RockOS/kernel/lib/print.c deleted file mode 100644 index 1e2d0f8..0000000 --- a/RockOS/kernel/lib/print.c +++ /dev/null @@ -1,106 +0,0 @@ -#include "print.h" -#include "tasks.h" - -#include - -#include - -spinlock_t kwrite_lock = {0}; - -extern psf_font_t* kfont; - -static char* hex_chars = "0123456789abcdef"; - -static void kprint(const char *str) { - while (*str) { - console_putchar(*str); - str++; - } -} - -static void kputd(int d) { - if (d == 0) { - console_putchar('0'); - return; - } - char buffer[12]; - int i = 0; - while (d > 0) { - buffer[i++] = '0' + (d % 10); - d /= 10; - } - for (int j = i - 1; j >= 0; j--) { - console_putchar(buffer[j]); - } -} - -static void kputx(unsigned int x) { - if (x == 0) { - console_putchar('0'); - return; - } - char buffer[8]; - - int i = 0; - while (x > 0) { - buffer[i++] = hex_chars[x & 0xF]; - x >>= 4; - } - for (int j = i - 1; j >= 0; j--) { - console_putchar(buffer[j]); - } -} - -void kputc(const char c) { - spin_lock(&kwrite_lock); - console_putchar(c); - spin_unlock(&kwrite_lock); -} - -void kprintf(const char* fmt, ...) { - spin_lock(&kwrite_lock); - va_list args; - va_start(args, fmt); - - while (*fmt) { - if (*fmt == '%') { - fmt++; - switch (*fmt) { - case 's': { - const char* str = va_arg(args, const char*); - kprint(str); - break; - } - case 'd': { - int d = va_arg(args, int); - kputd(d); - break; - } - case 'x': { - unsigned int x = va_arg(args, unsigned int); - kputx(x); - break; - } - case 'c': { - int c = va_arg(args, int); - console_putchar((char)c); - break; - } - case '%': - console_putchar('%'); - break; - default: - console_putchar('%'); - console_putchar(*fmt); - break; - } - fmt++; - } else { - console_putchar(*fmt); - fmt++; - } - } - - va_end(args); - spin_unlock(&kwrite_lock); -} \ No newline at end of file diff --git a/RockOS/kernel/lib/print.h b/RockOS/kernel/lib/print.h deleted file mode 100644 index ae76fca..0000000 --- a/RockOS/kernel/lib/print.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef KLIBPRINT_H -#define KLIBPRINT_H - -void kputc(const char c); -void kprintf(const char* fmt, ...); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/lib/ringbuf.c b/RockOS/kernel/lib/ringbuf.c deleted file mode 100644 index e537ccc..0000000 --- a/RockOS/kernel/lib/ringbuf.c +++ /dev/null @@ -1,34 +0,0 @@ -#include - -void ring_buf_init(ring_buf_t* rb) { - rb->head = 0; - rb->tail = 0; -} - -int ring_buf_is_empty(ring_buf_t* rb) { - return rb->head == rb->tail; -} - -int ring_buf_is_full(ring_buf_t* rb) { - return ((rb->head + 1) % PTY_BUFFER_SIZE) == rb->tail; -} - -int ring_buf_write(ring_buf_t *buf, char c) { - if (ring_buf_is_full(buf)) { - return -1; - } - - buf->data[buf->head] = c; - buf->head = (buf->head + 1) % PTY_BUFFER_SIZE; - return 0; -} - -int ring_buf_read(ring_buf_t *buf, char *c) { - if (ring_buf_is_empty(buf)) { - return -1; - } - - *c = buf->data[buf->tail]; - buf->tail = (buf->tail + 1) % PTY_BUFFER_SIZE; - return 0; -} \ No newline at end of file diff --git a/RockOS/kernel/lib/ringbuf.h b/RockOS/kernel/lib/ringbuf.h deleted file mode 100644 index 5c23511..0000000 --- a/RockOS/kernel/lib/ringbuf.h +++ /dev/null @@ -1,20 +0,0 @@ -#ifndef KRINGBUF_H -#define KRINGBUF_H - -#include - -#define PTY_BUFFER_SIZE 1024 - -typedef struct { - char data[PTY_BUFFER_SIZE]; - size_t head; - size_t tail; -} ring_buf_t; - -void ring_buf_init(ring_buf_t* rb); -int ring_buf_is_empty(ring_buf_t* rb); -int ring_buf_is_full(ring_buf_t* rb); -int ring_buf_write(ring_buf_t *buf, char c); -int ring_buf_read(ring_buf_t *buf, char *c); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/lib/string.h b/RockOS/kernel/lib/string.h deleted file mode 100644 index b9ac67c..0000000 --- a/RockOS/kernel/lib/string.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef KSTRING_H -#define KSTRING_H - -char* strtok_r(char *s, const char *delim, char **saveptr); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/lib/strtok.c b/RockOS/kernel/lib/strtok.c deleted file mode 100644 index 5269f8f..0000000 --- a/RockOS/kernel/lib/strtok.c +++ /dev/null @@ -1,65 +0,0 @@ -#include - -#include - -static size_t kernel_strspn(const char *s, const char *accept) { - const char *p; - const char *a; - size_t count = 0; - - for (p = s; *p != '\0'; ++p) { - for (a = accept; *a != '\0'; ++a) { - if (*p == *a) - break; - } - if (*a == '\0') - return count; - ++count; - } - return count; -} - -static char *kernel_strpbrk(const char *s, const char *accept) { - while (*s != '\0') { - const char *a = accept; - while (*a != '\0') { - if (*s == *a) { - return (char *)s; - } - a++; - } - s++; - } - return NULL; -} - -char *strtok_r(char *str, const char *delim, char **saveptr) { - char *token; - - if (str == NULL) { - str = *saveptr; - } - - if (str == NULL || *str == '\0') { - *saveptr = NULL; - return NULL; - } - - str += kernel_strspn(str, delim); - if (*str == '\0') { - *saveptr = NULL; - return NULL; - } - - token = str; - str = kernel_strpbrk(token, delim); - - if (str == NULL) { - *saveptr = NULL; - } else { - *str = '\0'; - *saveptr = str + 1; - } - - return token; -} \ No newline at end of file diff --git a/RockOS/kernel/lib/tasks.c b/RockOS/kernel/lib/tasks.c deleted file mode 100644 index 64f2751..0000000 --- a/RockOS/kernel/lib/tasks.c +++ /dev/null @@ -1,11 +0,0 @@ -#include - -void spin_lock(spinlock_t *lock) { - while (__sync_lock_test_and_set(&lock->locked, 1)) { - asm volatile("pause"); - } -} - -void spin_unlock(spinlock_t *lock) { - __sync_lock_release(&lock->locked); -} \ No newline at end of file diff --git a/RockOS/kernel/lib/tasks.h b/RockOS/kernel/lib/tasks.h deleted file mode 100644 index b6e67a4..0000000 --- a/RockOS/kernel/lib/tasks.h +++ /dev/null @@ -1,13 +0,0 @@ -#ifndef KTASKS_H -#define KTASKS_H - -#include - -typedef struct { - volatile uint32_t locked; -} spinlock_t; - -void spin_lock(spinlock_t *lock); -void spin_unlock(spinlock_t *lock); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/linker.ld b/RockOS/kernel/linker.ld deleted file mode 100644 index d1565a2..0000000 --- a/RockOS/kernel/linker.ld +++ /dev/null @@ -1,35 +0,0 @@ -ENTRY(_start) - -KERNEL_VMA = 0xC0000000; -KERNEL_LMA = 0x00200000; - -SECTIONS -{ - . = KERNEL_VMA + KERNEL_LMA; - __kernel_start = .; - .text : AT(ADDR(.text) - KERNEL_VMA) - { - *(.multiboot) - *(.text*) - } - - .rodata : AT(ADDR(.rodata) - KERNEL_VMA) - { - *(.rodata*) - } - - .data : AT(ADDR(.data) - KERNEL_VMA) - { - *(.data*) - } - - .bss : AT(ADDR(.bss) - KERNEL_VMA) - { - __bss_start = .; - *(.bss*) - *(COMMON) - __bss_end = .; - } - - __kernel_end = .; -} \ No newline at end of file diff --git a/RockOS/kernel/memory/mm.S b/RockOS/kernel/memory/mm.S deleted file mode 100644 index 2de6d53..0000000 --- a/RockOS/kernel/memory/mm.S +++ /dev/null @@ -1,25 +0,0 @@ -.code32 -.global flush_tlb -flush_tlb: - mov %cr3, %eax - mov %eax, %cr3 - ret - -.global disable_pae -disable_pae: - mov %cr4, %edx - and $0xFFFFFFEF, %edx - mov %edx, %cr4 - ret - -.global load_pd -load_pd: - push %ebp - mov %esp, %ebp - mov 8(%ebp), %eax - mov %eax, %cr3 - lea flush, %ecx - jmp *%ecx -flush: - leave - ret \ No newline at end of file diff --git a/RockOS/kernel/memory/mm.c b/RockOS/kernel/memory/mm.c deleted file mode 100644 index 973821b..0000000 --- a/RockOS/kernel/memory/mm.c +++ /dev/null @@ -1,274 +0,0 @@ -#include "memory/mm.h" -#include "multiboot.h" - -#include -#include - -extern uint8_t __kernel_start; -extern uint8_t __kernel_end; - -extern uint32_t page_directory[1024]; - -static uint32_t max_address = 0; -static uint32_t total_available_memory = 0; -static uint8_t memory_bitmap[BITMAP_SIZE]; - -static void mark_free(uint32_t addr) { - uint32_t page_index = addr / PAGE_SIZE; - uint32_t byte_index = page_index / 8; - uint32_t bit_index = page_index % 8; - memory_bitmap[byte_index] &= ~(1 << bit_index); -} - -static void mark_used(uint32_t addr) { - uint32_t page_index = addr / PAGE_SIZE; - uint32_t byte_index = page_index / 8; - uint32_t bit_index = page_index % 8; - memory_bitmap[byte_index] |= (1 << bit_index); -} - -static uint32_t align(uint32_t addr, uint32_t len, uint32_t* usable_start, uint32_t* usable_end) { - uint32_t start = addr; - uint32_t end = addr + len; - *usable_start = (start + 4095) & ~0xFFF; - *usable_end = end & ~0xFFF; - return *usable_end - *usable_start; -} - -static void parse_multiboot_mmap(void* base, uint32_t limit) { - multiboot_mmap_entry* entry = (multiboot_mmap_entry*)base; - void* end = (void*)((uint32_t)base + limit); - total_available_memory = 0; - while ((void*)entry < end) { - uint32_t entry_size = entry->size + sizeof(entry->size); - if (entry->type == 1) { - uint32_t region_start = (uint32_t)(entry->addr); - uint32_t region_end = (uint32_t)(entry->addr + entry->len); - if (region_end > max_address) { - max_address = region_end; - } - - uint32_t usable_start, usable_end, usable_size; - usable_size = align(region_start, entry->len, &usable_start, &usable_end); - if (usable_size <= 4096) { - entry = (multiboot_mmap_entry*)((uint32_t)entry + entry_size); - continue; - } - - uint32_t kernel_phys_start = (uint32_t)&__kernel_start - 0xC0000000; - uint32_t kernel_phys_end = (uint32_t)&__kernel_end - 0xC0000000; - for (uint32_t addr = usable_start; addr < usable_end; addr += 4096) { - if (addr <= kernel_phys_end && addr >= kernel_phys_start) { - continue; - } - - if (addr >= (uint32_t)entry && addr <= (uint32_t)entry + entry_size) { - continue; - } - - if (addr <= 0x200000) { - continue; - } - - total_available_memory += 4096; - - mark_free(addr); - } - } - entry = (multiboot_mmap_entry*)((uint32_t)entry + entry_size); - } -} - -void* p_alloc_frame() { - for (uint32_t i = 0; i < BITMAP_SIZE; i++) { - uint8_t b = memory_bitmap[i]; - if (b == 0xFF) { - continue; - } - - for (int bit = 0; bit < 8; bit++) { - if ((b & (1 << bit)) == 0) { - uint32_t page_addr = (i * 8 + bit) * PAGE_SIZE; - mark_used(page_addr); - return (void*)page_addr; - } - } - } - - return 0; -} - -void p_free_frame(void* addr) { - mark_free((uint32_t)addr); -} - -// MODIFIES THE ACTIVE PAGE TABLE AT THE PHYSICAL ADDRESS LOADED INTO CR3 VIA RECURSIVE MAPPING -void map_page(uint32_t vaddr, uint32_t paddr, uint32_t flags) { - uint32_t pde_entry = vaddr >> 22; - uint32_t pte_entry = (vaddr >> 12) & 0x3FF; - uint32_t* pd = (uint32_t*)CUR_PAGE_DIRECTORY; - uint32_t* tablev = (uint32_t*)(CUR_PAGE_TABLES + (pde_entry * PAGE_SIZE)); - - if ((pd[pde_entry] & PAGE_PRESENT) == 0) { - uint32_t new_table = (uint32_t)p_alloc_frame(); - pd[pde_entry] = new_table | flags; - flush_tlb(); - for (int i = 0; i < 1024; i++) { - tablev[i] = 0; - } - } - - tablev[pte_entry] = paddr | flags; - flush_tlb(); -} - -void unmap_page(uint32_t vaddr) { - uint32_t pde_entry = vaddr >> 22; - uint32_t pte_entry = (vaddr >> 12) & 0x3FF; - uint32_t* tablev = (uint32_t*)(CUR_PAGE_TABLES + (pde_entry * PAGE_SIZE)); - tablev[pte_entry] = 0; - flush_tlb(); -} - -int is_cow(uint32_t vaddr) { - uint32_t pde_entry = vaddr >> 22; - uint32_t pte_entry = (vaddr >> 12) & 0x3FF; - uint32_t* pd = (uint32_t*)CUR_PAGE_DIRECTORY; - uint32_t* tablev = (uint32_t*)(CUR_PAGE_TABLES + (pde_entry * PAGE_SIZE)); - - if (!(pd[pde_entry] & PAGE_PRESENT)) { - return 0; - } - - if (tablev[pte_entry] & PAGE_WRITABLE) { - return 0; - } - - if (!(tablev[pte_entry] & PAGE_COW)) { - return 0; - } - - return 1; -} - -void init_pmm(void* mmap_base, uint32_t mmap_limit) { - for (int i = 0; i < BITMAP_SIZE; i++) { - memory_bitmap[i] = 0xFF; - } - - if (mmap_base != NULL && mmap_limit > 0) { - parse_multiboot_mmap(mmap_base, mmap_limit); - } -} - -void init_page_tables() { - uint32_t kernel_size = (uint32_t)&__kernel_end - (uint32_t)&__kernel_start; - uint32_t num_pages = kernel_size / PAGE_SIZE + 1; - uint32_t num_page_tables = (num_pages + 1023) / 1024; - for (uint32_t table = 0; table < num_page_tables; table++) { - uint32_t* kernel_table = p_alloc_frame(); - for (int i = 0; i < 1024; i++) { - kernel_table[i] = (i * PAGE_SIZE) | 0x3; - } - page_directory[768 + table] = (uint32_t)(kernel_table) | 0x3; - } - page_directory[0] = 0; - disable_pae(); - flush_tlb(); -} - -uint32_t total_free_memory() { - return total_available_memory; -} - -void* create_new_pd() { - uint32_t task_pd_addr = (uint32_t)p_alloc_frame(); - if (task_pd_addr == 0) { - return NULL; // outta mem - } - - map_page(TEMP_TASKPD_VADDR, task_pd_addr, PAGE_PRESENT | PAGE_WRITABLE); - - uint32_t* task_pd = (uint32_t*)TEMP_TASKPD_VADDR; - uint32_t* parent_pd = (uint32_t*)CUR_PAGE_DIRECTORY; - - for(int i = 768; i < 1023; i++) { - task_pd[i] = parent_pd[i]; - } - - task_pd[1023] = task_pd_addr | PAGE_PRESENT | PAGE_WRITABLE; - - for(int i = 0; i < 768; i++) { - task_pd[i] = 0; - } - - unmap_page(TEMP_TASKPD_VADDR); - - return (void*)task_pd_addr; -} - -void* clone_current_pd() { - uint32_t task_pd_addr = (uint32_t)p_alloc_frame(); - if (task_pd_addr == 0) { - return NULL; // outta mem - } - - map_page(TEMP_TASKPD_VADDR, task_pd_addr, PAGE_PRESENT | PAGE_WRITABLE); - - uint32_t* task_pd = (uint32_t*)TEMP_TASKPD_VADDR; - uint32_t* parent_pd = (uint32_t*)CUR_PAGE_DIRECTORY; - - for(int i = 768; i < 1023; i++) { - task_pd[i] = parent_pd[i]; - } - - task_pd[1023] = task_pd_addr | PAGE_PRESENT | PAGE_WRITABLE; - - for(int i = 0; i < 768; i++) { - task_pd[i] = 0; - } - - for (int i = 0; i < 768; i++) { - uint32_t pde = parent_pd[i]; - if (!(pde & PAGE_PRESENT)) continue; - - uint32_t task_pt = (uint32_t)p_alloc_frame(); - task_pd[i] = task_pt | (pde & 0xFFF); - - uint32_t parent_pt = pde & 0xFFFFF000; - - map_page(TEMP_PT_DST, task_pt, PAGE_PRESENT | PAGE_WRITABLE); - map_page(TEMP_PT_SRC, parent_pt, PAGE_PRESENT | PAGE_WRITABLE); - - uint32_t* pt_dst = (uint32_t*)TEMP_PT_DST; - uint32_t* pt_src = (uint32_t*)TEMP_PT_SRC; - - for(int j = 0; j < 1024; j++) { - uint32_t pte_src = pt_src[j]; - if (!(pte_src & PAGE_PRESENT)) continue; - - if (!(pte_src & PAGE_WRITABLE)) { - pt_dst[j] = pt_src[j]; - continue; - } - - // the src page is writable, mark the pte src as read only and COW, then copy to dst pte - pt_src[j] &= ~(PAGE_WRITABLE); - pt_src[j] |= PAGE_COW; - flush_tlb(); // huge performance hit here, and probably everywhere else too where we aren't switching cr3s - - pt_dst[j] = pt_src[j]; - } - - unmap_page(TEMP_PT_DST); - unmap_page(TEMP_PT_SRC); - } - - unmap_page(TEMP_TASKPD_VADDR); - - return (void*)task_pd_addr; -} - -void clear_current_pd() { - -} \ No newline at end of file diff --git a/RockOS/kernel/memory/mm.h b/RockOS/kernel/memory/mm.h deleted file mode 100644 index 0877456..0000000 --- a/RockOS/kernel/memory/mm.h +++ /dev/null @@ -1,49 +0,0 @@ -#ifndef KMM_H -#define KMM_H - -#include - -#define PAGE_PRESENT (1 << 0) -#define PAGE_WRITABLE (1 << 1) -#define PAGE_USER (1 << 2) -#define PAGE_COW (1 << 9) - -#define TEMP_KERNPD_VADDR 0xDFF90000 -#define TEMP_TASKPD_VADDR 0xDFFA0000 -#define TEMP_PT_SRC 0xDFFB0000 -#define TEMP_PT_DST 0xDFFC0000 - -#define PAGE_SIZE 4096 - -#define MAX_RAM 0xFFFFFFFF // 4GB -#define BITMAP_SIZE ((MAX_RAM / PAGE_SIZE) / 8) - -#define CUR_PAGE_DIRECTORY 0xFFFFF000 -#define CUR_PAGE_TABLES 0xFFC00000 - -typedef struct __attribute__((packed)) { - uint32_t addr; -} mem_page_t; - -void init_pmm(void* mmap_base, uint32_t mmap_limit); -void init_page_tables(); - -void* p_alloc_frame(); - -uint32_t total_free_memory(); - -void* create_new_pd(); -void* clone_current_pd(); -void clear_current_pd(); - -int is_cow(uint32_t vaddr); - -void map_page(uint32_t vaddr, uint32_t paddr, uint32_t flags); -void unmap_page(uint32_t vaddr); - -void load_pd(void* paddr); - -void flush_tlb(); -void disable_pae(); - -#endif diff --git a/RockOS/kernel/multiboot.c b/RockOS/kernel/multiboot.c deleted file mode 100644 index bf0db44..0000000 --- a/RockOS/kernel/multiboot.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "multiboot.h" - -multiboot_module_t multiboot_module_info_table[32]; \ No newline at end of file diff --git a/RockOS/kernel/multiboot.h b/RockOS/kernel/multiboot.h deleted file mode 100644 index da4f5f4..0000000 --- a/RockOS/kernel/multiboot.h +++ /dev/null @@ -1,61 +0,0 @@ -#ifndef KMULTIBOOT_H -#define KMULTIBOOT_H - -#include - -typedef struct { - uint32_t flags; - uint32_t mem_lower; - uint32_t mem_upper; - uint32_t boot_device; - uint32_t cmdline; - uint32_t mods_count; - uint32_t mods_addr; - uint32_t num; - uint32_t size; - uint32_t addr; - uint32_t shndx; - uint32_t mmap_length; - uint32_t mmap_addr; - uint32_t drives_length; - uint32_t drives_addr; - uint32_t config_table; - uint32_t boot_loader_name; - uint32_t apm_table; - uint32_t vbe_control_info; - uint32_t vbe_mode_info; - uint16_t vbe_mode; - uint16_t vbe_interface_seg; - uint16_t vbe_interface_off; - uint16_t vbe_interface_len; - uint64_t framebuffer_addr; - uint32_t framebuffer_pitch; - uint32_t framebuffer_width; - uint32_t framebuffer_height; - uint8_t framebuffer_bpp; - uint8_t framebuffer_type; - uint8_t red_field_position; - uint8_t red_mask_size; - uint8_t green_field_position; - uint8_t green_mask_size; - uint8_t blue_field_position; - uint8_t blue_mask_size; -} __attribute__((packed)) multiboot_info; - -typedef struct { - uint32_t size; - uint64_t addr; - uint64_t len; - uint32_t type; -} __attribute__((packed)) multiboot_mmap_entry; - -typedef struct { - uint32_t mod_start; // Physical start address of user.elf in memory - uint32_t mod_end; // Physical end address of user.elf - uint32_t cmdline; // Pointer to a string (e.g., "/boot/user.elf") - uint32_t pad; -} __attribute__((packed)) multiboot_module_t; - -extern multiboot_module_t multiboot_module_info_table[32]; - -#endif \ No newline at end of file diff --git a/RockOS/kernel/process.h b/RockOS/kernel/process.h deleted file mode 100644 index b815226..0000000 --- a/RockOS/kernel/process.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef KPROCESS_H -#define KPROCESS_H - -#include - -#include - -#define MAX_PROCESS_FDS 32 - -typedef enum { - STATE_READY = 1, - STATE_SLEEPING = 2, - STATE_BLOCKED = 3, - STATE_DEAD = 4, - STATE_ZOMBIE = 5, -} process_state_t; - -typedef enum { - PROCESS_FLAG_NONE = 0, - PROCESS_FLAG_KERNEL = 1 << 0, - PROCESS_FLAG_USER = 1 << 1 -} process_flags_t; - -struct process_t; -typedef struct process_t { - uint32_t pid; - uint32_t esp; - uint32_t kstack_top; - uint32_t cr3; - process_state_t state; - uint32_t sleep; - uint32_t heap_end; - uint32_t flags; - file_t* fd_table[MAX_PROCESS_FDS]; - struct process_t* sched_next; - struct process_t* waiting; - int exit_status; -} __attribute__((packed)) process_t; - -#endif \ No newline at end of file diff --git a/RockOS/kernel/scheduler.S b/RockOS/kernel/scheduler.S deleted file mode 100644 index 18f1e9a..0000000 --- a/RockOS/kernel/scheduler.S +++ /dev/null @@ -1,36 +0,0 @@ - - -.code32 -.global yield -.extern schedule_next_task -yield: # void yield() - cli - - popl %ecx - - pushfl // EFLAGS - pushl %cs // CS - pushl %ecx // EIP - - pushal - call send_eoi_master - - xor %eax, %eax - mov %ds, %ax - pushl %eax - - mov $0x10, %ax - mov %ax, %ds - mov %ax, %es - - pushl %esp - call switch_context - movl %eax, %esp - - popl %eax - mov %ax, %ds - mov %ax, %es - - popal - sti - iret \ No newline at end of file diff --git a/RockOS/kernel/scheduler.c b/RockOS/kernel/scheduler.c deleted file mode 100644 index 25bde99..0000000 --- a/RockOS/kernel/scheduler.c +++ /dev/null @@ -1,198 +0,0 @@ -#include -#include -#include - -#include - -#include - -#include "common.h" -#include "process.h" -#include "scheduler.h" -#include "gdt.h" - -static process_t* process_table = NULL; -static process_t* current_process = NULL; -static process_t* idle_task = NULL; - -static int total_processes = 0; - -void lock_scheduler() { - disable_interrupts(); -} - -void unlock_scheduler() { - enable_interrupts(); -} - -uint32_t switch_context(uint32_t current_esp) { - current_process->esp = current_esp; - - process_t* next_process = current_process->sched_next; - int found_ready = 0; - while (next_process != NULL) { - if (next_process != idle_task && next_process->state == STATE_READY) { - found_ready = 1; - break; - } - - if (next_process == current_process) { - break; - } - - next_process = (process_t*)next_process->sched_next; - } - - if (!found_ready) { - if (current_process && current_process->state == STATE_READY) { - next_process = current_process; - } else { - next_process = idle_task; - } - } - - current_process = next_process; - - uint32_t current_cr3 = fetch_cr3(); - if (current_cr3 != current_process->cr3) { - load_pd((void*)current_process->cr3); - flush_tlb(); - } - - if (current_process->flags & PROCESS_FLAG_USER) { - tss.esp0 = current_process->kstack_top; - } - - - - return current_process->esp; -} - -void init_scheduler() { - process_t* root = kalloc(sizeof(process_t)); - root->pid = 0; - root->esp = 0; - root->cr3 = fetch_cr3(); - root->state = STATE_READY; - root->sleep = 0; - root->flags = PROCESS_FLAG_KERNEL; - root->sched_next = NULL; - - current_process = root; - idle_task = root; - process_table = root; - - total_processes = 1; -} - -void init_task ( - process_t* process, - uint32_t entry_point, - uint32_t cr3, - int user, - uint32_t u_esp -) { - process->pid = get_next_pid(); - process->cr3 = cr3; - process->state = STATE_READY; - process->sleep = 0; - process->flags = user ? PROCESS_FLAG_USER : PROCESS_FLAG_KERNEL; - total_processes++; - - if (process->kstack_top != 0) { - kfree((void*)process->kstack_top); - } - - void* kstack_bottom = kalloc(PAGE_SIZE); - uint32_t kstack_top = (uint32_t)kstack_bottom + PAGE_SIZE; - process->kstack_top = kstack_top; - - uint32_t* esp = (uint32_t*)kstack_top; - if (user) { - *(--esp) = 0x23; // User Data Segment (SS) with RPL 3 (0x20 | 3) - *(--esp) = u_esp; // User Stack Pointer (ESP) - location mapped in user space - *(--esp) = 0x202; // EFLAGS (Interrupts enabled) - *(--esp) = 0x1B; // User Code Segment (CS) with RPL 3 (0x18 | 3) - *(--esp) = entry_point; // EIP - } else { - // IRET values for Ring 0 - *(--esp) = 0x202; // EFLAGS - *(--esp) = 0x08; // Kernel Code Segment (CS) - *(--esp) = entry_point; // EIP - } - - *(--esp) = 0; // EAX - *(--esp) = 0; // ECX - *(--esp) = 0; // EDX - *(--esp) = 0; // EBX - *(--esp) = 0; // ESP - *(--esp) = 0; // EBP - *(--esp) = 0; // ESI - *(--esp) = 0; // EDI - - if (user) { - *(--esp) = 0x23; // User Data Segment Selector (RPL 3) - } else { - *(--esp) = 0x10; // Kernel Data Segment Selector (RPL 0) - } - - process->esp = (uint32_t)esp; -} - -int get_next_pid() { - int pid = total_processes; - total_processes++; - return pid; -} - -void add_task(process_t* task) { - if (!task) { - return; - } - - if (process_table->sched_next == NULL) { - process_table->sched_next = task; - task->sched_next = process_table; - return; - } - - process_t* curr = process_table; - while (curr->sched_next != process_table) { - curr = curr->sched_next; - } - - curr->sched_next = task; - task->sched_next = process_table; -} - -process_t* current_task() { - process_t* rtn = current_process; - return rtn; -} - -void sleep(uint32_t ms) { - if (ms == 0) return; - current_process->sleep = ms; - current_process->state = STATE_SLEEPING; - yield(); -} - -void exit() { - current_process->state = STATE_DEAD; - yield(); // yield forever -} - -void wake(process_t* task) { - if (task->state == STATE_SLEEPING || task->state == STATE_BLOCKED) { - task->state = STATE_READY; - } -} - -process_t* get_task_by_pid(uint32_t pid) { - process_t* cur = process_table; - while (cur) { - if (cur->pid == pid) break; - cur = cur->sched_next; - } - return cur; -} \ No newline at end of file diff --git a/RockOS/kernel/scheduler.h b/RockOS/kernel/scheduler.h deleted file mode 100644 index dc76995..0000000 --- a/RockOS/kernel/scheduler.h +++ /dev/null @@ -1,24 +0,0 @@ -#ifndef KSCHEDULER_H -#define KSCHEDULER_H - -#include "process.h" -#include - -void lock_scheduler(); -void unlock_scheduler(); - -void init_scheduler(); -void init_task(process_t* process, uint32_t entry_point, uint32_t cr3, int user, uint32_t u_esp); - -process_t* current_task(); -process_t* get_task_by_pid(uint32_t pid); - -int get_next_pid(); -void add_task(process_t* task); - -void sleep(uint32_t ms); -void yield(); -void exit(); -void wake(process_t* task); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/syscall.S b/RockOS/kernel/syscall.S deleted file mode 100644 index 3663c5b..0000000 --- a/RockOS/kernel/syscall.S +++ /dev/null @@ -1,19 +0,0 @@ -.code32 -.global syscall_handler -.extern syscall -syscall_handler: - cli - - pushal - push %ds - - mov $0x10, %ax - mov %ax, %ds - - push %esp - call syscall - add $4, %esp - - pop %ds - popal - iret \ No newline at end of file diff --git a/RockOS/kernel/syscall.c b/RockOS/kernel/syscall.c deleted file mode 100644 index 75f497f..0000000 --- a/RockOS/kernel/syscall.c +++ /dev/null @@ -1,262 +0,0 @@ -#include -#include - -#include "lib/memory.h" -#include "lib/ringbuf.h" - -#include "memory/mm.h" - -#include "process.h" -#include "scheduler.h" -#include "vfs.h" -#include "elf.h" - -#include -#include - -#include -#include - -typedef struct registers { - uint32_t ds; // push %ds - uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax; // pushal - uint32_t eip, cs, eflags, useresp, ss; // pushed by cpu -} __attribute__((packed)) registers_t; - -static int32_t sys_exit(int status) { - process_t* task = current_task(); - task->state = STATE_ZOMBIE; - task->exit_status = status; - if (task->waiting) { - wake(task->waiting); - } - exit(); - return 0; -} - -static int32_t sys_write(int fd, const void* buf, size_t count) { - if (fd < 0 || fd >= MAX_PROCESS_FDS) return -1; - - file_t* f = current_task()->fd_table[fd]; - if (!f || !f->node) return -1; - - uint32_t rd = f->node->write(f->node, f->offset, count, (uint8_t*)buf); - f->offset += rd; - - return rd; -} - -static int32_t sys_read(int fd, void* buf, size_t count) { - if (fd < 0 || fd >= MAX_PROCESS_FDS) return -1; - - file_t* f = current_task()->fd_table[fd]; - if (!f || !f->node) return -1; - - uint32_t rd = f->node->read(f->node, f->offset, count, (uint8_t*)buf); - f->offset += rd; - - return rd; -} - -static int32_t sys_open(const char* filename, int flags) { - return vfs_open(filename, flags); -} - -static int32_t sys_close(int fd) { - process_t* task = current_task(); - task->fd_table[fd] = NULL; - return 1; -} - -static int32_t sys_brk(uint32_t new_break) { - process_t* current = current_task(); - - if (new_break == 0) { - return current->heap_end; - } - - if (new_break < current->heap_end) { - current->heap_end = new_break; - return current->heap_end; - } - - uint32_t page_start = (current->heap_end + 4095) & ~4095; - uint32_t page_end = (new_break + 4095) & ~4095; - - for (uint32_t addr = page_start; addr < page_end; addr += 4096) { - // 1. Allocate a physical frame using your PMM (Physical Memory Manager) - void* phys = p_alloc_frame(); - - // 2. Map it into the current page directory using your VMM (Virtual Memory Manager) - map_page(addr, (uint32_t)phys, PAGE_PRESENT | PAGE_WRITABLE | PAGE_USER); - } - - current->heap_end = new_break; - return current->heap_end; -} - -static int32_t sys_sbrk(int32_t inc) { - process_t* current = current_task(); - - if (inc <= 0) { // can't shrink yet - return current->heap_end; - } - - uint32_t page_start = (current->heap_end + 4095) & ~4095; - current->heap_end += inc; - uint32_t page_end = (current->heap_end + 4095) & ~4095; - - for (uint32_t addr = page_start; addr < page_end; addr += 4096) { - void* phys = p_alloc_frame(); - map_page(addr, (uint32_t)phys, PAGE_PRESENT | PAGE_WRITABLE | PAGE_USER); - } - - return current->heap_end; -} - -static int32_t sys_pty(int* slave_fd) { - pty_t* pty = (pty_t*)kalloc(sizeof(pty_t)); - ring_buf_init(&pty->master_rb); - ring_buf_init(&pty->slave_rb); - - vfs_node_t* master =(vfs_node_t*)kalloc(sizeof(vfs_node_t)); - master->flags = VFS_CHARDEVICE; - master->size = 0; - master->read = pty_master_read; - master->write = pty_master_write; - master->find = NULL; - master->data = pty; - - vfs_node_t* slave =(vfs_node_t*)kalloc(sizeof(vfs_node_t)); - slave->flags = VFS_CHARDEVICE; - slave->size = 0; - slave->read = pty_slave_read; - slave->write = pty_slave_write; - slave->find = NULL; - slave->data = pty; - - file_t* fmaster = (file_t*)kalloc(sizeof(file_t)); - fmaster->node = master; - fmaster->offset = 0; - fmaster->flags = 0; - - file_t* fslave = (file_t*)kalloc(sizeof(file_t)); - fslave->node = slave; - fslave->offset = 0; - fslave->flags = 0; - - *slave_fd = alloc_fd(fslave); - return alloc_fd(fmaster); -} - -static int32_t sys_fork(registers_t* parent_regs) { - process_t* parent = current_task(); - process_t* child = kalloc(sizeof(process_t)); - if (!child) { - return -1; - } - - child->pid = get_next_pid(); - child->state = STATE_READY; - child->flags = parent->flags; - child->heap_end = parent->heap_end; - child->sleep = 0; - - for (int i = 0; i < MAX_PROCESS_FDS; i++) { - child->fd_table[i] = parent->fd_table[i]; - } - - uint32_t kstack_size = 4096; - void* kstack_alloc = kalloc(kstack_size); - child->kstack_top = (uint32_t)kstack_alloc + kstack_size; - - registers_t* child_regs = (registers_t*)(child->kstack_top - sizeof(registers_t)); - memcpy(parent_regs, child_regs, sizeof(registers_t)); - child_regs->eax = 0; - child->esp = (uint32_t)child_regs; - - uint32_t cr3 = (uint32_t)clone_current_pd(); - child->cr3 = cr3; - - add_task(child); - return child->pid; -} - -static int32_t sys_exec(registers_t* regs, const char* prgm) { - clear_current_pd(); - - uint32_t eip = load_elf_program(prgm); - if (eip == 0) { - return 0; - } - - uint32_t stack_sz = PAGE_SIZE * 16; - uint32_t stack_top = 0xBFFF0000; - uint32_t stack_bottom = stack_top - stack_sz; - for (uint32_t vaddr = stack_bottom; vaddr < stack_top; vaddr += PAGE_SIZE) { - void* phys_frame = p_alloc_frame(); - map_page(vaddr, (uint32_t)phys_frame, PAGE_PRESENT | PAGE_WRITABLE | PAGE_USER); - } - - uint32_t* u_esp = (uint32_t*)stack_top; - *(--u_esp) = 0; // envp = NULL - *(--u_esp) = 0; // argv = NULL - *(--u_esp) = 0; // argc = 0 - - regs->eax = 0; - regs->ecx = 0; - regs->edx = 0; - regs->ebp = 0; - regs->esi = 0; - regs->edi = 0; - regs->eip = eip; - regs->useresp = (uint32_t)u_esp; - - return 0; -} - -static int32_t sys_dup2(int src, int dst) { - process_t* task = current_task(); - task->fd_table[dst] = task->fd_table[src]; - return dst; -} - -static int32_t sys_lseek(int fd, size_t offset, int whence) { - if (fd < 0) return 0; - process_t* task = current_task(); - file_t* file = task->fd_table[fd]; - if (!file) return 0; - file->node->seek(file->node, offset, whence); - return 1; -} - -static int32_t sys_waitpid(int pid, int* exit_status) { - process_t* current = current_task(); - process_t* child = get_task_by_pid(pid); - current->state = STATE_BLOCKED; - child->waiting = current; - yield(); - *exit_status = child->exit_status; - return 1; -} - -void syscall(registers_t* regs) { - int32_t ret; - switch(regs->eax) { - case 1: ret = sys_exit(regs->ebx); break; - case 3: ret = sys_read(regs->ebx, (void*)regs->ecx, regs->edx); break; - case 4: ret = sys_write(regs->ebx, (const void*)regs->ecx, regs->edx); break; - case 5: ret = sys_open((const char*)regs->ebx, regs->ecx); break; - case 6: ret = sys_close(regs->ebx); break; - case 12: ret = sys_brk(regs->ebx); break; - case 13: ret = sys_sbrk(regs->ebx); break; - case 20: ret = sys_pty((int*)regs->ebx); break; - case 21: ret = sys_fork(regs); break; - case 22: ret = sys_exec(regs, (const char*)regs->ebx); break; - case 23: ret = sys_dup2(regs->ebx, regs->ecx); break; - case 24: ret = sys_lseek(regs->ebx, regs->ecx, regs->edx); break; - case 25: ret = sys_waitpid(regs->ebx, (int*)regs->ecx); break; - default: ret = -1; - } - regs->eax = ret; -} \ No newline at end of file diff --git a/RockOS/kernel/syscall.h b/RockOS/kernel/syscall.h deleted file mode 100644 index 7d0387f..0000000 --- a/RockOS/kernel/syscall.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef KSYSCALL_H -#define KSYSCALL_H - -void syscall_handler(); - -#endif \ No newline at end of file diff --git a/RockOS/kernel/vfs.c b/RockOS/kernel/vfs.c deleted file mode 100644 index 40e6a56..0000000 --- a/RockOS/kernel/vfs.c +++ /dev/null @@ -1,130 +0,0 @@ -#include -#include -#include - -#include -#include -#include - -vfs_node_t* root = NULL; - -vfs_node_t* vfs_create_root() { - root = kalloc(sizeof(vfs_node_t)); - memset((uint8_t*)root, 0, sizeof(vfs_node_t)); - - strcpy(root->name, "root"); - - root->flags |= VFS_DIRECTORY; - root->size = 0; - root->find = NULL; - - return root; -} - -void vfs_mount(vfs_node_t* _mnt, vfs_node_t* _fs) { - if (!_fs || !_mnt || !(_mnt->flags & VFS_DIRECTORY)) return; - _mnt->mnt = _fs; -} - -vfs_node_t* vfs_find(const char* path) { - vfs_node_t* current = root; - if (current->mnt) { - current = current->mnt; - } - - char* sav = NULL; - size_t path_sz = strlen(path) + 1; - char* path_cpy = kalloc(path_sz); - memset((uint8_t*)path_cpy, 0, path_sz); - memcpy(path, path_cpy, path_sz); - - char* tkn = strtok_r(path_cpy, "/", &sav); - while (tkn != NULL) { - if (current && current->mnt) { - current = current->mnt; - } - - if (!current || !current->find) { - return NULL; - } - - current = current->find(current, tkn); - - if (current == NULL) { - return NULL; - } - - tkn = strtok_r(NULL, "/", &sav); - if (tkn && !(current->flags & VFS_DIRECTORY)) { - return NULL; - } - } - - kfree(path_cpy); - return current; -} - -vfs_node_t* vfs_mkdir(vfs_node_t* parent, const char* name) { - if (!parent || !name) { - return NULL; - } - - if (strlen(name) == 0) { - return NULL; - } - - return parent->mkdir(parent, name); -} - -int vfs_open(const char* _path, int flags) { - vfs_node_t* file = vfs_find(_path); - if (!file) return -1; - - file_t* f = (file_t*)kalloc(sizeof(file_t)); - f->node = file; - f->offset = 0; - f->flags = flags; - - return alloc_fd(f); -} - -int vfs_read(int fd, void* buf, size_t sz) { - process_t* curr_p = current_task(); - if (fd < 0 || fd >= MAX_PROCESS_FDS || !curr_p->fd_table[fd]->node) { - return -1; - } - - file_t* file = curr_p->fd_table[fd]; - - if (!file->node->read) return -1; - - uint32_t bytes_read = file->node->read(file->node, file->offset, sz, buf); - file->offset += bytes_read; - - return bytes_read; -} - -int vfs_seek(int fd, size_t offset) { - process_t* curr_p = current_task(); - if (fd < 0 || fd >= MAX_PROCESS_FDS || !curr_p->fd_table[fd]->node) { - return 0; - } - - file_t* file = curr_p->fd_table[fd]; - file->offset = offset; - return 1; -} - -int alloc_fd(file_t* f) { - process_t* curr_p = current_task(); - if (!curr_p) return -1; - - for (int i = 0; i < MAX_PROCESS_FDS; i++) { - if (curr_p->fd_table[i] == NULL) { - curr_p->fd_table[i] = f; - return i; - } - } - - return -1; -} \ No newline at end of file diff --git a/RockOS/kernel/vfs.h b/RockOS/kernel/vfs.h deleted file mode 100644 index 365e8e7..0000000 --- a/RockOS/kernel/vfs.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef KVFS_H -#define KVFS_H - -#include -#include - -#define VFS_FILE 0x01 -#define VFS_DIRECTORY 0x02 -#define VFS_CHARDEVICE 0x03 -#define VFS_BLOCKDEVICE 0x04 -#define VFS_PIPE 0x05 - -struct vfs_node; - -typedef uint32_t (*read_type_t)(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); -typedef uint32_t (*write_type_t)(struct vfs_node* node, uint32_t offset, uint32_t size, uint8_t* buffer); -typedef uint32_t (*seek_type_t)(struct vfs_node* node, uint32_t offset, int whence); -typedef struct vfs_node* (*finddir_type_t)(struct vfs_node* node, const char* name); -typedef struct vfs_node* (*mkdir_type_t)(struct vfs_node* node, const char* name); -typedef struct vfs_node* (*create_type_t)(struct vfs_node* node, const char* name); - -typedef struct vfs_node { - char name[128]; - uint32_t flags; // File, directory, device, etc. - uint32_t size; // Size of file in bytes - - struct vfs_node* first_child; - struct vfs_node* next_sibling; - - read_type_t read; - write_type_t write; - finddir_type_t find; - mkdir_type_t mkdir; - create_type_t create; - seek_type_t seek; - - struct vfs_node* mnt; - void* data; -} vfs_node_t; - -typedef struct { - vfs_node_t* node; // The actual CPIO/VFS node - uint32_t offset; // Current read/write cursor position - uint32_t flags; // Permissions (O_RDONLY, etc.) -} file_t; - -vfs_node_t* vfs_create_root(); -vfs_node_t* vfs_mkdir(vfs_node_t* parent, const char* name); - -vfs_node_t* vfs_find(const char* path); - -void vfs_mount(vfs_node_t* _mnt, vfs_node_t* _fs); -int vfs_open(const char* path, int flags); -int vfs_read(int fd, void* buf, size_t sz); - -int vfs_seek(int fd, size_t offset); - -int alloc_fd(file_t* f); - -#endif \ No newline at end of file diff --git a/RockOS/make_img.sh b/RockOS/make_img.sh deleted file mode 100755 index 8a211b2..0000000 --- a/RockOS/make_img.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -mkdir -p initrd -rm -f initrd/bin/*.elf - -mkdir -p initrd/dev -mkdir -p initrd/bin -cp programs/bin/* initrd/bin - -cd initrd -find . -depth -print | cpio -o -H newc > ../initrd.img -cd .. - -cp initrd.img isodir/boot \ No newline at end of file diff --git a/RockOS/makefile b/RockOS/makefile deleted file mode 100644 index d06f6ac..0000000 --- a/RockOS/makefile +++ /dev/null @@ -1,40 +0,0 @@ -CC = i686-elf-gcc -LD = i686-elf-ld - -OSNAME := rockos - -C_SOURCES := $(shell find kernel -type f -name '*.c') -S_SOURCES := $(shell find kernel -type f -name '*.S') - -OBJECTS := $(patsubst %, obj/%.o, $(C_SOURCES) $(S_SOURCES)) - -CFLAGS := -ffreestanding -O2 -Wall -Wextra -Ikernel -LDFLAGS := -T kernel/linker.ld - -.PHONY: all run clean - -all: $(OSNAME).iso - -$(OSNAME).bin: $(OBJECTS) kernel/linker.ld - $(LD) $(LDFLAGS) -o $@ $(OBJECTS) - -$(OSNAME).iso: $(OSNAME).bin grub.cfg - mkdir -p isodir/boot/grub - cp $(OSNAME).bin isodir/boot/$(OSNAME) - cp grub.cfg isodir/boot/grub/grub.cfg - grub-mkrescue -o $(OSNAME).iso isodir - -obj/%.c.o: %.c - @mkdir -p $(dir $@) - $(CC) -c $< -o $@ $(CFLAGS) - -obj/%.S.o: %.S - @mkdir -p $(dir $@) - $(CC) -c $< -o $@ $(CFLAGS) - -run: $(OSNAME).iso - qemu-system-i386 -cdrom $(OSNAME).iso - -clean: - @echo "Cleaning up build artifacts..." - rm -rf $(OSNAME).iso $(OSNAME).bin obj isodir \ No newline at end of file diff --git a/RockOS/programs/compile_commands.json b/RockOS/programs/compile_commands.json deleted file mode 100644 index fe51488..0000000 --- a/RockOS/programs/compile_commands.json +++ /dev/null @@ -1 +0,0 @@ -[] diff --git a/RockOS/programs/lib/rlibc.a b/RockOS/programs/lib/rlibc.a deleted file mode 100644 index d2c5b68..0000000 Binary files a/RockOS/programs/lib/rlibc.a and /dev/null differ diff --git a/RockOS/programs/rocksh/compile_commands.json b/RockOS/programs/rocksh/compile_commands.json deleted file mode 100644 index 33b6549..0000000 --- a/RockOS/programs/rocksh/compile_commands.json +++ /dev/null @@ -1,36 +0,0 @@ -[ - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-I../../rocklibc/include", - "-c", - "-o", - "crt0.o", - "crt0.S" - ], - "directory": "/home/slinky/source/RockOS/programs/rocksh", - "file": "/home/slinky/source/RockOS/programs/rocksh/crt0.S", - "output": "/home/slinky/source/RockOS/programs/rocksh/crt0.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-I../../rocklibc/include", - "-c", - "-o", - "main.o", - "main.c" - ], - "directory": "/home/slinky/source/RockOS/programs/rocksh", - "file": "/home/slinky/source/RockOS/programs/rocksh/main.c", - "output": "/home/slinky/source/RockOS/programs/rocksh/main.o" - } -] diff --git a/RockOS/programs/rocksh/crt0.S b/RockOS/programs/rocksh/crt0.S deleted file mode 100644 index d97f158..0000000 --- a/RockOS/programs/rocksh/crt0.S +++ /dev/null @@ -1,21 +0,0 @@ -.global _start -.extern exit -.section .text -_start: - xor %ebp, %ebp - - mov (%esp), %eax - lea 4(%esp), %ebx - lea 8(%esp,%eax,4), %ecx - - and $-16, %esp - - push %ecx - push %ebx - push %eax - - call main - - push %eax - call exit - diff --git a/RockOS/programs/rocksh/linker.ld b/RockOS/programs/rocksh/linker.ld deleted file mode 100644 index 03d6e3c..0000000 --- a/RockOS/programs/rocksh/linker.ld +++ /dev/null @@ -1,31 +0,0 @@ -ENTRY(_start) - -SECTIONS -{ - . = 0x40000000; - - .text ALIGN(4K) : - { - /* Force the crt0.o entry code to be placed FIRST in memory */ - KEEP(*crt0.o(.text)) - *(.text .text.*) - } - - .rodata ALIGN(4K) : - { - *(.rodata .rodata.*) - } - - .data ALIGN(4K) : - { - *(.data .data.*) - } - - .bss ALIGN(4K) : - { - _bss_start = .; - *(.bss .bss.*) - *(COMMON) - _bss_end = .; - } -} \ No newline at end of file diff --git a/RockOS/programs/rocksh/main.c b/RockOS/programs/rocksh/main.c deleted file mode 100644 index 201dc16..0000000 --- a/RockOS/programs/rocksh/main.c +++ /dev/null @@ -1,68 +0,0 @@ -#include "syscall.h" -#include -#include -#include -#include - -const char* shell_prompt = "rocksh> "; - -char buf[256]; -size_t buf_offset = 0; - -char path[256]; - -const char* bin_dir = "/bin/"; - -void parse_cmd() { - if (strcmp(buf, "exit") == 0) { - printf("bye!\n"); - exit(0); - } - - if (strcmp(buf, "motd") == 0) { - printf("rockos is the best!\n"); - return; - } - - strcpy(path, bin_dir); - strcat(path, buf); - - int pid = fork(); - if (pid == 0) { - if (!exec(path)) { - printf("failed to execute %s\n", path); - exit(0); - } - } - - int status; - waitpid(pid, &status); - printf("process exited with status %d\n", status); -} - -void reset() { - memset(buf, 0, 256); - buf_offset = 0; -} - -int main(int argc, char *argv[]) { - (void)argc; - (void)argv; - - printf(shell_prompt); - while (1) { - char c; - int rd = read(0, &c, 1); - if (rd > 0) { - if (c == '\n') { - parse_cmd(); - reset(); - printf(shell_prompt); - continue; - } - buf[buf_offset++] = c; - } - } - - return 0; -} \ No newline at end of file diff --git a/RockOS/programs/rocksh/makefile b/RockOS/programs/rocksh/makefile deleted file mode 100644 index 31e51e6..0000000 --- a/RockOS/programs/rocksh/makefile +++ /dev/null @@ -1,23 +0,0 @@ -CC = i686-elf-gcc -LD = i686-elf-ld - -CFLAGS = -ffreestanding -O2 -Wall -Wextra -I../../rocklibc/include -LDFLAGS = -m elf_i386 -nostdlib - -TARGET = rocksh.elf - -all: $(TARGET) - -crt0.o: crt0.S - $(CC) $(CFLAGS) -c crt0.S -o crt0.o - -main.o: main.c - $(CC) $(CFLAGS) -c main.c -o main.o - -$(TARGET): crt0.o main.o ../lib/rlibc.a - $(LD) $(LDFLAGS) -T linker.ld crt0.o main.o ../lib/rlibc.a -o $(TARGET) - -clean: - rm -f *.o $(TARGET) - -.PHONY: all clean test \ No newline at end of file diff --git a/RockOS/programs/test/compile_commands.json b/RockOS/programs/test/compile_commands.json deleted file mode 100644 index 63209b9..0000000 --- a/RockOS/programs/test/compile_commands.json +++ /dev/null @@ -1,36 +0,0 @@ -[ - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-I../../rocklibc/include", - "-c", - "-o", - "crt0.o", - "crt0.S" - ], - "directory": "/home/slinky/source/RockOS/programs/test", - "file": "/home/slinky/source/RockOS/programs/test/crt0.S", - "output": "/home/slinky/source/RockOS/programs/test/crt0.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-I../../rocklibc/include", - "-c", - "-o", - "main.o", - "main.c" - ], - "directory": "/home/slinky/source/RockOS/programs/test", - "file": "/home/slinky/source/RockOS/programs/test/main.c", - "output": "/home/slinky/source/RockOS/programs/test/main.o" - } -] diff --git a/RockOS/programs/test/crt0.S b/RockOS/programs/test/crt0.S deleted file mode 100644 index d97f158..0000000 --- a/RockOS/programs/test/crt0.S +++ /dev/null @@ -1,21 +0,0 @@ -.global _start -.extern exit -.section .text -_start: - xor %ebp, %ebp - - mov (%esp), %eax - lea 4(%esp), %ebx - lea 8(%esp,%eax,4), %ecx - - and $-16, %esp - - push %ecx - push %ebx - push %eax - - call main - - push %eax - call exit - diff --git a/RockOS/programs/test/linker.ld b/RockOS/programs/test/linker.ld deleted file mode 100644 index 03d6e3c..0000000 --- a/RockOS/programs/test/linker.ld +++ /dev/null @@ -1,31 +0,0 @@ -ENTRY(_start) - -SECTIONS -{ - . = 0x40000000; - - .text ALIGN(4K) : - { - /* Force the crt0.o entry code to be placed FIRST in memory */ - KEEP(*crt0.o(.text)) - *(.text .text.*) - } - - .rodata ALIGN(4K) : - { - *(.rodata .rodata.*) - } - - .data ALIGN(4K) : - { - *(.data .data.*) - } - - .bss ALIGN(4K) : - { - _bss_start = .; - *(.bss .bss.*) - *(COMMON) - _bss_end = .; - } -} \ No newline at end of file diff --git a/RockOS/programs/test/main.c b/RockOS/programs/test/main.c deleted file mode 100644 index cf4c43c..0000000 --- a/RockOS/programs/test/main.c +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main(int argc, char** argv) { - printf("hello, world!\n"); - return 0; -} \ No newline at end of file diff --git a/RockOS/programs/test/makefile b/RockOS/programs/test/makefile deleted file mode 100644 index cca7c29..0000000 --- a/RockOS/programs/test/makefile +++ /dev/null @@ -1,23 +0,0 @@ -CC = i686-elf-gcc -LD = i686-elf-ld - -CFLAGS = -ffreestanding -O2 -Wall -Wextra -I../../rocklibc/include -LDFLAGS = -m elf_i386 -nostdlib - -TARGET = test.elf - -all: $(TARGET) - -crt0.o: crt0.S - $(CC) $(CFLAGS) -c crt0.S -o crt0.o - -main.o: main.c - $(CC) $(CFLAGS) -c main.c -o main.o - -$(TARGET): crt0.o main.o ../lib/rlibc.a - $(LD) $(LDFLAGS) -T linker.ld crt0.o main.o ../lib/rlibc.a -o $(TARGET) - -clean: - rm -f *.o $(TARGET) - -.PHONY: all clean test \ No newline at end of file diff --git a/RockOS/programs/vga_text_term/compile_commands.json b/RockOS/programs/vga_text_term/compile_commands.json deleted file mode 100644 index 6386dfb..0000000 --- a/RockOS/programs/vga_text_term/compile_commands.json +++ /dev/null @@ -1,36 +0,0 @@ -[ - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-I../../rocklibc/include", - "-c", - "-o", - "crt0.o", - "crt0.S" - ], - "directory": "/home/slinky/source/RockOS/programs/vga_text_term", - "file": "/home/slinky/source/RockOS/programs/vga_text_term/crt0.S", - "output": "/home/slinky/source/RockOS/programs/vga_text_term/crt0.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-I../../rocklibc/include", - "-c", - "-o", - "main.o", - "main.c" - ], - "directory": "/home/slinky/source/RockOS/programs/vga_text_term", - "file": "/home/slinky/source/RockOS/programs/vga_text_term/main.c", - "output": "/home/slinky/source/RockOS/programs/vga_text_term/main.o" - } -] diff --git a/RockOS/programs/vga_text_term/crt0.S b/RockOS/programs/vga_text_term/crt0.S deleted file mode 100644 index d97f158..0000000 --- a/RockOS/programs/vga_text_term/crt0.S +++ /dev/null @@ -1,21 +0,0 @@ -.global _start -.extern exit -.section .text -_start: - xor %ebp, %ebp - - mov (%esp), %eax - lea 4(%esp), %ebx - lea 8(%esp,%eax,4), %ecx - - and $-16, %esp - - push %ecx - push %ebx - push %eax - - call main - - push %eax - call exit - diff --git a/RockOS/programs/vga_text_term/linker.ld b/RockOS/programs/vga_text_term/linker.ld deleted file mode 100644 index 03d6e3c..0000000 --- a/RockOS/programs/vga_text_term/linker.ld +++ /dev/null @@ -1,31 +0,0 @@ -ENTRY(_start) - -SECTIONS -{ - . = 0x40000000; - - .text ALIGN(4K) : - { - /* Force the crt0.o entry code to be placed FIRST in memory */ - KEEP(*crt0.o(.text)) - *(.text .text.*) - } - - .rodata ALIGN(4K) : - { - *(.rodata .rodata.*) - } - - .data ALIGN(4K) : - { - *(.data .data.*) - } - - .bss ALIGN(4K) : - { - _bss_start = .; - *(.bss .bss.*) - *(COMMON) - _bss_end = .; - } -} \ No newline at end of file diff --git a/RockOS/programs/vga_text_term/main.c b/RockOS/programs/vga_text_term/main.c deleted file mode 100644 index 7c2f108..0000000 --- a/RockOS/programs/vga_text_term/main.c +++ /dev/null @@ -1,69 +0,0 @@ -#include - -#define VGA_TEXT_W 80 -#define VGA_TEXT_H 25 - -void term(); - -int ptys; -int ptym; - -int main(int argc, char *argv[]) { - (void)argc; - (void)argv; - - ptym = pty(&ptys); - - if (fork() == 0) { - close(ptym); - dup2(ptys, 0); - dup2(0, 1); - dup2(0, 2); - - exec("/bin/rocksh.elf"); - } - - close(ptys); - dup2(ptym, 0); - dup2(0, 1); - dup2(0, 2); - - term(); - - return 0; -} - -void clear(int fd) { - lseek(fd, 0, 0); - size_t bytes = VGA_TEXT_W * VGA_TEXT_H; - char c = ' '; - for (size_t i = 0; i < bytes; i++) { - write(fd, &c, 1); - } - lseek(fd, 0, 0); -} - -void term() { - int vga_fd = open("/dev/tvga"); - if (vga_fd == -1) return; - - int kbd_fd = open("/dev/kbd"); - if (kbd_fd == -1) return; - - clear(vga_fd); - - char c; - while (1) { - // first, get shell output - int rd = read(0, &c, 1); - if (rd > 0) { - write(vga_fd, &c, 1); - } - - // then read a byte from the kbd. If we got one, pass it to the shell - rd = read(kbd_fd, &c, 1); - if (rd > 0) { - write(1, &c, 1); - } - } -} \ No newline at end of file diff --git a/RockOS/programs/vga_text_term/makefile b/RockOS/programs/vga_text_term/makefile deleted file mode 100644 index 3b8f645..0000000 --- a/RockOS/programs/vga_text_term/makefile +++ /dev/null @@ -1,23 +0,0 @@ -CC = i686-elf-gcc -LD = i686-elf-ld - -CFLAGS = -ffreestanding -O2 -Wall -Wextra -I../../rocklibc/include -LDFLAGS = -m elf_i386 -nostdlib - -TARGET = vga_text_term.elf - -all: $(TARGET) - -crt0.o: crt0.S - $(CC) $(CFLAGS) -c crt0.S -o crt0.o - -main.o: main.c - $(CC) $(CFLAGS) -c main.c -o main.o - -$(TARGET): crt0.o main.o ../lib/rlibc.a - $(LD) $(LDFLAGS) -T linker.ld crt0.o main.o ../lib/rlibc.a -o $(TARGET) - -clean: - rm -f *.o $(TARGET) - -.PHONY: all clean test \ No newline at end of file diff --git a/RockOS/rocklibc/.gitignore b/RockOS/rocklibc/.gitignore deleted file mode 100644 index aa00c4e..0000000 --- a/RockOS/rocklibc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*.a \ No newline at end of file diff --git a/RockOS/rocklibc/compile_commands.json b/RockOS/rocklibc/compile_commands.json deleted file mode 100644 index c1d5345..0000000 --- a/RockOS/rocklibc/compile_commands.json +++ /dev/null @@ -1,104 +0,0 @@ -[ - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Iinclude", - "-c", - "-o", - "src/string.o", - "src/string.c" - ], - "directory": "/home/slinky/source/RockOS/rocklibc", - "file": "/home/slinky/source/RockOS/rocklibc/src/string.c", - "output": "/home/slinky/source/RockOS/rocklibc/src/string.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Iinclude", - "-c", - "-o", - "src/malloc.o", - "src/malloc.c" - ], - "directory": "/home/slinky/source/RockOS/rocklibc", - "file": "/home/slinky/source/RockOS/rocklibc/src/malloc.c", - "output": "/home/slinky/source/RockOS/rocklibc/src/malloc.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Iinclude", - "-c", - "-o", - "src/strcat.o", - "src/strcat.c" - ], - "directory": "/home/slinky/source/RockOS/rocklibc", - "file": "/home/slinky/source/RockOS/rocklibc/src/strcat.c", - "output": "/home/slinky/source/RockOS/rocklibc/src/strcat.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Iinclude", - "-c", - "-o", - "src/syscall.o", - "src/syscall.c" - ], - "directory": "/home/slinky/source/RockOS/rocklibc", - "file": "/home/slinky/source/RockOS/rocklibc/src/syscall.c", - "output": "/home/slinky/source/RockOS/rocklibc/src/syscall.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Iinclude", - "-c", - "-o", - "src/strtok.o", - "src/strtok.c" - ], - "directory": "/home/slinky/source/RockOS/rocklibc", - "file": "/home/slinky/source/RockOS/rocklibc/src/strtok.c", - "output": "/home/slinky/source/RockOS/rocklibc/src/strtok.o" - }, - { - "arguments": [ - "/home/slinky/opt/cross/bin/i686-elf-gcc", - "-ffreestanding", - "-O2", - "-Wall", - "-Wextra", - "-Iinclude", - "-c", - "-o", - "src/stdio.o", - "src/stdio.c" - ], - "directory": "/home/slinky/source/RockOS/rocklibc", - "file": "/home/slinky/source/RockOS/rocklibc/src/stdio.c", - "output": "/home/slinky/source/RockOS/rocklibc/src/stdio.o" - } -] diff --git a/RockOS/rocklibc/include/stdio.h b/RockOS/rocklibc/include/stdio.h deleted file mode 100644 index 008aa81..0000000 --- a/RockOS/rocklibc/include/stdio.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef RLIBC_STDIO_H -#define RLIBC_STDIO_H - -#include - -int printf(const char *format, ...); - -char getchar(void); - -#endif \ No newline at end of file diff --git a/RockOS/rocklibc/include/stdlib.h b/RockOS/rocklibc/include/stdlib.h deleted file mode 100644 index a6ebd4a..0000000 --- a/RockOS/rocklibc/include/stdlib.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef RLIBC_STDLIB_H -#define RLIBC_STDLIB_H - -#include - -void* malloc(size_t size); - -#endif \ No newline at end of file diff --git a/RockOS/rocklibc/include/string.h b/RockOS/rocklibc/include/string.h deleted file mode 100644 index 6ab6e20..0000000 --- a/RockOS/rocklibc/include/string.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef RLIBC_STRING_H -#define RLIBC_STRING_H - -#include - -void *memcpy(void *restrict dest, const void *restrict src, size_t n); -void *memmove(void *dest, const void *src, size_t n); -void *memset(void *s, int c, size_t n); - -size_t strlen(const char *s); -int strcmp(const char *s1, const char *s2); -char *strcpy(char *dest, const char *src); -char* strcat(char *dest, const char* src); - -#endif \ No newline at end of file diff --git a/RockOS/rocklibc/include/sys/types.h b/RockOS/rocklibc/include/sys/types.h deleted file mode 100644 index 4215af9..0000000 --- a/RockOS/rocklibc/include/sys/types.h +++ /dev/null @@ -1,8 +0,0 @@ -#ifndef RLIBC_SYS_TYPES_H -#define RLIBC_SYS_TYPES_H - -typedef long off_t; - -typedef int ssize_t; - -#endif \ No newline at end of file diff --git a/RockOS/rocklibc/include/syscall.h b/RockOS/rocklibc/include/syscall.h deleted file mode 100644 index 1ff4d32..0000000 --- a/RockOS/rocklibc/include/syscall.h +++ /dev/null @@ -1,40 +0,0 @@ -#ifndef RLIBC_SYSCALL_H -#define RLIBC_SYSCALL_H - -#include -#include - -#define SYS_EXIT 1 -#define SYS_READ 3 -#define SYS_WRITE 4 -#define SYS_OPEN 5 -#define SYS_CLOSE 6 -#define SYS_BRK 12 -#define SYS_SBRK 13 -#define SYS_PTY 20 -#define SYS_FORK 21 -#define SYS_EXEC 22 -#define SYS_DUP2 23 -#define SYS_LSEEK 24 -#define SYS_WAIT 25 - -int open(const char* path); -int write(int fd, const void *buf, size_t count); -int read(int fd, void *buf, size_t count); -int close(int fd); - -int lseek(int fd, size_t offset, int whence); - -void exit(int status) __attribute__((noreturn)); - -void* sbrk(int32_t increment); -int brk(void *addr); - -int pty(int* slave); - -int fork(); -int exec(const char* path); -int dup2(int src, int dst); -int waitpid(int pid, int* status); - -#endif \ No newline at end of file diff --git a/RockOS/rocklibc/include/unistd.h b/RockOS/rocklibc/include/unistd.h deleted file mode 100644 index 7fe0f4c..0000000 --- a/RockOS/rocklibc/include/unistd.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef RLIBC_UNISTD_H -#define RLIBC_UNISTD_H - -#include -#include - -#define STDIN_FILENO 0 -#define STDOUT_FILENO 1 -#define STDERR_FILENO 2 - -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - -#endif \ No newline at end of file diff --git a/RockOS/rocklibc/makefile b/RockOS/rocklibc/makefile deleted file mode 100644 index 8fdc2ba..0000000 --- a/RockOS/rocklibc/makefile +++ /dev/null @@ -1,20 +0,0 @@ -CC = i686-elf-gcc -AR = i686-elf-ar -CFLAGS = -ffreestanding -O2 -Wall -Wextra -Iinclude -TARGET = rlibc.a - -SRCS = $(shell find src -name "*.c") -OBJS = $(SRCS:.c=.o) - -all: $(TARGET) - -$(TARGET): $(OBJS) - $(AR) rcs $@ $(OBJS) - -%.o: %.c - $(CC) $(CFLAGS) -c $< -o $@ - -clean: - rm -f $(OBJS) $(TARGET) - -.PHONY: all clean \ No newline at end of file diff --git a/RockOS/rocklibc/src/malloc.c b/RockOS/rocklibc/src/malloc.c deleted file mode 100644 index 3fa4ecb..0000000 --- a/RockOS/rocklibc/src/malloc.c +++ /dev/null @@ -1,74 +0,0 @@ -#include -#include - -#define ALIGN(size) (((size) + 3) & ~3) -#define HEADER_SIZE sizeof(struct Header) - -struct Header { - size_t size; - int is_free; - struct Header* next; -}; - -static struct Header* free_list_head = NULL; - -static struct Header* find_free_block(struct Header** last, size_t size) { - struct Header* current = free_list_head; - while (current && !(current->is_free && current->size >= size)) { - *last = current; - current = current->next; - } - return current; -} - -static struct Header* request_space(struct Header* last, size_t size) { - struct Header* block = sbrk(0); - void* request = sbrk(size + HEADER_SIZE); - - if (request == (void*)-1) { - return NULL; - } - - if (last) { - last->next = block; - } - - block->size = size; - block->next = NULL; - block->is_free = 0; - return block; -} - -void* malloc(size_t size) { - if (size <= 0) { - return NULL; - } - - size = ALIGN(size); - - if (free_list_head == NULL) { - struct Header* block = request_space(NULL, size); - if (!block) return NULL; - free_list_head = block; - return (void*)(block + 1); - } - - struct Header* last = free_list_head; - struct Header* block = find_free_block(&last, size); - - if (block) { - block->is_free = 0; - } else { - block = request_space(last, size); - if (!block) return NULL; - } - - return (void*)(block + 1); -} - -void free(void* ptr) { - if (!ptr) return; - - struct Header* block = (struct Header*)ptr - 1; - block->is_free = 1; -} \ No newline at end of file diff --git a/RockOS/rocklibc/src/stdio.c b/RockOS/rocklibc/src/stdio.c deleted file mode 100644 index f6c4415..0000000 --- a/RockOS/rocklibc/src/stdio.c +++ /dev/null @@ -1,122 +0,0 @@ -#include -#include - -static void utoa(unsigned int value, char *buf, int base) { - char temp[32]; - int i = 0; - - // Handle zero explicitly - if (value == 0) { - buf[0] = '0'; - buf[1] = '\0'; - return; - } - - // Convert digits in reverse order - while (value > 0) { - int remainder = value % base; - if (remainder < 10) { - temp[i++] = '0' + remainder; - } else { - temp[i++] = 'a' + (remainder - 10); - } - value /= base; - } - - // Reverse the string into the output destination buffer - int j = 0; - while (i > 0) { - buf[j++] = temp[--i]; - } - buf[j] = '\0'; -} - -/* Helper function to convert a signed integer to a string */ -static void itoa(int value, char *buf, int base) { - if (value < 0 && base == 10) { - *buf++ = '-'; - value = -value; - } - utoa((unsigned int)value, buf, base); -} - -int printf(const char *format, ...) { - va_list args; - va_start(args, format); - - int written_total = 0; - char num_buf[32]; // Stack-allocated scratchpad for string conversions - - while (*format != '\0') { - if (*format == '%') { - format++; // Move past '%' - - switch (*format) { - case 'c': { - char c = (char)va_arg(args, int); - write(1, &c, 1); - written_total++; - break; - } - case 's': { - char *s = va_arg(args, char *); - if (!s) s = "(null)"; - // Find length manually without dragging headers - int len = 0; - while (s[len] != '\0') len++; - write(1, s, len); - written_total += len; - break; - } - case 'd': - case 'i': { - int n = va_arg(args, int); - itoa(n, num_buf, 10); - int len = 0; - while (num_buf[len] != '\0') len++; - write(1, num_buf, len); - written_total += len; - break; - } - case 'x': { - unsigned int x = va_arg(args, unsigned int); - utoa(x, num_buf, 16); - int len = 0; - while (num_buf[len] != '\0') len++; - write(1, num_buf, len); - written_total += len; - break; - } - case '%': { - write(1, "%", 1); - written_total++; - break; - } - default: - // Unknown conversion, print verbatim - write(1, format - 1, 2); - written_total += 2; - break; - } - } else { - // Standard text character - write(1, format, 1); - written_total++; - } - format++; - } - - va_end(args); - return written_total; -} - -char getchar(void) { - char c; - int res = read(0, &c, 1); - - if (res <= 0) { - return -1; - } - - return (char)c; -} diff --git a/RockOS/rocklibc/src/strcat.c b/RockOS/rocklibc/src/strcat.c deleted file mode 100644 index e31409f..0000000 --- a/RockOS/rocklibc/src/strcat.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -char* strcat(char* dest, const char* src) { - char* start = dest + strlen(dest); - strcpy(start, src); - return dest; -} \ No newline at end of file diff --git a/RockOS/rocklibc/src/string.c b/RockOS/rocklibc/src/string.c deleted file mode 100644 index cd4a0e1..0000000 --- a/RockOS/rocklibc/src/string.c +++ /dev/null @@ -1,68 +0,0 @@ -#include - -void *memcpy(void *restrict dest, const void *restrict src, size_t n) { - char *d = (char *)dest; - const char *s = (const char *)src; - - for (size_t i = 0; i < n; i++) { - d[i] = s[i]; - } - return dest; -} - -/* Copy memory area: safely handles overlapping regions */ -void *memmove(void *dest, const void *src, size_t n) { - char *d = (char *)dest; - const char *s = (const char *)src; - - if (d < s) { - // Copy forward - for (size_t i = 0; i < n; i++) { - d[i] = s[i]; - } - } else if (d > s) { - // Copy backward to prevent overwriting uncopied data - for (size_t i = n; i > 0; i--) { - d[i - 1] = s[i - 1]; - } - } - return dest; -} - -/* Fill memory block with a constant byte */ -void *memset(void *s, int c, size_t n) { - unsigned char *p = (unsigned char *)s; - for (size_t i = 0; i < n; i++) { - p[i] = (unsigned char)c; - } - return s; -} - -/* Calculate the length of a string */ -size_t strlen(const char *s) { - size_t len = 0; - while (s[len] != '\0') { - len++; - } - return len; -} - -/* Compare two strings */ -int strcmp(const char *s1, const char *s2) { - while (*s1 && (*s1 == *s2)) { - s1++; - s2++; - } - return *(unsigned char *)s1 - *(unsigned char *)s2; -} - -/* Copy a string from src to dest */ -char *strcpy(char *dest, const char *src) { - size_t i = 0; - while (src[i] != '\0') { - dest[i] = src[i]; - i++; - } - dest[i] = '\0'; - return dest; -} \ No newline at end of file diff --git a/RockOS/rocklibc/src/strtok.c b/RockOS/rocklibc/src/strtok.c deleted file mode 100644 index 641f0d8..0000000 --- a/RockOS/rocklibc/src/strtok.c +++ /dev/null @@ -1,63 +0,0 @@ -#include - -static size_t kernel_strspn(const char *s, const char *accept) { - const char *p; - const char *a; - size_t count = 0; - - for (p = s; *p != '\0'; ++p) { - for (a = accept; *a != '\0'; ++a) { - if (*p == *a) - break; - } - if (*a == '\0') - return count; - ++count; - } - return count; -} - -static char *kernel_strpbrk(const char *s, const char *accept) { - while (*s != '\0') { - const char *a = accept; - while (*a != '\0') { - if (*s == *a) { - return (char *)s; - } - a++; - } - s++; - } - return NULL; -} - -char *strtok_r(char *str, const char *delim, char **saveptr) { - char *token; - - if (str == NULL) { - str = *saveptr; - } - - if (str == NULL || *str == '\0') { - *saveptr = NULL; - return NULL; - } - - str += kernel_strspn(str, delim); - if (*str == '\0') { - *saveptr = NULL; - return NULL; - } - - token = str; - str = kernel_strpbrk(token, delim); - - if (str == NULL) { - *saveptr = NULL; - } else { - *str = '\0'; - *saveptr = str + 1; - } - - return token; -} \ No newline at end of file diff --git a/RockOS/rocklibc/src/syscall.c b/RockOS/rocklibc/src/syscall.c deleted file mode 100644 index 87f67ff..0000000 --- a/RockOS/rocklibc/src/syscall.c +++ /dev/null @@ -1,76 +0,0 @@ -#include - -static inline int syscall1(int num, uint32_t arg1) { - int ret; - asm volatile ( - "int $0x80" - : "=a"(ret) - : "a"(num), "b"(arg1) - : "memory" - ); - return ret; -} - -static inline int syscall3(int num, uint32_t arg1, uint32_t arg2, uint32_t arg3) { - int ret; - asm volatile ( - "int $0x80" - : "=a"(ret) - : "a"(num), "b"(arg1), "c"(arg2), "d"(arg3) - : "memory" - ); - return ret; -} - -void exit(int status) { - syscall1(SYS_EXIT, (uint32_t)status); - while(1); -} - -int open(const char* path) { - return syscall3(SYS_OPEN, (uint32_t)path, 0, 0); -} - -int write(int fd, const void* buf, size_t cnt) { - return syscall3(SYS_WRITE, (uint32_t)fd, (uint32_t)buf, (uint32_t)cnt); -} - -int read(int fd, void* buf, size_t cnt) { - return syscall3(SYS_READ, (uint32_t)fd, (uint32_t)buf, (uint32_t)cnt); -} - -int lseek(int fd, size_t offset, int whence) { - return syscall3(SYS_LSEEK, (uint32_t)fd, offset, whence); -} - -int close(int fd) { - return syscall1(SYS_CLOSE, fd); -} - -int pty(int* slave) { - return syscall1(SYS_PTY, (uint32_t)slave); -} - -int fork() { - return syscall1(SYS_FORK, 0); -} - -int exec(const char* path) { - return syscall1(SYS_EXEC, (uint32_t)path); -} - -int dup2(int src, int dst) { - return syscall3(SYS_DUP2, src, dst, 0); -} - -int waitpid(int pid, int* status) { - return syscall3(SYS_WAIT, pid, (uint32_t)status, 0); -} - -void* sbrk(int32_t increment) { - return (void*)syscall1(SYS_SBRK, increment); -} - -int brk(void *addr) { - return syscall1(SYS_BRK, (uint32_t)addr); -} \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/assert.h b/RockOS/sysroot/usr/include/assert.h deleted file mode 100644 index 34bea52..0000000 --- a/RockOS/sysroot/usr/include/assert.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Diagnostics - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_internal.h" - -#ifndef _PDCLIB_ASSERT_H -#define _PDCLIB_ASSERT_H _PDCLIB_ASSERT_H -_PDCLIB_PUBLIC void _PDCLIB_assert99( const char * const, const char * const, const char * const ); -_PDCLIB_PUBLIC void _PDCLIB_assert89( const char * const ); -#endif - -/* If NDEBUG is set, assert() is a null operation. */ -#undef assert - -#ifdef NDEBUG -#define assert( ignore ) ( (void) 0 ) -#else -#if __STDC_VERSION__ >= 199901L -#define assert( expression ) ( ( expression ) ? (void) 0 \ - : _PDCLIB_assert99( "Assertion failed: " #expression \ - ", function ", __func__, \ - ", file " __FILE__ \ - ", line " _PDCLIB_value2string( __LINE__ ) \ - ".\n" ) ) -#else -#define assert( expression ) ( ( expression ) ? (void) 0 \ - : _PDCLIB_assert89( "Assertion failed: " #expression \ - ", file " __FILE__ \ - ", line " _PDCLIB_value2string( __LINE__ ) \ - ".\n" ) ) -#endif -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_ASSERT_H -#include _PDCLIB_EXTEND_ASSERT_H -#endif - -#ifdef __cplusplus -} -#endif diff --git a/RockOS/sysroot/usr/include/ctype.h b/RockOS/sysroot/usr/include/ctype.h deleted file mode 100644 index 551667a..0000000 --- a/RockOS/sysroot/usr/include/ctype.h +++ /dev/null @@ -1,110 +0,0 @@ -/* Character handling - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_CTYPE_H -#define _PDCLIB_CTYPE_H _PDCLIB_CTYPE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_internal.h" - -/* Character classification functions */ - -/* Note that there is a difference between "whitespace" (any printing, non- - graph character, like horizontal and vertical tab), and "blank" (the literal - ' ' space character). - - There will be masking macros for each of these later on, but right now I - focus on the functions only. -*/ - -/* Returns isalpha( c ) || isdigit( c ) */ -_PDCLIB_PUBLIC int isalnum( int c ); - -/* Returns isupper( c ) || islower( c ) in the "C" locale. - In any other locale, also returns true for a locale-specific set of - alphabetic characters which are neither control characters, digits, - punctation, or whitespace. -*/ -_PDCLIB_PUBLIC int isalpha( int c ); - -/* Returns true if the character isspace() and used for separating words within - a line of text. In the "C" locale, only ' ' and '\t' are considered blanks. -*/ -_PDCLIB_PUBLIC int isblank( int c ); - -/* Returns true if the character is a control character. */ -_PDCLIB_PUBLIC int iscntrl( int c ); - -/* Returns true if the character is a decimal digit. Locale-independent. */ -_PDCLIB_PUBLIC int isdigit( int c ); - -/* Returns true for every printing character except space (' '). - NOTE: This definition differs from that of iswgraph() in , - which considers any iswspace() character, not only ' '. -*/ -_PDCLIB_PUBLIC int isgraph( int c ); - -/* Returns true for lowercase letters in the "C" locale. - In any other locale, also returns true for a locale-specific set of - characters which are neither control characters, digits, punctation, or - space (' '). In a locale other than the "C" locale, a character might test - true for both islower() and isupper(). -*/ -_PDCLIB_PUBLIC int islower( int c ); - -/* Returns true for every printing character including space (' '). */ -_PDCLIB_PUBLIC int isprint( int c ); - -/* Returns true for a locale-specific set of punctuation charcters; these - may not be whitespace or alphanumeric. In the "C" locale, returns true - for every printing character that is not whitespace or alphanumeric. -*/ -_PDCLIB_PUBLIC int ispunct( int c ); - -/* Returns true for every standard whitespace character (' ', '\f', '\n', '\r', - '\t', '\v') in the "C" locale. In any other locale, also returns true for a - locale-specific set of characters for which isalnum() is false. -*/ -_PDCLIB_PUBLIC int isspace( int c ); - -/* Returns true for uppercase letters in the "C" locale. - In any other locale, also returns true for a locale-specific set of - characters which are neither control characters, digits, punctation, or - space (' '). In a locale other than the "C" locale, a character might test - true for both islower() and isupper(). -*/ -_PDCLIB_PUBLIC int isupper( int c ); - -/* Returns true for any hexadecimal-digit character. Locale-independent. */ -_PDCLIB_PUBLIC int isxdigit( int c ); - -/* Character case mapping functions */ - -/* Converts an uppercase letter to a corresponding lowercase letter. Input that - is not an uppercase letter remains unchanged. -*/ -_PDCLIB_PUBLIC int tolower( int c ); - -/* Converts a lowercase letter to a corresponding uppercase letter. Input that - is not a lowercase letter remains unchanged. -*/ -_PDCLIB_PUBLIC int toupper( int c ); - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_CTYPE_H -#include _PDCLIB_EXTEND_CTYPE_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/errno.h b/RockOS/sysroot/usr/include/errno.h deleted file mode 100644 index 28eaf5b..0000000 --- a/RockOS/sysroot/usr/include/errno.h +++ /dev/null @@ -1,202 +0,0 @@ -/* Errors - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_ERRNO_H -#define _PDCLIB_ERRNO_H _PDCLIB_ERRNO_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -/* FIXME: With , this needs to be in thread-specific storage. */ -#define errno (*_PDCLIB_errno_func()) - -/* C only requires the following three */ - -/* Result too large */ -#define ERANGE _PDCLIB_ERANGE -/* Mathematics argument out of domain of function */ -#define EDOM _PDCLIB_EDOM -/* Illegal byte sequence */ -#define EILSEQ _PDCLIB_EILSEQ - -/* C++ additionally requires the folloing */ - -/* Argument list too long */ -#define E2BIG _PDCLIB_E2BIG -/* Permission denied */ -#define EACCES _PDCLIB_EACCES -/* Address in use */ -#define EADDRINUSE _PDCLIB_EADDRINUSE -/* Address not available */ -#define EADDRNOTAVAIL _PDCLIB_EADDRNOTAVAIL -/* Address family not supported */ -#define EAFNOSUPPORT _PDCLIB_EAFNOSUPPORT -/* Resource unavailable, try again */ -#define EAGAIN _PDCLIB_EAGAIN -/* Connection already in progress */ -#define EALREADY _PDCLIB_EALREADY -/* Bad file descriptor */ -#define EBADF _PDCLIB_EBADF -/* Bad message */ -#define EBADMSG _PDCLIB_EBADMSG -/* Device or resource busy */ -#define EBUSY _PDCLIB_EBUSY -/* Operation canceled */ -#define ECANCELED _PDCLIB_ECANCELED -/* No child processes */ -#define ECHILD _PDCLIB_ECHILD -/* Connection aborted */ -#define ECONNABORTED _PDCLIB_ECONNABORTED -/* Connection refused */ -#define ECONNREFUSED _PDCLIB_ECONNREFUSED -/* Connection reset */ -#define ECONNRESET _PDCLIB_ECONNRESET -/* Resource deadlock would occur */ -#define EDEADLK _PDCLIB_EDEADLK -/* Destination address required */ -#define EDESTADDRREQ _PDCLIB_EDESTADDRREQ -/* File exists */ -#define EEXIST _PDCLIB_EEXIST -/* Bad address */ -#define EFAULT _PDCLIB_EFAULT -/* File too large */ -#define EFBIG _PDCLIB_EFBIG -/* Host is unreachable */ -#define EHOSTUNREACH _PDCLIB_EHOSTUNREACH -/* Identifier removed */ -#define EIDRM _PDCLIB_EIDRM -/* Operation in progress */ -#define EINPROGRESS _PDCLIB_EINPROGRESS -/* Interrupted function */ -#define EINTR _PDCLIB_EINTR -/* Invalid argument */ -#define EINVAL _PDCLIB_EINVAL -/* I/O error */ -#define EIO _PDCLIB_EIO -/* Socket is connected */ -#define EISCONN _PDCLIB_EISCONN -/* Is a directory */ -#define EISDIR _PDCLIB_EISDIR -/* Too many levels of symbolic links */ -#define ELOOP _PDCLIB_ELOOP -/* File descriptor value too large */ -#define EMFILE _PDCLIB_EMFILE -/* Too many links */ -#define EMLINK _PDCLIB_EMLINK -/* Message too large */ -#define EMSGSIZE _PDCLIB_EMSGSIZE -/* Filename too long */ -#define ENAMETOOLONG _PDCLIB_ENAMETOOLONG -/* Network is down */ -#define ENETDOWN _PDCLIB_ENETDOWN -/* Connection aborted by network */ -#define ENETRESET _PDCLIB_ENETRESET -/* Network unreachable */ -#define ENETUNREACH _PDCLIB_ENETUNREACH -/* Too many files open in system */ -#define ENFILE _PDCLIB_ENFILE -/* No buffer space available */ -#define ENOBUFS _PDCLIB_ENOBUFS -/* No message is available on the STREAM head read queue */ -#define ENODATA _PDCLIB_ENODATA -/* No such device */ -#define ENODEV _PDCLIB_ENODEV -/* No such file or directory */ -#define ENOENT _PDCLIB_ENOENT -/* Executable file format error */ -#define ENOEXEC _PDCLIB_ENOEXEC -/* No locks available */ -#define ENOLCK _PDCLIB_ENOLCK -/* Link has been severed */ -#define ENOLINK _PDCLIB_ENOLINK -/* Not enough space */ -#define ENOMEM _PDCLIB_ENOMEM -/* No message of the desired type */ -#define ENOMSG _PDCLIB_ENOMSG -/* Protocol not available */ -#define ENOPROTOOPT _PDCLIB_ENOPROTOOPT -/* No space left on device */ -#define ENOSPC _PDCLIB_ENOSPC -/* No STREAM resources */ -#define ENOSR _PDCLIB_ENOSR -/* Not a STREAM */ -#define ENOSTR _PDCLIB_ENOSTR -/* Function not supported */ -#define ENOSYS _PDCLIB_ENOSYS -/* The socket is not connected */ -#define ENOTCONN _PDCLIB_ENOTCONN -/* Not a directory */ -#define ENOTDIR _PDCLIB_ENOTDIR -/* Directory not empty */ -#define ENOTEMPTY _PDCLIB_ENOTEMPTY -/* State not recoverable */ -#define ENOTRECOVERABLE _PDCLIB_ENOTRECOVERABLE -/* Not a socket */ -#define ENOTSOCK _PDCLIB_ENOTSOCK -/* Not supported */ -#define ENOTSUP _PDCLIB_ENOTSUP -/* Inappropriate I/O control operation */ -#define ENOTTY _PDCLIB_ENOTTY -/* No such device or address */ -#define ENXIO _PDCLIB_ENXIO -/* Operation not supported on socket */ -#define EOPNOTSUPP _PDCLIB_EOPNOTSUPP -/* Value too large to be stored in data type */ -#define EOVERFLOW _PDCLIB_EOVERFLOW -/* Previous owner died */ -#define EOWNERDEAD _PDCLIB_EOWNERDEAD -/* Operation not permitted */ -#define EPERM _PDCLIB_EPERM -/* Broken pipe */ -#define EPIPE _PDCLIB_EPIPE -/* Protocol error */ -#define EPROTO _PDCLIB_EPROTO -/* Protocol not supported */ -#define EPROTONOSUPPORT _PDCLIB_EPROTONOSUPPORT -/* Protocol wrong type for socket */ -#define EPROTOTYPE _PDCLIB_EPROTOTYPE -/* Read-only file system */ -#define EROFS _PDCLIB_EROFS -/* Invalid seek */ -#define ESPIPE _PDCLIB_ESPIPE -/* No such process */ -#define ESRCH _PDCLIB_ESRCH -/* Stream ioctl() timeout */ -#define ETIME _PDCLIB_ETIME -/* Connection timed out */ -#define ETIMEDOUT _PDCLIB_ETIMEDOUT -/* Text file busy */ -#define ETXTBSY _PDCLIB_ETXTBSY -/* Operation would block */ -#define EWOULDBLOCK _PDCLIB_EWOULDBLOCK -/* Cross-device link */ -#define EXDEV _PDCLIB_EXDEV - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 -#ifndef _PDCLIB_ERRNO_T_DEFINED -#define _PDCLIB_ERRNO_T_DEFINED _PDCLIB_ERRNO_T_DEFINED -typedef int errno_t; -#endif -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_ERRNO_H -#include _PDCLIB_EXTEND_ERRNO_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/fcntl.h b/RockOS/sysroot/usr/include/fcntl.h deleted file mode 100644 index 99d530f..0000000 --- a/RockOS/sysroot/usr/include/fcntl.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef _FCNTL_H -#define _FCNTL_H - -/* File access modes for open() */ -#define O_RDONLY 00000000 -#define O_WRONLY 00000001 -#define O_RDWR 00000002 - -/* File creation flags */ -#define O_CREAT 00000100 -#define O_EXCL 00000200 -#define O_NOCTTY 00000400 -#define O_TRUNC 00001000 -#define O_APPEND 00002000 -#define O_NONBLOCK 00004000 - -#define AT_FDCWD (-100) - -#endif /* _FCNTL_H */ \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/float.h b/RockOS/sysroot/usr/include/float.h deleted file mode 100644 index 49d5d2e..0000000 --- a/RockOS/sysroot/usr/include/float.h +++ /dev/null @@ -1,82 +0,0 @@ -/* Characteristics of floating types - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_FLOAT_H -#define _PDCLIB_FLOAT_H _PDCLIB_FLOAT_H - -#include "pdclib/_PDCLIB_config.h" - -#define FLT_ROUNDS _PDCLIB_FLT_ROUNDS -#define FLT_EVAL_METHOD _PDCLIB_FLT_EVAL_METHOD -#define DECIMAL_DIG _PDCLIB_DECIMAL_DIG - -/* Radix of exponent representation */ -#define FLT_RADIX __FLT_RADIX__ -/* Number of base-FLT_RADIX digits in the significand of a float */ -#define FLT_MANT_DIG __FLT_MANT_DIG__ -/* Number of decimal digits of precision in a float */ -#define FLT_DIG __FLT_DIG__ -/* Difference between 1.0 and the minimum float greater than 1.0 */ -#define FLT_EPSILON __FLT_EPSILON__ -/* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ -#define FLT_MIN_EXP __FLT_MIN_EXP__ -/* Minimum normalised float */ -#define FLT_MIN __FLT_MIN__ -/* Minimum int x such that 10**x is a normalised float */ -#define FLT_MIN_10_EXP __FLT_MIN_10_EXP__ -/* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ -#define FLT_MAX_EXP __FLT_MAX_EXP__ -/* Maximum float */ -#define FLT_MAX __FLT_MAX__ -/* Maximum int x such that 10**x is a representable float */ -#define FLT_MAX_10_EXP __FLT_MAX_10_EXP__ - -/* Number of base-FLT_RADIX digits in the significand of a double */ -#define DBL_MANT_DIG __DBL_MANT_DIG__ -/* Number of decimal digits of precision in a double */ -#define DBL_DIG __DBL_DIG__ -/* Difference between 1.0 and the minimum double greater than 1.0 */ -#define DBL_EPSILON __DBL_EPSILON__ -/* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ -#define DBL_MIN_EXP __DBL_MIN_EXP__ -/* Minimum normalised double */ -#define DBL_MIN __DBL_MIN__ -/* Minimum int x such that 10**x is a normalised double */ -#define DBL_MIN_10_EXP __DBL_MIN_10_EXP__ -/* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ -#define DBL_MAX_EXP __DBL_MAX_EXP__ -/* Maximum double */ -#define DBL_MAX __DBL_MAX__ -/* Maximum int x such that 10**x is a representable double */ -#define DBL_MAX_10_EXP __DBL_MAX_10_EXP__ - -/* Number of base-FLT_RADIX digits in the significand of a long double */ -#define LDBL_MANT_DIG __LDBL_MANT_DIG__ -/* Number of decimal digits of precision in a long double */ -#define LDBL_DIG __LDBL_DIG__ -/* Difference between 1.0 and the minimum long double greater than 1.0 */ -#define LDBL_EPSILON __LDBL_EPSILON__ -/* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ -#define LDBL_MIN_EXP __LDBL_MIN_EXP__ -/* Minimum normalised long double */ -#define LDBL_MIN __LDBL_MIN__ -/* Minimum int x such that 10**x is a normalised long double */ -#define LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__ -/* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ -#define LDBL_MAX_EXP __LDBL_MAX_EXP__ -/* Maximum long double */ -#define LDBL_MAX __LDBL_MAX__ -/* Maximum int x such that 10**x is a representable long double */ -#define LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__ - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_FLOAT_H -#include _PDCLIB_EXTEND_FLOAT_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/inttypes.h b/RockOS/sysroot/usr/include/inttypes.h deleted file mode 100644 index 0be401d..0000000 --- a/RockOS/sysroot/usr/include/inttypes.h +++ /dev/null @@ -1,368 +0,0 @@ -/* Format conversion of integer types - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_INTTYPES_H -#define _PDCLIB_INTTYPES_H _PDCLIB_INTTYPES_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -typedef struct _PDCLIB_imaxdiv_t imaxdiv_t; - -/* 7.8.1 Macros for format specifiers */ - -/* The various leastN_t, fastN_t, intmax_t, and intptr_t types are typedefs - to native types. But the user does not know which ones, which gives some - problems when trying to *printf() / *scanf() those types. The various - macros defined below allow to give the correct conversion specifiers - without knowing the actual native type they represent. -*/ - -#if _PDCLIB_INT_LEAST8_MAX > _PDCLIB_INT_MAX -#define PRIdLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, d ) ) -#define PRIiLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, i ) ) -#define PRIoLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, o ) ) -#define PRIuLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, u ) ) -#define PRIxLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, x ) ) -#define PRIXLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, X ) ) -#else -#define PRIdLEAST8 "d" -#define PRIiLEAST8 "i" -#define PRIoLEAST8 "o" -#define PRIuLEAST8 "u" -#define PRIxLEAST8 "x" -#define PRIXLEAST8 "X" -#endif - -#if _PDCLIB_INT_FAST8_MAX > _PDCLIB_INT_MAX -#define PRIdFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, d ) ) -#define PRIiFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, i ) ) -#define PRIoFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, o ) ) -#define PRIuFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, u ) ) -#define PRIxFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, x ) ) -#define PRIXFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, X ) ) -#else -#define PRIdFAST8 "d" -#define PRIiFAST8 "i" -#define PRIoFAST8 "o" -#define PRIuFAST8 "u" -#define PRIxFAST8 "x" -#define PRIXFAST8 "X" -#endif - -#if _PDCLIB_INT_LEAST16_MAX > _PDCLIB_INT_MAX -#define PRIdLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, d ) ) -#define PRIiLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, i ) ) -#define PRIoLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, o ) ) -#define PRIuLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, u ) ) -#define PRIxLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, x ) ) -#define PRIXLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, X ) ) -#else -#define PRIdLEAST16 "d" -#define PRIiLEAST16 "i" -#define PRIoLEAST16 "o" -#define PRIuLEAST16 "u" -#define PRIxLEAST16 "x" -#define PRIXLEAST16 "X" -#endif - -#if _PDCLIB_INT_FAST16_MAX > _PDCLIB_INT_MAX -#define PRIdFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, d ) ) -#define PRIiFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, i ) ) -#define PRIoFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, o ) ) -#define PRIuFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, u ) ) -#define PRIxFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, x ) ) -#define PRIXFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, X ) ) -#else -#define PRIdFAST16 "d" -#define PRIiFAST16 "i" -#define PRIoFAST16 "o" -#define PRIuFAST16 "u" -#define PRIxFAST16 "x" -#define PRIXFAST16 "X" -#endif - -#if _PDCLIB_INT_LEAST32_MAX > _PDCLIB_INT_MAX -#define PRIdLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, d ) ) -#define PRIiLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, i ) ) -#define PRIoLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, o ) ) -#define PRIuLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, u ) ) -#define PRIxLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, x ) ) -#define PRIXLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, X ) ) -#else -#define PRIdLEAST32 "d" -#define PRIiLEAST32 "i" -#define PRIoLEAST32 "o" -#define PRIuLEAST32 "u" -#define PRIxLEAST32 "x" -#define PRIXLEAST32 "X" -#endif - -#if _PDCLIB_INT_FAST32_MAX > _PDCLIB_INT_MAX -#define PRIdFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, d ) ) -#define PRIiFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, i ) ) -#define PRIoFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, o ) ) -#define PRIuFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, u ) ) -#define PRIxFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, x ) ) -#define PRIXFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, X ) ) -#else -#define PRIdFAST32 "d" -#define PRIiFAST32 "i" -#define PRIoFAST32 "o" -#define PRIuFAST32 "u" -#define PRIxFAST32 "x" -#define PRIXFAST32 "X" -#endif - -#if _PDCLIB_INT_LEAST64_MAX > _PDCLIB_INT_MAX -#define PRIdLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, d ) ) -#define PRIiLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, i ) ) -#define PRIoLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, o ) ) -#define PRIuLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, u ) ) -#define PRIxLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, x ) ) -#define PRIXLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, X ) ) -#else -#define PRIdLEAST64 "d" -#define PRIiLEAST64 "i" -#define PRIoLEAST64 "o" -#define PRIuLEAST64 "u" -#define PRIxLEAST64 "x" -#define PRIXLEAST64 "X" -#endif - -#if _PDCLIB_INT_FAST64_MAX > _PDCLIB_INT_MAX -#define PRIdFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, d ) ) -#define PRIiFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, i ) ) -#define PRIoFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, o ) ) -#define PRIuFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, u ) ) -#define PRIxFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, x ) ) -#define PRIXFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, X ) ) -#else -#define PRIdFAST64 "d" -#define PRIiFAST64 "i" -#define PRIoFAST64 "o" -#define PRIuFAST64 "u" -#define PRIxFAST64 "x" -#define PRIXFAST64 "X" -#endif - -#if _PDCLIB_INTMAX_MAX > _PDCLIB_INT_MAX -#define PRIdMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, d ) ) -#define PRIiMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, i ) ) -#define PRIoMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, o ) ) -#define PRIuMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, u ) ) -#define PRIxMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, x ) ) -#define PRIXMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, X ) ) -#else -#define PRIdMAX "d" -#define PRIiMAX "i" -#define PRIoMAX "o" -#define PRIuMAX "u" -#define PRIxMAX "x" -#define PRIXMAX "X" -#endif - -#if _PDCLIB_INTPTR_MAX > _PDCLIB_INT_MAX -#define PRIdPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, d ) ) -#define PRIiPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, i ) ) -#define PRIoPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, o ) ) -#define PRIuPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, u ) ) -#define PRIxPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, x ) ) -#define PRIXPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, X ) ) -#else -#define PRIdPTR "d" -#define PRIiPTR "i" -#define PRIoPTR "o" -#define PRIuPTR "u" -#define PRIxPTR "x" -#define PRIXPTR "X" -#endif - -#define SCNdLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, d ) ) -#define SCNiLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, i ) ) -#define SCNoLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, o ) ) -#define SCNuLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, u ) ) -#define SCNxLEAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, x ) ) - -#define SCNdFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, d ) ) -#define SCNiFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, i ) ) -#define SCNoFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, o ) ) -#define SCNuFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, u ) ) -#define SCNxFAST8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST8_PREFIX, x ) ) - -#define SCNdLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, d ) ) -#define SCNiLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, i ) ) -#define SCNoLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, o ) ) -#define SCNuLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, u ) ) -#define SCNxLEAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, x ) ) - -#define SCNdFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, d ) ) -#define SCNiFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, i ) ) -#define SCNoFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, o ) ) -#define SCNuFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, u ) ) -#define SCNxFAST16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST16_PREFIX, x ) ) - -#define SCNdLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, d ) ) -#define SCNiLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, i ) ) -#define SCNoLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, o ) ) -#define SCNuLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, u ) ) -#define SCNxLEAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, x ) ) - -#define SCNdFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, d ) ) -#define SCNiFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, i ) ) -#define SCNoFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, o ) ) -#define SCNuFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, u ) ) -#define SCNxFAST32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST32_PREFIX, x ) ) - -#define SCNdLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, d ) ) -#define SCNiLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, i ) ) -#define SCNoLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, o ) ) -#define SCNuLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, u ) ) -#define SCNxLEAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, x ) ) - -#define SCNdFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, d ) ) -#define SCNiFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, i ) ) -#define SCNoFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, o ) ) -#define SCNuFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, u ) ) -#define SCNxFAST64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_FAST64_PREFIX, x ) ) - -#define SCNdMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, d ) ) -#define SCNiMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, i ) ) -#define SCNoMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, o ) ) -#define SCNuMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, u ) ) -#define SCNxMAX _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTMAX_PREFIX, x ) ) - -#define SCNdPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, d ) ) -#define SCNiPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, i ) ) -#define SCNoPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, o ) ) -#define SCNuPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, u ) ) -#define SCNxPTR _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INTPTR_PREFIX, x ) ) - -/* The exact-width types (int8_t, int16_t, ...) are *optional*, as not all - architectures support the necessary 8-bits-per-byte two's complement - native types. -*/ - -#if _PDCLIB_TWOS_COMPLEMENT == 1 - -#if _PDCLIB_INT_LEAST8_MAX == 0x7f -#if _PDCLIB_INT_LEAST8_MAX > _PDCLIB_INT_MAX -#define PRId8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, d ) ) -#define PRIi8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, i ) ) -#define PRIo8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, o ) ) -#define PRIu8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, u ) ) -#define PRIx8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, x ) ) -#define PRIX8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, X ) ) -#endif -#define SCNd8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, d ) ) -#define SCNi8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, i ) ) -#define SCNo8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, o ) ) -#define SCNu8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, u ) ) -#define SCNx8 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST8_PREFIX, x ) ) -#endif - -#if _PDCLIB_INT_LEAST16_MAX == 0x7fff -#if _PDCLIB_INT_LEAST16_MAX > _PDCLIB_INT_MAX -#define PRId16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, d ) ) -#define PRIi16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, i ) ) -#define PRIo16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, o ) ) -#define PRIu16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, u ) ) -#define PRIx16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, x ) ) -#define PRIX16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, X ) ) -#endif -#define SCNd16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, d ) ) -#define SCNi16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, i ) ) -#define SCNo16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, o ) ) -#define SCNu16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, u ) ) -#define SCNx16 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST16_PREFIX, x ) ) -#endif - -#if _PDCLIB_INT_LEAST32_MAX == 0x7fffffffl -#if _PDCLIB_INT_LEAST32_MAX > _PDCLIB_INT_MAX -#define PRId32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, d ) ) -#define PRIi32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, i ) ) -#define PRIo32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, o ) ) -#define PRIu32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, u ) ) -#define PRIx32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, x ) ) -#define PRIX32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, X ) ) -#endif -#define SCNd32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, d ) ) -#define SCNi32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, i ) ) -#define SCNo32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, o ) ) -#define SCNu32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, u ) ) -#define SCNx32 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST32_PREFIX, x ) ) -#endif - -#if _PDCLIB_INT_LEAST64_MAX == 0x7fffffffffffffffll -#if _PDCLIB_INT_LEAST64_MAX > _PDCLIB_INT_MAX -#define PRId64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, d ) ) -#define PRIi64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, i ) ) -#define PRIo64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, o ) ) -#define PRIu64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, u ) ) -#define PRIx64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, x ) ) -#define PRIX64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, X ) ) -#endif -#define SCNd64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, d ) ) -#define SCNi64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, i ) ) -#define SCNo64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, o ) ) -#define SCNu64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, u ) ) -#define SCNx64 _PDCLIB_value2string( _PDCLIB_concat( _PDCLIB_INT_LEAST64_PREFIX, x ) ) -#endif - -#endif - -/* 7.8.2 Functions for greatest-width integer types */ - -/* Calculate the absolute value of j */ -_PDCLIB_PUBLIC intmax_t imaxabs( intmax_t j ); - -/* Return quotient (quot) and remainder (rem) of an integer division in the - imaxdiv_t struct. -*/ -_PDCLIB_PUBLIC imaxdiv_t imaxdiv( intmax_t numer, intmax_t denom ); - -/* Separate the character array nptr into three parts: A (possibly empty) - sequence of whitespace characters, a character representation of an integer - to the given base, and trailing invalid characters (including the terminating - null character). If base is 0, assume it to be 10, unless the integer - representation starts with 0x / 0X (setting base to 16) or 0 (setting base to - 8). If given, base can be anything from 0 to 36, using the 26 letters of the - base alphabet (both lowercase and uppercase) as digits 10 through 35. - The integer representation is then converted into the return type of the - function. It can start with a '+' or '-' sign. If the sign is '-', the result - of the conversion is negated. - If the conversion is successful, the converted value is returned. If endptr - is not a NULL pointer, a pointer to the first trailing invalid character is - returned in *endptr. - If no conversion could be performed, zero is returned (and nptr in *endptr, - if endptr is not a NULL pointer). If the converted value does not fit into - the return type, the functions return INTMAX_MIN, INTMAX_MAX, or UINTMAX_MAX, - respectively, depending on the sign of the integer representation and the - return type, and errno is set to ERANGE. -*/ -/* This function is equivalent to strtol() / strtoul() in , but on - the potentially larger type. -*/ -_PDCLIB_PUBLIC intmax_t strtoimax( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr, int base ); -_PDCLIB_PUBLIC uintmax_t strtoumax( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr, int base ); - -/* TODO: wcstoimax(), wcstoumax() */ - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_INTTYPES_H -#include _PDCLIB_EXTEND_INTTYPES_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/iso646.h b/RockOS/sysroot/usr/include/iso646.h deleted file mode 100644 index 88e521c..0000000 --- a/RockOS/sysroot/usr/include/iso646.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Alternative spellings - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_ISO646_H -#define _PDCLIB_ISO646_H _PDCLIB_ISO646_H - -#ifndef __cplusplus -#define and && -#define and_eq &= -#define bitand & -#define bitor | -#define compl ~ -#define not ! -#define not_eq != -#define or || -#define or_eq |= -#define xor ^ -#define xor_eq ^= -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_ISO646_H -#include _PDCLIB_EXTEND_ISO646_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/limits.h b/RockOS/sysroot/usr/include/limits.h deleted file mode 100644 index 72268a4..0000000 --- a/RockOS/sysroot/usr/include/limits.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Sizes of integer types - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_LIMITS_H -#define _PDCLIB_LIMITS_H _PDCLIB_LIMITS_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_internal.h" - -/* TODO: Defined to 1 as multibyte characters are not supported yet. */ -#define MB_LEN_MAX 1 - -#define LLONG_MIN _PDCLIB_LLONG_MIN -#define LLONG_MAX _PDCLIB_LLONG_MAX -#define ULLONG_MAX _PDCLIB_ULLONG_MAX - -#define CHAR_BIT _PDCLIB_CHAR_BIT -#define CHAR_MAX _PDCLIB_CHAR_MAX -#define CHAR_MIN _PDCLIB_CHAR_MIN -#define SCHAR_MAX _PDCLIB_SCHAR_MAX -#define SCHAR_MIN _PDCLIB_SCHAR_MIN -#define UCHAR_MAX _PDCLIB_UCHAR_MAX -#define SHRT_MAX _PDCLIB_SHRT_MAX -#define SHRT_MIN _PDCLIB_SHRT_MIN -#define INT_MAX _PDCLIB_INT_MAX -#define INT_MIN _PDCLIB_INT_MIN -#define LONG_MAX _PDCLIB_LONG_MAX -#define LONG_MIN _PDCLIB_LONG_MIN -#define USHRT_MAX _PDCLIB_USHRT_MAX -#define UINT_MAX _PDCLIB_UINT_MAX -#define ULONG_MAX _PDCLIB_ULONG_MAX - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_LIMITS_H -#include _PDCLIB_EXTEND_LIMITS_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/locale.h b/RockOS/sysroot/usr/include/locale.h deleted file mode 100644 index 0c18446..0000000 --- a/RockOS/sysroot/usr/include/locale.h +++ /dev/null @@ -1,114 +0,0 @@ -/* Localization - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_LOCALE_H -#define _PDCLIB_LOCALE_H _PDCLIB_LOCALE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_internal.h" - -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -/* The structure returned by localeconv(). - - The values for *_sep_by_space: - 0 - no space - 1 - if symbol and sign are adjacent, a space separates them from the value; - otherwise a space separates the symbol from the value - 2 - if symbol and sign are adjacent, a space separates them; otherwise a - space separates the sign from the value - - The values for *_sign_posn: - 0 - Parentheses surround value and symbol - 1 - sign precedes value and symbol - 2 - sign succeeds value and symbol - 3 - sign immediately precedes symbol - 4 - sign immediately succeeds symbol -*/ -struct lconv -{ - char * decimal_point; /* decimal point character */ /* LC_NUMERIC */ - char * thousands_sep; /* character for separating groups of digits */ /* LC_NUMERIC */ - char * grouping; /* string indicating the size of digit groups */ /* LC_NUMERIC */ - char * mon_decimal_point; /* decimal point for monetary quantities */ /* LC_MONETARY */ - char * mon_thousands_sep; /* thousands_sep for monetary quantities */ /* LC_MONETARY */ - char * mon_grouping; /* grouping for monetary quantities */ /* LC_MONETARY */ - char * positive_sign; /* string indicating nonnegative mty. qty. */ /* LC_MONETARY */ - char * negative_sign; /* string indicating negative mty. qty. */ /* LC_MONETARY */ - char * currency_symbol; /* local currency symbol (e.g. '$') */ /* LC_MONETARY */ - char * int_curr_symbol; /* international currency symbol (e.g. "USD" */ /* LC_MONETARY */ - char frac_digits; /* fractional digits in local monetary qty. */ /* LC_MONETARY */ - char p_cs_precedes; /* if currency_symbol precedes positive qty. */ /* LC_MONETARY */ - char n_cs_precedes; /* if currency_symbol precedes negative qty. */ /* LC_MONETARY */ - char p_sep_by_space; /* if it is separated by space from pos. qty. */ /* LC_MONETARY */ - char n_sep_by_space; /* if it is separated by space from neg. qty. */ /* LC_MONETARY */ - char p_sign_posn; /* positioning of positive_sign for mon. qty. */ /* LC_MONETARY */ - char n_sign_posn; /* positioning of negative_sign for mon. qty. */ /* LC_MONETARY */ - char int_frac_digits; /* Same as above, for international format */ /* LC_MONETARY */ - char int_p_cs_precedes; /* Same as above, for international format */ /* LC_MONETARY */ - char int_n_cs_precedes; /* Same as above, for international format */ /* LC_MONETARY */ - char int_p_sep_by_space; /* Same as above, for international format */ /* LC_MONETARY */ - char int_n_sep_by_space; /* Same as above, for international format */ /* LC_MONETARY */ - char int_p_sign_posn; /* Same as above, for international format */ /* LC_MONETARY */ - char int_n_sign_posn; /* Same as above, for international format */ /* LC_MONETARY */ -}; - -/* First arguments to setlocale(). - NOTE: If you add to / modify these, look at functions/locale/setlocale.c - and keep things in sync. -*/ -/* Entire locale */ -#define LC_ALL _PDCLIB_LC_ALL -/* Collation (strcoll(), strxfrm()) */ -#define LC_COLLATE _PDCLIB_LC_COLLATE -/* Character types (, ) */ -#define LC_CTYPE _PDCLIB_LC_CTYPE -/* Monetary formatting (as returned by localeconv) */ -#define LC_MONETARY _PDCLIB_LC_MONETARY -/* Decimal-point character (for printf() / scanf() functions), string - conversions, nonmonetary formatting as returned by localeconv -*/ -#define LC_NUMERIC _PDCLIB_LC_NUMERIC -/* Time formats (strftime(), wcsftime()) */ -#define LC_TIME _PDCLIB_LC_TIME -/* Messages (not specified but allowed by C99, and specified by POSIX) - (used by perror() / strerror()) -*/ -#define LC_MESSAGES _PDCLIB_LC_MESSAGES - -/* The category parameter can be any of the LC_* macros to specify if the call - to setlocale() shall affect the entire locale or only a portion thereof. - The category locale specifies which locale should be switched to, with "C" - being the minimal default locale, and "" being the locale-specific native - environment. A NULL pointer makes setlocale() return the *current* setting. - Otherwise, returns a pointer to a string associated with the specified - category for the new locale. -*/ -_PDCLIB_PUBLIC char * setlocale( int category, const char * locale ); - -/* Returns a struct lconv initialized to the values appropriate for the current - locale setting. -*/ -_PDCLIB_PUBLIC struct lconv * localeconv( void ); - -#ifdef __cplusplus -} -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_LOCALE_H -#include _PDCLIB_EXTEND_LOCALE_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/math.h b/RockOS/sysroot/usr/include/math.h deleted file mode 100644 index 88b6619..0000000 --- a/RockOS/sysroot/usr/include/math.h +++ /dev/null @@ -1,467 +0,0 @@ -/* Mathematics - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_MATH_H -#define _PDCLIB_MATH_H _PDCLIB_MATH_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -typedef float float_t; -typedef double double_t; - -#define HUGE_VALF _PDCLIB_HUGE_VALF; -#define HUGE_VAL _PDCLIB_HUGE_VAL; -#define HUGE_VALL _PDCLIB_HUGE_VALL; - -#define INFINITY (_PDCLIB_FLT_MAX * 2) -#define NAN ( -(0.0f / 0.0f) ) - -#define FP_FAST_FMAF -#define FP_FAST_FMA -#define FP_FAST_FMAL - -#define FP_ILOGB0 INT_MIN -#define FP_ILOGBNAN INT_MAX - -#define MATH_ERRNO 1 -#define MATH_ERREXCEPT 2 - -#define math_errhandling - -/* Classification */ - -/* FP_ZERO, FP_SUBNORMAL, FP_NORMAL */ -#define isfinite( x ) _PDCLIB_GENERIC( isfinite, x ) - -/* FP_INFINITE */ -#define isinf( x ) _PDCLIB_GENERIC( isinf, x ) - -/* FP_NAN */ -#define isnan( x ) _PDCLIB_GENERIC( isnan, x ) - -/* FP_NORMAL */ -#define isnormal( x ) _PDCLIB_GENERIC( isnormal, x ) - -/* Negative */ -#define signbit( x ) _PDCLIB_GENERIC( signbit, x ) - -/* See FP_* classes */ -#define fpclassify( x ) _PDCLIB_GENERIC( fpclassify, x ) - -#define FP_INFINITE 1 -#define FP_NAN 2 -#define FP_NORMAL 3 -#define FP_SUBNORMAL 4 -#define FP_ZERO 5 - -/* Trigonometric functions */ - -/* The principal value of the arc cosine of x. - Domain error for arguments not in the interval -1..+1. - Returns the interval 0..Pi radians. -*/ -double acos( double x ); -float acosf( float x ); -long double acosl( long double x ); - -/* The principal value of the arc sine of x. - Domain error for arguments not in the interval -1..+1. - Returns the interval -Pi/2..Pi/2 radians. -*/ -double asin( double x ); -float asinf( float x ); -long double asinl( long double x ); - -/* The principal value of the arc tangent of x. - Returns the interval -Pi/2..Pi/2 radians. -*/ -double atan( double x ); -float atanf( float x ); -long double atanl( long double x ); - -/* The value of the arc tangent of y/x, using the signs of both - arguments to determine the quadrant of the return value. - Domain error if both arguments are zero. - Returns the interval -Pi..Pi radians. -*/ -double atan2( double y, double x ); -float atan2f( float y, float x ); -long double atan2l( long double y, long double x ); - -/* Cosine of x in radians. */ -double cos( double x ); -float cosf( float x ); -long double cosl( long double x ); - -/* Sine of x in radians. */ -double sin( double x ); -float sinf( float x ); -long double sinl( long double x ); - -/* Tangent of x in radians. */ -double tan( double x ); -float tanf( float x ); -long double tanl( long double x ); - -/* Hyperbolic functions */ - -/* The (nonnegative) arc hyberbolic cosine of x. - Domain error for arguments less than 1. - Returns the interval 0..INF. -*/ -double acosh( double x ); -float acoshf( float x ); -long double acoshl( long double x ); - -/* The arc hyberbolic sine of x. -*/ -double asinh( double x ); -float asinhf( float x ); -long double asinhl( long double x ); - -/* The arc hyberbolic tangent of x. - Domain error for arguments not in -1..1. - Range error if -1 or +1. -*/ -double atanh( double x ); -float atanhf( float x ); -long double atanhl( long double x ); - -/* The hyberbolic cosine of x. - Range error if magnitude of x is too large. -*/ -double cosh( double x ); -float coshf( float x ); -long double coshl( long double x ); - -/* The hyberbolic sine of x. - Range error if magnitude of x is too large. -*/ -double sinh( double x ); -float sinhf( float x ); -long double sinhl( long double x ); - -/* The hyberbolic tangent of x. - Range error if magnitude of x is too large. -*/ -double tanh( double x ); -float tanhf( float x ); -long double tanhl( long double x ); - -/* Exponential and logarithmic functions */ - -/* The base-e exponential of x. - Range error if magnitude of x is too large. -*/ -double exp( double x ); -float expf( float x ); -long double expl( long double x ); - -/* The base-2 exponential of x. - Range error if magnitude of x is too large. -*/ -double exp2( double x ); -float exp2f( float x ); -long double exp2l( long double x ); - -/* The base-e exponential of x, minus 1. - Range error if magnitude of x is too large. - Returns e^x - 1. -*/ -double expm1( double x ); -float expm1f( float x ); -long double expm1l( long double x ); - -/* Breaks a floating-point number into a normalized fraction - and an integral power of 2 (stored in the object pointed - to by exp). -*/ -double frexp( double value, int * exp ); -float frexpf( float value, int * exp ); -long double frexpl( long double value, int * exp ); - -/* Extract the exponent of x as a signed int. - * Returns FP_ILOGB0 if x is zero, INT_MAX if x is infinite, - * FP_ILOGBNAN if x is a NaN. Range error may occur if x is 0. -*/ -double ilogb( double x ); -float ilogbf( float x ); -long double ilogbl( long double x ); - -/* Multiply x by 2^exp. Range error may occur. */ -double ldexp( double x, int exp ); -float ldexpf( float x, int exp ); -long double ldexpl( long double x, int exp ); - -/* Compute the base-e logarithm of x. - Domain error if argument is negative. - Range error if argument is zero. -*/ -double log( double x ); -float logf( float x ); -long double logl( long double x ); - -/* Compute the base-10 logarithm of x. - Domain error if argument is negative. - Range error if argument is zero. -*/ -double log10( double x ); -float log10f( float x ); -long double log10l( long double x ); - -/* Compute the base-e logarithm of 1 plus x. - Domain error if argument is less than -1. - Range error if argument is -1. -*/ -double log1p( double x ); -float log1pf( float x ); -long double log1pl( long double x ); - -/* Compute the base-2 logarithm of x. - Domain error if argument is negative. - Range error if argument is zero. -*/ -double log2( double x ); -float log2f( float x ); -long double log2l( long double x ); - -/* Extract exponent of x, as signed integer in floating-point format. - Subnormal is treated as though normalized. - Domain error if argument is zero. -*/ -double logb( double x ); -float logbf( float x ); -long double logbl( long double x ); - -/* Breaks value into integral and fractional parts, each having - the same type and sign as the argument. The integral part is - stored in the object pointed to by iptr. -*/ -double modf( double value, double * exp ); -float modff( float value, float * exp ); -long double modfl( long double value, long double * exp ); - -/* Compute x * FLT_RADIX^n efficiently. Range error may occur. */ -double scalbn( double x, int n ); -float scalbnf( float x, int n ); -long double scalbnl( long double x, int n ); - -double scalbln( double x, long int * n ); -float scalblnf( float x, long int * n ); -long double scalblnl( long double x, long int * n ); - -/* Power and absolute-value functions */ - -/* Returns x^1/3. */ -double cbrt( double x ); -float cbrtf( float x ); -long double cbrtl( long double x ); - -/* Returns absolute value of x. */ -double fabs( double x ); -float fabsf( float x ); -long double fabsl( long double x ); - -/* Returns square root of the sum of squares of x and y. - Range error may occur. -*/ -double hypot( double x, double y ); -float hypotf( float x, float y ); -long double hypotl( long double x, long double y ); - -/* Returns x^y. - Domain error if x is finite and negative and y is finite and not - an integer value. - Domain error if x is zero and y is less or equal zero. - Range error may occur. -*/ -double pow( double x, double y ); -float powf( float x, float y ); -long double powl( long double x, long double y ); - -/* Returns x^1/2. */ -double sqrt( double x ); -float sqrtf( float x ); -long double sqrtl( long double x ); - -/* Error and gamma functions */ - -/* Compute the error function of x. */ -double erf( double x ); -float erff( float x ); -long double erfl( long double x ); - -/* Compute the complementary error function of x. - Range error if x is too large. -*/ -double erfc( double x ); -float erfcf( float x ); -long double erfcl( long double x ); - -/* Compute the natural logarithm of the absolute value of gamma(x). - Range error if x is too lange, x is negative, or zero. -*/ -double lgamma( double x ); -float lgammaf( float x ); -long double lgammal( long double x ); - -/* Compute the gamma function of x. - Range error if x is negative, or zero, too large or too small. -*/ -double tgamma( double x ); -float tgammaf( float x ); -long double tgammal( long double x ); - -/* Nearest integer functions */ - -/* The smallest integer no less than x. */ -double ceil( double x ); -float ceilf( float x ); -long double ceill( long double x ); - -/* The largest integer no greater than x. */ -double floor( double x ); -float floorf( float x ); -long double floorl( long double x ); - -/* Round in current rounding direction. No "inexact" exception. */ -double nearbyint( double x ); -float nearbyintf( float x ); -long double nearbyintl( long double x ); - -/* Round in current rounding direction. Raises "inexact" exception. */ -double rint( double x ); -float rintf( float x ); -long double rintl( long double x ); - -/* Round in current rounding direction. - Range error if magnitude is too large. -*/ -long int lrint( double x ); -long int lrintf( float x ); -long int lrintl( long double x ); -long long int llrint( double x ); -long long int llrintf( float x ); -long long int llrintl( long double x ); - -/* Round to nearest, breaking ties away from zero. */ -double round( double x ); -float roundf( float x ); -long double roundl( long double x ); - -/* Round to nearest, breaking ties away from zero. - Range error if magnitude is too large. -*/ -long int lround( double x ); -long int lroundf( float x ); -long int lroundl( long double x ); -long long int llround( double x ); -long long int llroundf( float x ); -long long int llroundl( long double x ); - -/* Round toward zero. */ -double trunc( double x ); -float truncf( float x ); -long double truncl( long double x ); - -/* Remainder functions */ - -/* Compute the remainder of x / y. */ -double fmod( double x, double y ); -float fmodf( float x, float y ); -long double fmodl( long double x, long double y ); - -/* Compute the remainder of x REM y. */ -double remainder( double x, double y ); -float remainderf( float x, float y ); -long double remainderl( long double x, long double y ); - -/* Compute the remainder of x REM y. In quo store a value with - the sign of the quotient and magnitude congruent mod 2^n to - the magnitude of the integral quotient of x / y, with n - an implementation-defined integer greater than or equal to 3. -*/ -double rmquo( double x, double y ); -float rmquof( float x, float y ); -long double rmquol( long double x, long double y ); - -/* Manipulation functions */ - -/* Returns a value with magnitude of x and sign of y. */ -double copysign( double x, double y ); -float copysignf( float x, float y ); -long double copysignl( long double x, long double y ); - -/* Returns a NaN value with the given n-char sequence. */ -double nan( const char * tagp ); -float nanf( const char * tagp ); -long double nanl( const char * tagp ); - -/* Determine the next representable value after x in direction y. - Range error if result is not representable. -*/ -double nextafter( double x, double y ); -float nextafterf( float x, float y ); -long double nextafterl( long double x, long double y ); - -/* As nextafter but with long double as second parameter. */ -double nexttoward( double x, double y ); -float nexttowardf( float x, float y ); -long double nexttowardl( long double x, long double y ); - -/* Maximum, minimum, and positive difference functions */ - -/* Positive difference. */ -double fdim( double x, double y ); -float fdimf( float x, float y ); -long double fdiml( long double x, long double y ); - -/* Maximum. */ -double fmax( double x, double y ); -float fmaxf( float x, float y ); -long double fmaxl( long double x, long double y ); - -/* Minimum. */ -double fmin( double x, double y ); -float fminf( float x, float y ); -long double fminl( long double x, long double y ); - -/* Multiply-add. */ -double fma( double x, double y, double z ); -float fmaf( float x, float y, float z ); -long double fmal( long double x, long double y, long double z ); - -/* Comparison macros (without "invalid" FP exception) */ - -#define isgreater( x, y ) - -#define isgreaterequal( x, y ) - -#define isless( x, y ) - -#define islessequal( x, y ) - -#define islessgreater( x, y ) - -#define isunordered( x, y ) - -#ifdef __cplusplus -} -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_MATH_H -#include _PDCLIB_EXTEND_MATH_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_config.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_config.h deleted file mode 100644 index 653f89e..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_config.h +++ /dev/null @@ -1,915 +0,0 @@ -/* Internal PDCLib configuration <_PDCLIB_config.h> - ("Example" platform target, for PDCLib development) - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_CONFIG_H -#define _PDCLIB_CONFIG_H _PDCLIB_CONFIG_H - -/* -------------------------------------------------------------------------- */ -/* Misc */ -/* -------------------------------------------------------------------------- */ - -/* Helper macros also documented in _PDCLIB_internal.h, but defined here as */ -/* they are needed in this file already. */ -/* _PDCLIB_cc( x, y ) concatenates two preprocessor tokens without extending. */ -/* _PDCLIB_concat( x, y ) concatenates two preprocessor tokens with extending */ -#define _PDCLIB_cc( x, y ) x ## y -#define _PDCLIB_concat( x, y ) _PDCLIB_cc( x, y ) - -/* exit() can signal success to the host environment by the value of zero or */ -/* the constant EXIT_SUCCESS. Failure is signaled by EXIT_FAILURE. Note that */ -/* any other return value is "implementation-defined", i.e. your environment */ -/* is not required to handle it gracefully. Set your definitions here. */ -#define _PDCLIB_SUCCESS 0 -#define _PDCLIB_FAILURE -1 - -/* qsort() in requires a function that swaps two memory areas. */ -/* Below is a naive implementation that can be improved significantly for */ -/* specific platforms, e.g. by swapping int instead of char. */ -#define _PDCLIB_memswp( i, j, size ) \ - char tmp; \ - do { \ - tmp = *i; \ - *i++ = *j; \ - *j++ = tmp; \ - } while ( --size ); - -/* Define this to some compiler directive that can be written after the */ -/* parameter list of a function declaration to indicate the function does */ -/* never return. If your compiler does not support such a directive, define */ -/* to nothing. (This is to avoid warnings with the exit functions under GCC */ -/* when compiling with C99/C++ settings, where C11 _Noreturn is unavailable.) */ -#define _PDCLIB_NORETURN __attribute__(( noreturn )) - -/* -------------------------------------------------------------------------- */ -/* Symbol Visibility */ -/* -------------------------------------------------------------------------- */ - -/* This defines _PDCLIB_PUBLIC to indicate external linkage, and _PDCLIB_LOCAL - to indicate local linkage. -*/ - -#ifdef _PDCLIB_STATIC_DEFINE - #define _PDCLIB_PUBLIC - #define _PDCLIB_LOCAL -#else - #if defined _WIN32 || defined __CYGWIN__ - #ifdef _PDCLIB_BUILD - #ifdef __GNUC__ - #define _PDCLIB_PUBLIC __attribute__ ((dllexport)) - #else - #define _PDCLIB_PUBLIC __declspec(dllexport) - #endif - #else - #ifdef __GNUC__ - #define _PDCLIB_PUBLIC __attribute__ ((dllimport)) - #else - #define _PDCLIB_PUBLIC __declspec(dllimport) - #endif - #endif - #define _PDCLIB_LOCAL - #else - #if __GNUC__ >= 4 - #define _PDCLIB_PUBLIC __attribute__ ((visibility ("default"))) - #define _PDCLIB_LOCAL __attribute__ ((visibility ("hidden"))) - #else - #define _PDCLIB_PUBLIC - #define _PDCLIB_LOCAL - #endif - #endif -#endif - -/* -------------------------------------------------------------------------- */ -/* Integers */ -/* -------------------------------------------------------------------------- */ -/* The defines below make use of predefines offered by GCC and clang. If you */ -/* adapt PDCLib for a different compiler family, you will have to use what */ -/* that compiler provides, or enter actual values. */ -/* -------------------------------------------------------------------------- */ - -/* At the point of writing, PDCLib makes no provisions for, nor has it been */ -/* tested, on a platform that uses signed magnitude or one's complement to */ -/* encode its integers. Most importantly, there are no guarantees that the */ -/* negative zero of those encodings is in any form handled gracefully. */ -#define _PDCLIB_TWOS_COMPLEMENT 1 - -/* 1234 for little endian, 4321 for big endian; other types not supported. */ -#define _PDCLIB_ENDIANESS __BYTE_ORDER__ - -/* Calculation of a minimum value from a given maximum for two's complement. */ -/* (For convenience only, used only in this header file below.) */ -#define _PDCLIB_MIN_CALC( max ) ( ( - max ) - 1 ) - -/* Now, introducting the various predefines to the _PDCLIB_* namespace, so */ -/* the rest of PDCLib can work with that and adapting to a different compiler */ -/* will require changes only in this one file. */ - -/* Bits in a char */ -#define _PDCLIB_CHAR_BIT __CHAR_BIT__ - -/* Maximum and minimum values of signed / unsigned char */ -#define _PDCLIB_SCHAR_MAX __SCHAR_MAX__ -#define _PDCLIB_SCHAR_MIN _PDCLIB_MIN_CALC( __SCHAR_MAX__ ) -#define _PDCLIB_UCHAR_MAX ( __SCHAR_MAX__ * 2 + 1 ) - -/* Whether the 'char' type is unsigned */ -#ifdef __CHAR_UNSIGNED__ -#define _PDCLIB_CHAR_MAX _PDCLIB_UCHAR_MAX -#define _PDCLIB_CHAR_MIN 0 -#else -#define _PDCLIB_CHAR_MAX _PDCLIB_SCHAR_MAX -#define _PDCLIB_CHAR_MIN _PDCLIB_SCHAR_MIN -#endif - -/* Maximum and minimum values of signed / unsigned short */ -#define _PDCLIB_SHRT_MAX __SHRT_MAX__ -#define _PDCLIB_SHRT_MIN _PDCLIB_MIN_CALC( __SHRT_MAX__ ) -#define _PDCLIB_USHRT_MAX ( __SHRT_MAX__ * 2u + 1 ) - -/* Maximum and minimum values of signed / unsigned int */ -#define _PDCLIB_INT_MAX __INT_MAX__ -#define _PDCLIB_INT_MIN _PDCLIB_MIN_CALC( __INT_MAX__ ) -#define _PDCLIB_UINT_MAX ( __INT_MAX__ * 2u + 1 ) - -/* Maximum and minimum values of signed / unsigned long */ -#define _PDCLIB_LONG_MAX __LONG_MAX__ -#define _PDCLIB_LONG_MIN _PDCLIB_MIN_CALC( __LONG_MAX__ ) -#define _PDCLIB_ULONG_MAX ( __LONG_MAX__ * 2ul + 1 ) - -/* Maximum and minimum values of signed / unsigned long long */ -#define _PDCLIB_LLONG_MAX __LONG_LONG_MAX__ -#define _PDCLIB_LLONG_MIN _PDCLIB_MIN_CALC( __LONG_LONG_MAX__ ) -#define _PDCLIB_ULLONG_MAX ( __LONG_LONG_MAX__ * 2ull + 1 ) - -/* -------------------------------------------------------------------------- */ -/* defines a set of integer types that are of a minimum width, and */ -/* "usually fastest" on the system. (If, for example, accessing a single char */ -/* requires the CPU to access a complete int and then mask out the char, the */ -/* "usually fastest" type of at least 8 bits would be int, not char.) */ -/* If you do not have information on the relative performance of the types, */ -/* the standard allows you to define any type that meets minimum width and */ -/* signedness requirements. */ -/* The first define is the appropriate basic type (e.g. "long int"), second */ -/* its max value, the third its min value (both expressed in the given type). */ -/* The same follows for the unsigned type (for which the minimum value is */ -/* obviously zero and need not be defined). */ -/* There *are* predefines provided for the printf()/scanf() length specifiers */ -/* but tunneling them through here would have added many lines of repetitive */ -/* and mostly redundant defines. They are determined in <_PDCLIB_internal.h>. */ -/* -------------------------------------------------------------------------- */ - -/* int_fast8_t / uint_fast8_t */ -#define _PDCLIB_int_fast8_t __INT_FAST8_TYPE__ -#define _PDCLIB_INT_FAST8_MAX __INT_FAST8_MAX__ -#define _PDCLIB_INT_FAST8_MIN _PDCLIB_MIN_CALC( __INT_FAST8_MAX__ ) -#define _PDCLIB_uint_fast8_t __UINT_FAST8_TYPE__ -#define _PDCLIB_UINT_FAST8_MAX __UINT_FAST8_MAX__ - -/* int_least8_t / uint_least8_t */ -#define _PDCLIB_int_least8_t __INT_LEAST8_TYPE__ -#define _PDCLIB_INT_LEAST8_MAX __INT_LEAST8_MAX__ -#define _PDCLIB_INT_LEAST8_MIN _PDCLIB_MIN_CALC( __INT_LEAST8_MAX__ ) -#define _PDCLIB_uint_least8_t __UINT_LEAST8_TYPE__ -#define _PDCLIB_UINT_LEAST8_MAX __UINT_LEAST8_MAX__ - -/* int_fast16_t / uint_fast16_t */ -#define _PDCLIB_int_fast16_t __INT_FAST16_TYPE__ -#define _PDCLIB_INT_FAST16_MAX __INT_FAST16_MAX__ -#define _PDCLIB_INT_FAST16_MIN _PDCLIB_MIN_CALC( __INT_FAST16_MAX__ ) -#define _PDCLIB_uint_fast16_t __UINT_FAST16_TYPE__ -#define _PDCLIB_UINT_FAST16_MAX __UINT_FAST16_MAX__ - -/* int_least16_t / uint_least16_t */ -#define _PDCLIB_int_least16_t __INT_LEAST16_TYPE__ -#define _PDCLIB_INT_LEAST16_MAX __INT_LEAST16_MAX__ -#define _PDCLIB_INT_LEAST16_MIN _PDCLIB_MIN_CALC( __INT_LEAST16_MAX__ ) -#define _PDCLIB_uint_least16_t __UINT_LEAST16_TYPE__ -#define _PDCLIB_UINT_LEAST16_MAX __UINT_LEAST16_MAX__ - -/* int_fast32_t / uint_fast32_t */ -#define _PDCLIB_int_fast32_t __INT_FAST32_TYPE__ -#define _PDCLIB_INT_FAST32_MAX __INT_FAST32_MAX__ -#define _PDCLIB_INT_FAST32_MIN _PDCLIB_MIN_CALC( __INT_FAST32_MAX__ ) -#define _PDCLIB_uint_fast32_t __UINT_FAST32_TYPE__ -#define _PDCLIB_UINT_FAST32_MAX __UINT_FAST32_MAX__ - -/* int_least32_t / uint_least32_t */ -#define _PDCLIB_int_least32_t __INT_LEAST32_TYPE__ -#define _PDCLIB_INT_LEAST32_MAX __INT_LEAST32_MAX__ -#define _PDCLIB_INT_LEAST32_MIN _PDCLIB_MIN_CALC( __INT_LEAST32_MAX__ ) -#define _PDCLIB_uint_least32_t __UINT_LEAST32_TYPE__ -#define _PDCLIB_UINT_LEAST32_MAX __UINT_LEAST32_MAX__ - -/* int_fast64_t / uint_fast64_t */ -#define _PDCLIB_int_fast64_t __INT_FAST64_TYPE__ -#define _PDCLIB_INT_FAST64_MAX __INT_FAST64_MAX__ -#define _PDCLIB_INT_FAST64_MIN _PDCLIB_MIN_CALC( __INT_FAST64_MAX__ ) -#define _PDCLIB_uint_fast64_t __UINT_FAST64_TYPE__ -#define _PDCLIB_UINT_FAST64_MAX __UINT_FAST64_MAX__ - -/* int_least64_t / uint_least64_t */ -#define _PDCLIB_int_least64_t __INT_LEAST64_TYPE__ -#define _PDCLIB_INT_LEAST64_MAX __INT_LEAST64_MAX__ -#define _PDCLIB_INT_LEAST64_MIN _PDCLIB_MIN_CALC( __INT_LEAST64_MAX__ ) -#define _PDCLIB_uint_least64_t __UINT_LEAST64_TYPE__ -#define _PDCLIB_UINT_LEAST64_MAX __UINT_LEAST64_MAX__ - -/* Exact-width integer types. These are *optional*. If your platform does not */ -/* support types of these exact widths in two's complement encoding, just */ -/* leave them undefined. */ -#define _PDCLIB_int8_t __INT8_TYPE__ -#define _PDCLIB_int16_t __INT16_TYPE__ -#define _PDCLIB_int32_t __INT32_TYPE__ -#define _PDCLIB_int64_t __INT64_TYPE__ -#define _PDCLIB_uint8_t __UINT8_TYPE__ -#define _PDCLIB_uint16_t __UINT16_TYPE__ -#define _PDCLIB_uint32_t __UINT32_TYPE__ -#define _PDCLIB_uint64_t __UINT64_TYPE__ - -/* INTn_C / UINTn_C macros to define int_leastN_t / uint_leastN_t literals. */ -#if defined( __INT8_C ) -/* GCC */ -#define _PDCLIB_INT_LEAST8_C __INT8_C -#define _PDCLIB_UINT_LEAST8_C __UINT8_C -#define _PDCLIB_INT_LEAST16_C __INT16_C -#define _PDCLIB_UINT_LEAST16_C __UINT16_C -#define _PDCLIB_INT_LEAST32_C __INT32_C -#define _PDCLIB_UINT_LEAST32_C __UINT32_C -#define _PDCLIB_INT_LEAST64_C __INT64_C -#define _PDCLIB_UINT_LEAST64_C __UINT64_C -#elif defined( __INT8_C_SUFFIX__ ) -/* Clang */ -#define _PDCLIB_INT_LEAST8_C(c) _PDCLIB_concat( c, __INT8_C_SUFFIX__ ) -#define _PDCLIB_UINT_LEAST8_C(c) _PDCLIB_concat( c, __UINT8_C_SUFFIX__ ) -#define _PDCLIB_INT_LEAST16_C(c) _PDCLIB_concat( c, __INT16_C_SUFFIX__ ) -#define _PDCLIB_UINT_LEAST16_C(c) _PDCLIB_concat( c, __UINT16_C_SUFFIX__ ) -#define _PDCLIB_INT_LEAST32_C(c) _PDCLIB_concat( c, __INT32_C_SUFFIX__ ) -#define _PDCLIB_UINT_LEAST32_C(c) _PDCLIB_concat( c, __UINT32_C_SUFFIX__ ) -#define _PDCLIB_INT_LEAST64_C(c) _PDCLIB_concat( c, __INT64_C_SUFFIX__ ) -#define _PDCLIB_UINT_LEAST64_C(c) _PDCLIB_concat( c, __UINT64_C_SUFFIX__ ) -#else -#error Please create your own _PDCLIB_config.h. Using the existing one as-is will not work. (Unsupported *INTn_C macros.) -#endif - -/* defines the div() function family that allows taking quotient */ -/* and remainder of an integer division in one operation. Many platforms */ -/* support this in hardware / opcode, and the standard permits ordering of */ -/* the return structure in any way to fit the hardware. That is why those */ -/* structs can be configured here. */ - -struct _PDCLIB_div_t -{ - int quot; - int rem; -}; - -struct _PDCLIB_ldiv_t -{ - long int quot; - long int rem; -}; - -struct _PDCLIB_lldiv_t -{ - long long int quot; - long long int rem; -}; - -/* -------------------------------------------------------------------------- */ -/* What follows are a couple of "special" typedefs and their limits. */ -/* -------------------------------------------------------------------------- */ - -/* The result type of substracting two pointers */ -#define _PDCLIB_ptrdiff_t __PTRDIFF_TYPE__ -#define _PDCLIB_PTRDIFF_MAX __PTRDIFF_MAX__ -#define _PDCLIB_PTRDIFF_MIN _PDCLIB_MIN_CALC( __PTRDIFF_MAX__ ) - -/* An integer type that can be accessed as atomic entity (think asynchronous */ -/* interrupts). In a freestanding environment, the type itself need not be */ -/* defined, but its limits must. (Don't ask.) GCC is so kind to predefine it, */ -/* but clang is only giving us its MAX value, so we use that to identify the */ -/* type in _PDCLIB_int.h if the type definition is unavailable. */ -#ifdef __SIG_ATOMIC_TYPE__ -#define _PDCLIB_sig_atomic_t __SIG_ATOMIC_TYPE__ -#endif -#define _PDCLIB_SIG_ATOMIC_MAX __SIG_ATOMIC_MAX__ -#define _PDCLIB_SIG_ATOMIC_MIN _PDCLIB_MIN_CALC( __SIG_ATOMIC_MAX__ ) - -/* Result type of the 'sizeof' operator (must be unsigned). */ -/* Note: In , this is taken as the base for RSIZE_MAX, the limit */ -/* for the bounds-checking interfaces of Annex K. The recommendation by the */ -/* standard is to use ( SIZE_MAX >> 1 ) when "targeting machines with large */ -/* addess spaces", whereas small address spaces should use SIZE_MAX directly. */ -#define _PDCLIB_size_t __SIZE_TYPE__ -#define _PDCLIB_SIZE_MAX __SIZE_MAX__ - -/* Large enough an integer to hold all character codes of the widest */ -/* supported locale. */ -#define _PDCLIB_wchar_t __WCHAR_TYPE__ -#define _PDCLIB_WCHAR_MAX __WCHAR_MAX__ -#define _PDCLIB_WCHAR_MIN __WCHAR_MIN__ - -/* Large enough an integer to hold all character codes of the widest */ -/* supported locale plus WEOF (which needs not to be equal to EOF, nor needs */ -/* to be of negative value). */ -#define _PDCLIB_wint_t __WINT_TYPE__ -#define _PDCLIB_WINT_MAX __WINT_MAX__ -#define _PDCLIB_WINT_MIN __WINT_MIN__ - -/* Integer types capable of taking the (cast) value of a void *, and having */ -/* the value cast back to void *, comparing equal to the original. */ -#define _PDCLIB_intptr_t __INTPTR_TYPE__ -#define _PDCLIB_INTPTR_MAX __INTPTR_MAX__ -#define _PDCLIB_INTPTR_MIN _PDCLIB_MIN_CALC( __INTPTR_MAX__ ) -#define _PDCLIB_uintptr_t __UINTPTR_TYPE__ -#define _PDCLIB_UINTPTR_MAX __UINTPTR_MAX__ - -/* Largest supported integer type. Implementation note: see _PDCLIB_atomax(). */ -#define _PDCLIB_intmax_t __INTMAX_TYPE__ -#define _PDCLIB_INTMAX_MAX __INTMAX_MAX__ -#define _PDCLIB_INTMAX_MIN _PDCLIB_MIN_CALC( __INTMAX_MAX__ ) -#define _PDCLIB_INTMAX_C __INTMAX_C -#define _PDCLIB_uintmax_t __UINTMAX_TYPE__ -#define _PDCLIB_UINTMAX_MAX __UINTMAX_MAX__ -#define _PDCLIB_UINTMAX_C __UINTMAX_C - -/* defines imaxdiv(), which is equivalent to the div() function */ -/* family (see further above) with intmax_t as basis. */ -struct _PDCLIB_imaxdiv_t -{ - _PDCLIB_intmax_t quot; - _PDCLIB_intmax_t rem; -}; - -/* -------------------------------------------------------------------------- */ -/* Time types, limits, constants, and paths */ -/* -------------------------------------------------------------------------- */ - -/* _PDCLIB_time is the type for type_t; _PDCLIB_clock for clock_t. Both types */ -/* are defined as "real types capable of representing times". The "range and */ -/* precision of times representable" is implementation-defined. */ - -/* For clock_t, the standard defines that dividing the result of clock() by */ -/* CLOCKS_PER_SEC gives the seconds elapsed. */ -#ifdef __CYGWIN__ -#define _PDCLIB_clock_t unsigned long -#else -#define _PDCLIB_clock_t long -#endif -#define _PDCLIB_CLOCKS_PER_SEC 1000000 - -/* For time_t, no such divider exists. Most implementations use a count of */ -/* seconds since a specified epoch. While PDCLib really should support other */ -/* encodings as well, for now "count of seconds" is the only supported one. */ -/* MIN / MAX values for time_t are not required by the standard (and they are */ -/* not "exported" from the _PDCLIB namespace), but they are useful in support */ -/* of the _tzcode implementation. */ -#ifdef __MINGW64__ -#define _PDCLIB_time_t long long -#define _PDCLIB_TIME_MAX __LONG_LONG_MAX__ -#define _PDCLIB_TIME_MIN _PDCLIB_MIN_CALC( __LONG_LONG_MAX__ ) -#else -#define _PDCLIB_time_t long -#define _PDCLIB_TIME_MAX __LONG_MAX__ -#define _PDCLIB_TIME_MIN _PDCLIB_MIN_CALC( __LONG_MAX__ ) -#endif - -/* "Unix time" uses 1970-01-01T00:00:00 as "epoch". If your system uses a */ -/* different "zero point" for its timestamps, set this to the offset between */ -/* your epoch and Unix epoch. (For example, NTP uses 1900-01-01T00:00:00 as */ -/* epoch, giving an offset of (70 * 365 + 17) * 86400 = 220898800 seconds.) */ -#define _PDCLIB_EPOCH_BIAS INT64_C( 0 ) - -/* Leave this alone for now. */ -#define _PDCLIB_TIME_UTC 1 - -/* Path to TZ data. */ -/* IMPORTANT: *Must* end with separator character! */ -/* It does make it much easier for the time data handling code if this detail */ -/* can be relied upon and need not be handled in code. */ -#define _PDCLIB_TZDIR "/usr/share/zoneinfo/" - -/* Path to default (local) timezone */ -#define _PDCLIB_TZDEFAULT "/etc/localtime" - -/* -------------------------------------------------------------------------- */ -/* Floating Point */ -/* -------------------------------------------------------------------------- */ - -/* Whether the implementation rounds toward zero (0), to nearest (1), toward */ -/* positive infinity (2), or toward negative infinity (3). (-1) signifies */ -/* indeterminable rounding, any other value implementation-specific rounding. */ -#define _PDCLIB_FLT_ROUNDS -1 - -/* Check for explanations on each of these values. */ -#define _PDCLIB_FLT_EVAL_METHOD __FLT_EVAL_METHOD__ - -#define _PDCLIB_FLT_HAS_SUBNORM __FLT_HAS_DENORM__ -#define _PDCLIB_DBL_HAS_SUBNORM __DBL_HAS_DENORM__ -#define _PDCLIB_LDBL_HAS_SUBNORM __LDBL_HAS_DENORM__ - -#define _PDCLIB_FLT_RADIX __FLT_RADIX__ - -#define _PDCLIB_FLT_MANT_DIG __FLT_MANT_DIG__ -#define _PDCLIB_DBL_MANT_DIG __DBL_MANT_DIG__ -#define _PDCLIB_LDBL_MANT_DIG __LDBL_MANT_DIG__ - -#define _PDCLIB_FLT_DECIMAL_DIG __FLT_DECIMAL_DIG__ -#define _PDCLIB_DBL_DECIMAL_DIG __DBL_DECIMAL_DIG__ -#define _PDCLIB_LDBL_DECIMAL_DIG __LDBL_DECIMAL_DIG__ - -#define _PDCLIB_DECIMAL_DIG __DECIMAL_DIG__ - -#define _PDCLIB_FLT_DIG __FLT_DIG__ -#define _PDCLIB_DBL_DIG __DBL_DIG__ -#define _PDCLIB_LDBL_DIG __LDBL_DIG__ - -#define _PDCLIB_FLT_MIN_EXP __FLT_MIN_EXP__ -#define _PDCLIB_DBL_MIN_EXP __DBL_MIN_EXP__ -#define _PDCLIB_LDBL_MIN_EXP __LDBL_MIN_EXP__ - -#define _PDCLIB_FLT_MIN_10_EXP __FLT_MIN_10_EXP__ -#define _PDCLIB_DBL_MIN_10_EXP __DBL_MIN_10_EXP__ -#define _PDCLIB_LDBL_MIN_10_EXP __LDBL_MIN_10_EXP__ - -#define _PDCLIB_FLT_MAX_EXP __FLT_MAX_EXP__ -#define _PDCLIB_DBL_MAX_EXP __DBL_MAX_EXP__ -#define _PDCLIB_LDBL_MAX_EXP __LDBL_MAX_EXP__ - -#define _PDCLIB_FLT_MAX_10_EXP __FLT_MAX_10_EXP__ -#define _PDCLIB_DBL_MAX_10_EXP __DBL_MAX_10_EXP__ -#define _PDCLIB_LDBL_MAX_10_EXP __LDBL_MAX_10_EXP__ - -#define _PDCLIB_FLT_MAX __FLT_MAX__ -#define _PDCLIB_DBL_MAX __DBL_MAX__ -#define _PDCLIB_LDBL_MAX __LDBL_MAX__ - -#define _PDCLIB_FLT_EPSILON __FLT_EPSILON__ -#define _PDCLIB_DBL_EPSILON __DBL_EPSILON__ -#define _PDCLIB_LDBL_EPSILON __LDBL_EPSILON__ - -#define _PDCLIB_FLT_MIN __FLT_MIN__ -#define _PDCLIB_DBL_MIN __DBL_MIN__ -#define _PDCLIB_LDBL_MIN __LDBL_MIN__ - -#define _PDCLIB_FLT_TRUE_MIN __FLT_DENORM_MIN__ -#define _PDCLIB_DBL_TRUE_MIN __DBL_DENORM_MIN__ -#define _PDCLIB_LDBL_TRUE_MIN __LDBL_DENORM_MIN__ - -/* Macros for deconstructing floating point values */ -/* This assumes that the floating point value has been memcpy'd into an array */ -/* of _PDCLIB_bigint_digit_t (see _PDCLIB_bigint_from_*dbl.c with the array */ -/* passed to the macro as parameter. */ -#define _PDCLIB_FLT_SIGN( data ) ( ( data[1] & 0x8000 ) >> 15 ) -#define _PDCLIB_FLT_EXP( data ) ( ( data[1] & 0x7f80 ) >> 7 ) -#define _PDCLIB_FLT_SIZE( data ) ( data[1] &= 0x007f, 2 ) - -#define _PDCLIB_DBL_SIGN( data ) ( ( data[3] & 0x8000 ) >> 15 ) -#define _PDCLIB_DBL_EXP( data ) ( ( data[3] & 0x7ff0u ) >> 4 ) -#define _PDCLIB_DBL_SIZE( data ) ( data[3] &= 0x000fu, 4 ) - -/* Most platforms today use IEEE 754 single precision for 'float', and double */ -/* precision for 'double'. But type 'long double' varies. We use what the */ -/* compiler states about LDBL_MANT_DIG to determine the type. */ -#if _PDCLIB_LDBL_MANT_DIG == 64 - -/* Intel "Extended Precision" format, using 80 bits (64bit mantissa) */ -#define _PDCLIB_LDBL_SIGN( data ) ( ( data[4] & 0x8000u ) >> 15 ) -#define _PDCLIB_LDBL_EXP( data ) ( data[4] & 0x7fffu ) -#define _PDCLIB_LDBL_SIZE( data ) ( data[3] &= 0x7fffu, 4 ) - -#elif _PDCLIB_LDBL_MANT_DIG == 113 - -/* IEEE "Quadruple Precision" format, using 128 bits (113bit mantissa) */ -#define _PDCLIB_LDBL_SIGN( data ) ( ( data[7] & 0x8000u ) >> 15 ) -#define _PDCLIB_LDBL_EXP( data ) ( data[7] & 0x7fffu ) -#define _PDCLIB_LDBL_SIZE( data ) 7 - -#else - -/* IEEE "Double Precision" format, using 64 bits (53bit mantissa) */ -/* (Same as DBL above) */ -#define _PDCLIB_LDBL_SIGN( data ) ( ( data[3] & 0x8000 ) >> 15 ) -#define _PDCLIB_LDBL_EXP( data ) ( ( data[3] & 0x7ff0u ) >> 4 ) -#define _PDCLIB_LDBL_SIZE( data ) ( data[3] &= 0x000fu, 4 ) - -#endif - -/* Given the definitions for *_MANT_START above, which resolve to "pointer - to most dignificant byte of mantissa", the operand to use to get at the - less significant bytes. (That would be - for i386, x86_64, and ARM.) -*/ -#define _PDCLIB_FLT_OP - - -/* -------------------------------------------------------------------------- */ -/* Big Integer Arithmetic */ -/* -------------------------------------------------------------------------- */ -/* In support of the floating point converstions required by printf() etc., */ -/* PDCLib provides rudimentary big integer arithmetics. The _PDCLIB_bigint_t */ -/* type stores values in a sequence of integer "digits", which may be of any */ -/* uint_leastN_t type with N being 32 or 16. Note that multiplication and */ -/* division require the help of the next larger type. So set the define to */ -/* 32 if efficient 64bit integer arithmetics are available on your platform, */ -/* and to 16 otherwise. */ -/* (The value range of _PDCLIB_bigint_t is not affected by this setting.) */ - -#define _PDCLIB_BIGINT_DIGIT_BITS 16 - -/* -------------------------------------------------------------------------- */ -/* Platform-dependent macros defined by the standard headers. */ -/* -------------------------------------------------------------------------- */ - -/* The offsetof macro */ -/* Contract: Expand to an integer constant expression of type size_t, which */ -/* represents the offset in bytes to the structure member from the beginning */ -/* of the structure. If the specified member is a bitfield, behaviour is */ -/* undefined. */ -/* There is no standard-compliant way to do this. */ -/* This implementation casts an integer zero to 'pointer to type', and then */ -/* takes the address of member. This is undefined behaviour but should work */ -/* on most compilers. */ -#define _PDCLIB_offsetof( type, member ) ( (size_t) &( ( (type *) 0 )->member ) ) - -/* Variable Length Parameter List Handling () */ -/* The macros defined by are highly dependent on the calling */ -/* conventions used, and you probably have to replace them with builtins of */ -/* your compiler. */ - -#if defined( __i386 ) - -/* The following generic implementation works only for pure stack-based */ -/* architectures, and only if arguments are aligned to pointer type. Credits */ -/* to Michael Moody, who contributed this to the Public Domain. */ - -/* Internal helper macro. va_round is not part of . */ -#define _PDCLIB_va_round( type ) ( (sizeof(type) + sizeof(void *) - 1) & ~(sizeof(void *) - 1) ) - -typedef char * _PDCLIB_va_list; -#define _PDCLIB_va_arg( ap, type ) ( (ap) += (_PDCLIB_va_round(type)), ( *(type*) ( (ap) - (_PDCLIB_va_round(type)) ) ) ) -#define _PDCLIB_va_copy( dest, src ) ( (dest) = (src), (void)0 ) -#define _PDCLIB_va_end( ap ) ( (ap) = (void *)0, (void)0 ) -#define _PDCLIB_va_start( ap, parmN ) ( (ap) = (char *) &parmN + ( _PDCLIB_va_round(parmN) ), (void)0 ) - -#elif defined( __x86_64 ) || defined( __arm__ ) || defined( __ARM_NEON ) - -/* No way to cover x86_64 or arm with a generic implementation, as it uses */ -/* register-based parameter passing. Using compiler builtins here. */ -typedef __builtin_va_list _PDCLIB_va_list; -#define _PDCLIB_va_arg( ap, type ) ( __builtin_va_arg( ap, type ) ) -#define _PDCLIB_va_copy( dest, src ) ( __builtin_va_copy( dest, src ) ) -#define _PDCLIB_va_end( ap ) ( __builtin_va_end( ap ) ) -#define _PDCLIB_va_start( ap, parmN ) ( __builtin_va_start( ap, parmN ) ) - -#else - -#error Please create your own _PDCLIB_config.h. Using the existing one as-is will not work. (Unsupported varargs.) - -#endif - -/* -------------------------------------------------------------------------- */ -/* OS "glue", part 1 */ -/* These are values and data type definitions that you would have to adapt to */ -/* the capabilities and requirements of your OS. */ -/* The actual *functions* of the OS interface are declared in _PDCLIB_glue.h. */ -/* -------------------------------------------------------------------------- */ - -/* I/O ---------------------------------------------------------------------- */ - -/* The type of the file descriptor returned by _PDCLIB_open(), i.e. whatever */ -/* the underlying kernel uses for stream identification. */ -typedef int _PDCLIB_fd_t; - -/* The value of type _PDCLIB_fd_t returned by _PDCLIB_open() if the operation */ -/* failed. */ -#define _PDCLIB_NOHANDLE ( (_PDCLIB_fd_t) -1 ) - -/* The default size for file buffers. Must be at least 256. */ -#define _PDCLIB_BUFSIZ 1024 - -/* The minimum number of files the implementation guarantees can opened */ -/* simultaneously. Must be at least 8. Depends largely on how the platform */ -/* does the bookkeeping in whatever is called by _PDCLIB_open(). PDCLib puts */ -/* no further limits on the number of open files other than available memory. */ -#define _PDCLIB_FOPEN_MAX 8 - -/* Length of the longest filename the implementation guarantees to support. */ -#define _PDCLIB_FILENAME_MAX 128 - -/* Maximum length of filenames generated by tmpnam(). (See tmpfile.c.) */ -#define _PDCLIB_L_tmpnam 52 - -/* Number of distinct file names that can be generated by tmpnam(). */ -#define _PDCLIB_TMP_MAX 50 - -/* The values of SEEK_SET, SEEK_CUR and SEEK_END, used by fseek(). */ -/* Since at least one platform (POSIX) uses the same symbols for its own */ -/* "seek" function, you should use whatever the host defines (if it does */ -/* define them). */ -#define _PDCLIB_SEEK_SET 0 -#define _PDCLIB_SEEK_CUR 1 -#define _PDCLIB_SEEK_END 2 - -/* The number of characters that can be buffered with ungetc(). The standard */ -/* guarantees only one (1); PDCLib supports larger values, but applications */ -/* relying on this would rely on implementation-defined behaviour (not good). */ -#define _PDCLIB_UNGETCBUFSIZE 1 - -/* The number of functions that can be registered with atexit(). Needs to be */ -/* at least 33 (32 guaranteed by the standard, plus _PDCLIB_closeall() which */ -/* is used internally by PDCLib to close all open streams). */ -/* TODO: Should expand dynamically. */ -#define _PDCLIB_ATEXIT_SLOTS 40 - -/* errno -------------------------------------------------------------------- */ - -/* These are the values that _PDCLIB_errno can be set to by the library. */ -/* */ -/* By keeping PDCLib's errno in the _PDCLIB_* namespace, the library is */ -/* capable of "translating" between errno values used by the hosting OS and */ -/* those used and passed out by the library. */ -/* */ -/* Example: In the example platform, the remove() function uses the unlink() */ -/* system call as backend. Linux sets its errno to EISDIR if you try to */ -/* unlink() a directory, but POSIX demands EPERM. Within the remove() */ -/* function, you can catch 'errno == EISDIR', and set '*_PDCLIB_errno_func() */ -/* = _PDCLIB_EPERM'. Anyone using PDCLib's will "see" EPERM instead */ -/* of EISDIR. */ -/* */ -/* If you do not want that kind of translation, you might want to "match" the */ -/* values used by PDCLib with those used by the host OS, to avoid confusion. */ -/* auxiliary/errno/errno_readout.c provides a convenience program to read */ -/* those errno values mandated by the standard from a platform's , */ -/* giving output that can readily be pasted here. */ -/* Either way, note that the list below, the list in PDCLib's , and */ -/* the list in _PDCLIB_stdinit.h, need to be kept in sync. */ -/* */ -/* The values below are read from a Linux system. */ - -/* Argument list too long */ -#define _PDCLIB_E2BIG 7 -/* Permission denied */ -#define _PDCLIB_EACCES 13 -/* Address in use */ -#define _PDCLIB_EADDRINUSE 98 -/* Address not available */ -#define _PDCLIB_EADDRNOTAVAIL 99 -/* Address family not supported */ -#define _PDCLIB_EAFNOSUPPORT 97 -/* Resource unavailable, try again */ -#define _PDCLIB_EAGAIN 11 -/* Connection already in progress */ -#define _PDCLIB_EALREADY 114 -/* Bad file descriptor */ -#define _PDCLIB_EBADF 9 -/* Bad message */ -#define _PDCLIB_EBADMSG 74 -/* Device or resource busy */ -#define _PDCLIB_EBUSY 16 -/* Operation canceled */ -#define _PDCLIB_ECANCELED 125 -/* No child processes */ -#define _PDCLIB_ECHILD 10 -/* Connection aborted */ -#define _PDCLIB_ECONNABORTED 103 -/* Connection refused */ -#define _PDCLIB_ECONNREFUSED 111 -/* Connection reset */ -#define _PDCLIB_ECONNRESET 104 -/* Resource deadlock would occur */ -#define _PDCLIB_EDEADLK 35 -/* Destination address required */ -#define _PDCLIB_EDESTADDRREQ 89 -/* Mathematics argument out of domain of function */ -#define _PDCLIB_EDOM 33 -/* File exists */ -#define _PDCLIB_EEXIST 17 -/* Bad address */ -#define _PDCLIB_EFAULT 14 -/* File too large */ -#define _PDCLIB_EFBIG 27 -/* Host is unreachable */ -#define _PDCLIB_EHOSTUNREACH 113 -/* Identifier removed */ -#define _PDCLIB_EIDRM 43 -/* Illegal byte sequence */ -#define _PDCLIB_EILSEQ 84 -/* Operation in progress */ -#define _PDCLIB_EINPROGRESS 115 -/* Interrupted function */ -#define _PDCLIB_EINTR 4 -/* Invalid argument */ -#define _PDCLIB_EINVAL 22 -/* I/O error */ -#define _PDCLIB_EIO 5 -/* Socket is connected */ -#define _PDCLIB_EISCONN 106 -/* Is a directory */ -#define _PDCLIB_EISDIR 21 -/* Too many levels of symbolic links */ -#define _PDCLIB_ELOOP 40 -/* File descriptor value too large */ -#define _PDCLIB_EMFILE 24 -/* Too many links */ -#define _PDCLIB_EMLINK 31 -/* Message too large */ -#define _PDCLIB_EMSGSIZE 90 -/* Filename too long */ -#define _PDCLIB_ENAMETOOLONG 36 -/* Network is down */ -#define _PDCLIB_ENETDOWN 100 -/* Connection aborted by network */ -#define _PDCLIB_ENETRESET 102 -/* Network unreachable */ -#define _PDCLIB_ENETUNREACH 101 -/* Too many files open in system */ -#define _PDCLIB_ENFILE 23 -/* No buffer space available */ -#define _PDCLIB_ENOBUFS 105 -/* No message is available on the STREAM head read queue */ -#define _PDCLIB_ENODATA 61 -/* No such device */ -#define _PDCLIB_ENODEV 19 -/* No such file or directory */ -#define _PDCLIB_ENOENT 2 -/* Executable file format error */ -#define _PDCLIB_ENOEXEC 8 -/* No locks available */ -#define _PDCLIB_ENOLCK 37 -/* Link has been severed */ -#define _PDCLIB_ENOLINK 67 -/* Not enough space */ -#define _PDCLIB_ENOMEM 12 -/* No message of the desired type */ -#define _PDCLIB_ENOMSG 42 -/* Protocol not available */ -#define _PDCLIB_ENOPROTOOPT 92 -/* No space left on device */ -#define _PDCLIB_ENOSPC 28 -/* No STREAM resources */ -#define _PDCLIB_ENOSR 63 -/* Not a STREAM */ -#define _PDCLIB_ENOSTR 60 -/* Function not supported */ -#define _PDCLIB_ENOSYS 38 -/* The socket is not connected */ -#define _PDCLIB_ENOTCONN 107 -/* Not a directory */ -#define _PDCLIB_ENOTDIR 20 -/* Directory not empty */ -#define _PDCLIB_ENOTEMPTY 39 -/* State not recoverable */ -#define _PDCLIB_ENOTRECOVERABLE 131 -/* Not a socket */ -#define _PDCLIB_ENOTSOCK 88 -/* Not supported */ -#define _PDCLIB_ENOTSUP 95 -/* Inappropriate I/O control operation */ -#define _PDCLIB_ENOTTY 25 -/* No such device or address */ -#define _PDCLIB_ENXIO 6 -/* Operation not supported on socket */ -#define _PDCLIB_EOPNOTSUPP 95 -/* Value too large to be stored in data type */ -#define _PDCLIB_EOVERFLOW 75 -/* Previous owner died */ -#define _PDCLIB_EOWNERDEAD 130 -/* Operation not permitted */ -#define _PDCLIB_EPERM 1 -/* Broken pipe */ -#define _PDCLIB_EPIPE 32 -/* Protocol error */ -#define _PDCLIB_EPROTO 71 -/* Protocol not supported */ -#define _PDCLIB_EPROTONOSUPPORT 93 -/* Protocol wrong type for socket */ -#define _PDCLIB_EPROTOTYPE 91 -/* Result too large */ -#define _PDCLIB_ERANGE 34 -/* Read-only file system */ -#define _PDCLIB_EROFS 30 -/* Invalid seek */ -#define _PDCLIB_ESPIPE 29 -/* No such process */ -#define _PDCLIB_ESRCH 3 -/* Stream ioctl() timeout */ -#define _PDCLIB_ETIME 62 -/* Connection timed out */ -#define _PDCLIB_ETIMEDOUT 110 -/* Text file busy */ -#define _PDCLIB_ETXTBSY 26 -/* Operation would block */ -#define _PDCLIB_EWOULDBLOCK 11 -/* Cross-device link */ -#define _PDCLIB_EXDEV 18 - -/* The highest defined errno value, plus one. This is used to set the size */ -/* of the array in struct _PDCLIB_lc_text_t holding error messages for the */ -/* strerror() and perror() functions. (If you change this value because you */ -/* are using additional errno values, you *HAVE* to provide appropriate error */ -/* messages for *ALL* locales.) */ -#define _PDCLIB_ERRNO_MAX 132 - -/* The error message used for unknown error codes (generated by errno_readout */ -/* for consistency between the 'holes' in the list of defined error messages */ -/* and the text generated by e.g. strerror() for out-of-range error values.) */ -#define _PDCLIB_EUNKNOWN_TEXT (char*)"unknown error" - -/* locale data -------------------------------------------------------------- */ - -/* The default path where PDCLib should look for its locale data. */ -/* Must end with the appropriate separator character. */ -#define _PDCLIB_LOCALE_PATH "/usr/share/pdclib/i18n/" - -/* The name of the environment variable that can be used to override that */ -/* path setting. */ -#define _PDCLIB_LOCALE_PATH_ENV PDCLIB_I18N - -#ifdef __CYGWIN__ -typedef unsigned int wint_t; -#endif - -/* threads ------------------------------------------------------------------ */ - -/* This is relying on underlying implementation to provide thread */ -/* support. */ -/* The problem here is we cannot just #include and access the */ -/* original definitions. The standard library must not drag identifiers into */ -/* the user's namespace, so we have to set our own definitions in the _PDCLIB */ -/* namespace. Which are, obviously, platform-specific. */ -/* If you do NOT want to provide threads support, define __STDC_NO_THREADS__ */ -/* to 1 and simply delete the threads.h header and the corresponding files in */ -/* functions/threads/. This makes PDCLib non-thread-safe (obviously), as the */ -/* safeguards against race conditions (e.g. in ) will be omitted. */ - -/* auxiliary/pthread/pthread_readout.c provides a convenience program to read */ -/* appropriate definitions from a platform's , giving output that */ -/* can be copy & pasted here. */ - -#define __STDC_NO_THREADS__ - -#ifndef __STDC_NO_THREADS__ - -typedef unsigned long int _PDCLIB_thrd_t; -typedef union { unsigned char _PDCLIB_cnd_t_data[ 48 ]; long long int _PDCLIB_cnd_t_align; } _PDCLIB_cnd_t; -#if defined( __arm__ ) || defined( __ARM_NEON ) -typedef union { unsigned char _PDCLIB_mtx_t_data[ 24 ]; long int _PDCLIB_mtx_t_align; } _PDCLIB_mtx_t; -#else -typedef union { unsigned char _PDCLIB_mtx_t_data[ 40 ]; long int _PDCLIB_mtx_t_align; } _PDCLIB_mtx_t; -#endif -typedef unsigned int _PDCLIB_tss_t; -typedef int _PDCLIB_once_flag; -#define _PDCLIB_ONCE_FLAG_INIT 0 -#define _PDCLIB_RECURSIVE_MUTEX_INIT PTHREAD_MUTEX_INITIALIZER -/* This one is actually hidden in , and only if __USE_POSIX is */ -/* defined prior to #include (PTHREAD_DESTRUCTOR_ITERATIONS). */ -#define _PDCLIB_TSS_DTOR_ITERATIONS 4 -/* The following are not made public in any header, but used internally for */ -/* interfacing with the pthread API. */ -typedef union { unsigned char _PDCLIB_cnd_attr_t_data[ 4 ]; int _PDCLIB_cnd_attr_t_align; } _PDCLIB_cnd_attr_t; -typedef union { unsigned char _PDCLIB_mtx_attr_t_data[ 4 ]; int _PDCLIB_mtx_attr_t_align; } _PDCLIB_mtx_attr_t; -#if defined( __arm__ ) || defined( __ARM_NEON ) -typedef union { unsigned char _PDCLIB_thrd_attr_t_data[ 36 ]; long int _PDCLIB_thrd_attr_t_align; } _PDCLIB_thrd_attr_t; -#else -typedef union { unsigned char _PDCLIB_thrd_attr_t_data[ 56 ]; long int _PDCLIB_thrd_attr_t_align; } _PDCLIB_thrd_attr_t; -#endif -/* Static initialization of recursive mutex. */ -#if defined( __arm__ ) || defined( __ARM_NEON ) -#define _PDCLIB_MTX_RECURSIVE_INIT { {\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } -/* Static initialization of plain / timeout mutex (identical with pthread). */ -#define _PDCLIB_MTX_PLAIN_INIT { {\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } -#else -#define _PDCLIB_MTX_RECURSIVE_INIT { {\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } -/* Static initialization of plain / timeout mutex (identical with pthread). */ -#define _PDCLIB_MTX_PLAIN_INIT { {\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } } -#endif - -#endif - -/* Termux defines atexit in crtbegin_so.o leading to a multiple definition */ -/* error from the linker. This is a crude workaround, which does NOT fix */ -/* various run-time issues on Termux likely also related to crt linkage. But */ -/* at least things compile OK, and SOME tests can be run. */ -#if defined( __ARM_NEON ) -#define atexit _PDCLIB_atexit -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_defguard.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_defguard.h deleted file mode 100644 index cd51abe..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_defguard.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Definition guard <_PDCLIB_defguard.h> - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_DEFGUARD_H -#define _PDCLIB_DEFGUARD_H _PDCLIB_DEFGUARD_H - -#if defined( __ANDROID__ ) -/* typedef sigset_t */ -#include "bits/signal_types.h" -#endif - -/* Linux defines its own version of struct timespec (from ) in - some internal header (depending on clib implementation), which leads - to problems when accessing e.g. sys/time.h (type redefinition). - The solution is to set the Linux header's include guard (to avoid - Linux' definition), and to include PDCLib's to define the - type unambiguously. -*/ - -#define _TIMESPEC_DEFINED -#define _SYS__TIMESPEC_H_ -#define _STRUCT_TIMESPEC - -#include - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_glue.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_glue.h deleted file mode 100644 index 3e59302..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_glue.h +++ /dev/null @@ -1,93 +0,0 @@ -/* OS glue functions declaration <_PDCLIB_glue.h> - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_GLUE_H -#define _PDCLIB_GLUE_H _PDCLIB_GLUE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_internal.h" - -/* -------------------------------------------------------------------------- */ -/* OS "glue", part 2 */ -/* These are the functions you will have to touch, as they are where PDCLib */ -/* interfaces with the operating system. */ -/* They operate on data types partially defined by _PDCLIB_config.h. */ -/* -------------------------------------------------------------------------- */ - -/* stdlib.h */ - -/* A system call that terminates the calling process, returning a given status - to the environment. -*/ -_PDCLIB_LOCAL _PDCLIB_Noreturn void _PDCLIB_Exit( int status ) _PDCLIB_NORETURN; - - -/* stdio.h */ - -/* A system call that opens a file identified by name in a given mode. Return - a file descriptor uniquely identifying that file. - (The mode is the return value of the _PDCLIB_filemode() function.) -*/ -_PDCLIB_LOCAL _PDCLIB_fd_t _PDCLIB_open( const char * const filename, unsigned int mode ); - -/* A system call that writes a stream's buffer. - Returns 0 on success, EOF on write error. - Sets stream error flags and errno appropriately on error. -*/ -_PDCLIB_LOCAL int _PDCLIB_flushbuffer( struct _PDCLIB_file_t * stream ); - -/* A system call that fills a stream's buffer. - Returns 0 on success, EOF on read error / EOF. - Sets stream EOF / error flags and errno appropriately on error. -*/ -_PDCLIB_LOCAL int _PDCLIB_fillbuffer( struct _PDCLIB_file_t * stream ); - -/* A system call that repositions within a file. Returns new offset on success, - -1 / errno on error. -*/ -_PDCLIB_LOCAL _PDCLIB_int_least64_t _PDCLIB_seek( struct _PDCLIB_file_t * stream, _PDCLIB_int_least64_t offset, int whence ); - -/* A system call that closes a file identified by given file descriptor. Return - zero on success, non-zero otherwise. -*/ -_PDCLIB_LOCAL int _PDCLIB_close( _PDCLIB_fd_t fd ); - -/* A system call that changes the mode of a given stream to that passed as - argument (the argument being the value returned by _PDCLIB_filemode()), - *without* closing the stream. See comments in example implementation - for details. Return zero if the requested mode change is not supported - for this stream and freopen() should try to close and reopen the stream; - return INT_MIN if the change is not supported and freopen() should close - and NOT try to close / reopen (i.e., fail). Return any other value on - success. -*/ -_PDCLIB_LOCAL int _PDCLIB_changemode( struct _PDCLIB_file_t * stream, unsigned int mode ); - -/* A system call that returns a canonicalized absolute filename in - dynamically allocated memory, or NULL if the file does not exist. -*/ -_PDCLIB_LOCAL char * _PDCLIB_realpath( const char * path ); - -/* A system call that removes a file. Return zero on success, non-zero - otherwise. -*/ -_PDCLIB_LOCAL int _PDCLIB_remove( const char * pathname ); - -/* A system call that renames a file from given old name to given new name. - Return zero on success, non-zero otherwise. In case of failure, the file - must still be accessible by old name. Any handling of open files etc. is - done by standard rename() already. -*/ -_PDCLIB_LOCAL int _PDCLIB_rename( const char * oldpath, const char * newpath ); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_internal.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_internal.h deleted file mode 100644 index 1ad3c66..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_internal.h +++ /dev/null @@ -1,686 +0,0 @@ -/* PDCLib internal logic <_PDCLIB_internal.h> - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_INTERNAL_H -#define _PDCLIB_INTERNAL_H _PDCLIB_INTERNAL_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* -------------------------------------------------------------------------- */ -/* You should not have to edit anything in this file; if you DO have to, it */ -/* would be considered a bug / missing feature: notify the author(s). */ -/* -------------------------------------------------------------------------- */ - -#include "pdclib/_PDCLIB_config.h" - -/* -------------------------------------------------------------------------- */ -/* Standard Version */ -/* -------------------------------------------------------------------------- */ - -/* Many a compiler gets this wrong, so you might have to hardcode it instead. */ - -#if __STDC__ != 1 -#error Compiler does not define _ _STDC_ _ to 1 (not standard-compliant)! -#endif - -#ifndef __STDC_HOSTED__ -#error Compiler does not define _ _STDC_HOSTED_ _ (not standard-compliant)! -#elif __STDC_HOSTED__ != 0 && __STDC_HOSTED__ != 1 -#error Compiler does not define _ _STDC_HOSTED_ _ to 0 or 1 (not standard-compliant)! -#endif - -/* null pointer constant -- ((void *)0) in C, 0 in C++98, nullptr since C++11 */ -#ifdef __cplusplus -#if __cplusplus >= 201103L -#define _PDCLIB_NULL nullptr -#else -#define _PDCLIB_NULL 0 -#endif -#else -#define _PDCLIB_NULL ((void *)0) -#endif - -/* restrict / inline enabled for C99 onward only */ -#if defined( __cplusplus ) || ! defined( __STDC_VERSION ) || __STDC_VERSION__ < 199901L -#define _PDCLIB_restrict -#define _PDCLIB_inline -#else -#define _PDCLIB_restrict restrict -#define _PDCLIB_inline inline -#endif - -/* noreturn enabled for C11 onward only */ -#if defined( __cplusplus ) && __cplusplus >= 201103L -#define _PDCLIB_Noreturn [[noreturn]] -#else -#if defined( __STDC_VERSION__ ) >= 201112L -#define _PDCLIB_Noreturn _Noreturn -#else -#define _PDCLIB_Noreturn -#endif -#endif - -/* -------------------------------------------------------------------------- */ -/* Helper macros: */ -/* */ -/* (defined in _PDCLIB_config.h) */ -/* _PDCLIB_cc( x, y ) concatenates two preprocessor tokens without extending. */ -/* _PDCLIB_concat( x, y ) concatenates two preprocessor tokens with extending */ -/* */ -/* (defined below) */ -/* _PDCLIB_static_assert( e, m ) does a compile-time assertion of expression */ -/* e, with m as the failure message. */ -/* _PDCLIB_symbol2string( x ) turn symbol into string literal (by adding ""). */ -/* _PDCLIB_value2string( x ) expands a preprocessor token and turns it into a */ -/* string literal (by adding ""). */ -/* _PDCLIB_TYPE_SIGNED( type ) resolves to true if type is signed. */ -/* _PDCLIB_LOCK( mtx ) lock a mutex if library has threads support. */ -/* _PDCLIB_UNLOCK( mtx ) unlock a mutex if library has threads support. */ -/* _PDCLIB_CONSTRAINT_VIOLATION( e ) expand errno number e to parameter list */ -/* fit for Annex K constraint violation */ -/* handler. */ -/* _PDCLIB_Generic( f, fp ) expand to _PDCLIB_f, _PDCLIB_ff, _PDCLIB_fl */ -/* depending on fp being sizeof double, float, or */ -/* long double. */ -/* -------------------------------------------------------------------------- */ - -#define _PDCLIB_static_assert( e, m ) enum { _PDCLIB_concat( _PDCLIB_assert_, __LINE__ ) = 1 / ( !!(e) ) } - -#define _PDCLIB_TYPE_SIGNED( type ) (((type) -1) < 0) - -#define _PDCLIB_symbol2string( x ) #x -#define _PDCLIB_value2string( x ) _PDCLIB_symbol2string( x ) - -#ifndef __STDC_NO_THREADS__ -#define _PDCLIB_LOCK( mtx ) mtx_lock( &mtx ) -#define _PDCLIB_UNLOCK( mtx ) mtx_unlock( &mtx ) -#else -#define _PDCLIB_LOCK( mtx ) -#define _PDCLIB_UNLOCK( mtx ) -#endif - -#define _PDCLIB_CONSTRAINT_VIOLATION( e ) _PDCLIB_lc_messages->errno_texts[e], NULL, e - -#define _PDCLIB_GETC( fh ) ( ( fh->ungetidx == 0 ) ? ( unsigned char )fh->buffer[ fh->bufidx++ ] : ( unsigned char )fh->ungetbuf[ --fh->ungetidx ] ) - -#define _PDCLIB_CHECKBUFFER( fh ) ( ( ( fh->bufidx == fh->bufend ) && ( fh->ungetidx == 0 ) ) ? _PDCLIB_fillbuffer( fh ) : 0 ) - -#define _PDCLIB_GENERIC( func, x ) ( ( sizeof( x ) == sizeof( double ) ) ? _PDCLIB_ ## func ## d( x ) : \ - ( sizeof( x ) == sizeof( float ) ) ? _PDCLIB_ ## func ## f( x ) : \ - ( _PDCLIB_ ## func ## l( x ) ) ) - -/* -------------------------------------------------------------------------- */ -/* Preparing the length modifiers used in . */ -/* -------------------------------------------------------------------------- */ - -/* We use the _MAX value as a proxy for the actual type here. That is crude - but the best we can do, cross-platform wise. - Identifying which type the leastN_t / fastN_t / intmax_t / intptr_t are - and providing the appropriate printf()/scanf() length modifier. -*/ - -#if _PDCLIB_INT_FAST8_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_FAST8_PREFIX hh -#elif _PDCLIB_INT_FAST8_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_FAST8_PREFIX h -#elif _PDCLIB_INT_FAST8_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_FAST8_PREFIX -#elif _PDCLIB_INT_FAST8_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_FAST8_PREFIX l -#elif _PDCLIB_INT_FAST8_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_FAST8_PREFIX ll -#else -#error No matching native type for int_fast8_t. Please check your setup. -#endif - -#if _PDCLIB_INT_FAST16_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_FAST16_PREFIX hh -#elif _PDCLIB_INT_FAST16_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_FAST16_PREFIX h -#elif _PDCLIB_INT_FAST16_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_FAST16_PREFIX -#elif _PDCLIB_INT_FAST16_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_FAST16_PREFIX l -#elif _PDCLIB_INT_FAST16_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_FAST16_PREFIX ll -#else -#error No matching native type for int_fast16_t. Please check your setup. -#endif - -#if _PDCLIB_INT_FAST32_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_FAST32_PREFIX hh -#elif _PDCLIB_INT_FAST32_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_FAST32_PREFIX h -#elif _PDCLIB_INT_FAST32_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_FAST32_PREFIX -#elif _PDCLIB_INT_FAST32_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_FAST32_PREFIX l -#elif _PDCLIB_INT_FAST32_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_FAST32_PREFIX ll -#else -#error No matching native type for int_fast32_t. Please check your setup. -#endif - -#if _PDCLIB_INT_FAST64_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_FAST64_PREFIX hh -#elif _PDCLIB_INT_FAST64_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_FAST64_PREFIX h -#elif _PDCLIB_INT_FAST64_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_FAST64_PREFIX -#elif _PDCLIB_INT_FAST64_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_FAST64_PREFIX l -#elif _PDCLIB_INT_FAST64_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_FAST64_PREFIX ll -#else -#error No matching native type for int_fast64_t. Please check your setup. -#endif - -/* Many of the combinations below can very likely be ruled out logically. - All combinations are still listed for simplicity's sake (and to not fall - into the trap of false assumptions). -*/ - -#if _PDCLIB_INT_LEAST8_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_LEAST8_PREFIX hh -#elif _PDCLIB_INT_LEAST8_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_LEAST8_PREFIX h -#elif _PDCLIB_INT_LEAST8_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_LEAST8_PREFIX -#elif _PDCLIB_INT_LEAST8_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_LEAST8_PREFIX l -#elif _PDCLIB_INT_LEAST8_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_LEAST8_PREFIX ll -#else -#error No matching native type for int_least8_t. Please check your setup. -#endif - -#if _PDCLIB_INT_LEAST16_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_LEAST16_PREFIX hh -#elif _PDCLIB_INT_LEAST16_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_LEAST16_PREFIX h -#elif _PDCLIB_INT_LEAST16_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_LEAST16_PREFIX -#elif _PDCLIB_INT_LEAST16_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_LEAST16_PREFIX l -#elif _PDCLIB_INT_LEAST16_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_LEAST16_PREFIX ll -#else -#error No matching native type for int_least16_t. Please check your setup. -#endif - -#if _PDCLIB_INT_LEAST32_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_LEAST32_PREFIX hh -#elif _PDCLIB_INT_LEAST32_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_LEAST32_PREFIX h -#elif _PDCLIB_INT_LEAST32_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_LEAST32_PREFIX -#elif _PDCLIB_INT_LEAST32_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_LEAST32_PREFIX l -#elif _PDCLIB_INT_LEAST32_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_LEAST32_PREFIX ll -#else -#error No matching native type for int_least32_t. Please check your setup. -#endif - -#if _PDCLIB_INT_LEAST64_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INT_LEAST64_PREFIX hh -#elif _PDCLIB_INT_LEAST64_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INT_LEAST64_PREFIX h -#elif _PDCLIB_INT_LEAST64_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INT_LEAST64_PREFIX -#elif _PDCLIB_INT_LEAST64_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INT_LEAST64_PREFIX l -#elif _PDCLIB_INT_LEAST64_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INT_LEAST64_PREFIX ll -#else -#error No matching native type for int_least64_t. Please check your setup. -#endif - -#if _PDCLIB_INTMAX_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INTMAX_PREFIX hh -#elif _PDCLIB_INTMAX_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INTMAX_PREFIX h -#elif _PDCLIB_INTMAX_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INTMAX_PREFIX -#elif _PDCLIB_INTMAX_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INTMAX_PREFIX l -#elif _PDCLIB_INTMAX_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INTMAX_PREFIX ll -#else -#error No matching native type for intmax_t. Please check your setup. -#endif - -#if _PDCLIB_INTPTR_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_INTPTR_PREFIX hh -#elif _PDCLIB_INTPTR_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_INTPTR_PREFIX h -#elif _PDCLIB_INTPTR_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_INTPTR_PREFIX -#elif _PDCLIB_INTPTR_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_INTPTR_PREFIX l -#elif _PDCLIB_INTPTR_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_INTPTR_PREFIX ll -#else -#error No matching native type for intptr_t. Please check your setup. -#endif - -/* We might not have a type definition for sig_atomic_t at this point. The */ -/* clang compiler does not provide an appropriate predefine for it. So if we */ -/* do not have _PDCLIB_sig_atomic_t, identify the type trough its MAX value. */ - -#ifndef _PDCLIB_sig_atomic_t - -#if _PDCLIB_SIG_ATOMIC_MAX == _PDCLIB_SCHAR_MAX -#define _PDCLIB_sig_atomic_t char -#elif _PDCLIB_SIG_ATOMIC_MAX == _PDCLIB_SHRT_MAX -#define _PDCLIB_sig_atomic_t short -#elif _PDCLIB_SIG_ATOMIC_MAX == _PDCLIB_INT_MAX -#define _PDCLIB_sig_atomic_t int -#elif _PDCLIB_SIG_ATOMIC_MAX == _PDCLIB_LONG_MAX -#define _PDCLIB_sig_atomic_t long -#elif _PDCLIB_SIG_ATOMIC_MAX == _PDCLIB_LLONG_MAX -#define _PDCLIB_sig_atomic_t long long -#else -#error No matching native type for sig_atomic_t. Please check your setup. -#endif - -#endif - -/* -------------------------------------------------------------------------- */ -/* Various internals */ -/* -------------------------------------------------------------------------- */ - -/* Flags for representing mode (see fopen()). Note these must fit the same - status field as the _IO?BF flags in and the internal flags below. -*/ -#define _PDCLIB_FREAD (1u<<3) -#define _PDCLIB_FWRITE (1u<<4) -#define _PDCLIB_FAPPEND (1u<<5) -#define _PDCLIB_FRW (1u<<6) -#define _PDCLIB_FBIN (1u<<7) - -/* Internal flags, made to fit the same status field as the flags above. */ -/* -------------------------------------------------------------------------- */ -/* free() the buffer memory on closing (setvbuf()) */ -#define _PDCLIB_FREEBUFFER (1u<<8) -/* stream has encountered error / EOF */ -#define _PDCLIB_ERRORFLAG (1u<<9) -#define _PDCLIB_EOFFLAG (1u<<10) -/* stream is wide-oriented */ -#define _PDCLIB_WIDESTREAM (1u<<11) -/* stream is byte-oriented */ -#define _PDCLIB_BYTESTREAM (1u<<12) -/* file associated with stream should be remove()d on closing (tmpfile()) */ -#define _PDCLIB_DELONCLOSE (1u<<13) - -/* Position / status structure for getpos() / fsetpos(). */ -struct _PDCLIB_fpos_t -{ - _PDCLIB_uint_least64_t offset; /* File position offset */ - int status; /* Multibyte parsing state (unused, reserved) */ -}; - -/* FILE structure */ -struct _PDCLIB_file_t -{ - _PDCLIB_fd_t handle; /* OS file handle */ - char * buffer; /* Pointer to buffer memory */ - _PDCLIB_size_t bufsize; /* Size of buffer */ - _PDCLIB_size_t bufidx; /* Index of current position in buffer */ - _PDCLIB_size_t bufend; /* Index of last pre-read character in buffer */ - struct _PDCLIB_fpos_t pos; /* Offset and multibyte parsing state */ - _PDCLIB_size_t ungetidx; /* Number of ungetc()'ed characters */ - unsigned char ungetbuf[_PDCLIB_UNGETCBUFSIZE]; /* ungetc() buffer */ - unsigned int status; /* Status flags; see above */ - /* multibyte parsing status to be added later */ -#ifndef __STDC_NO_THREADS__ - _PDCLIB_mtx_t mtx; /* Multithreading safety */ -#endif - char * filename; /* Name the current stream has been opened with */ - struct _PDCLIB_file_t * next; /* Pointer to next struct (internal) */ -}; - -/* -------------------------------------------------------------------------- */ -/* Internal data types */ -/* -------------------------------------------------------------------------- */ - -/* Structure required by both atexit() and exit() for handling atexit functions */ -struct _PDCLIB_exitfunc_t -{ - struct _PDCLIB_exitfunc_t * next; - void ( *func )( void ); -}; - -/* Status structure required by _PDCLIB_print(). */ -struct _PDCLIB_status_t -{ - int base; /* base to which the value shall be converted */ - _PDCLIB_int_fast32_t flags; /* flags and length modifiers */ - _PDCLIB_size_t n; /* print: maximum characters to be written */ - /* scan: number matched conversion specifiers */ - _PDCLIB_size_t i; /* number of characters read/written */ - _PDCLIB_size_t current;/* chars read/written in the CURRENT conversion */ - char * s; /* *sprintf(): target buffer */ - /* *sscanf(): source string */ - _PDCLIB_size_t width; /* specified field width */ - int prec; /* specified field precision */ - struct _PDCLIB_file_t * stream; /* *fprintf() / *fscanf() stream */ - _PDCLIB_va_list arg; /* argument stack */ -}; - -/* -------------------------------------------------------------------------- */ -/* Declaration of helper functions (implemented in functions/_PDCLIB). */ -/* -------------------------------------------------------------------------- */ - -/* This is the main function called by atoi(), atol() and atoll(). */ -_PDCLIB_LOCAL _PDCLIB_intmax_t _PDCLIB_atomax( const char * s ); - -/* Two helper functions used by strtol(), strtoul() and long long variants. */ -_PDCLIB_LOCAL const char * _PDCLIB_strtox_prelim( const char * p, char * sign, int * base ); -_PDCLIB_LOCAL _PDCLIB_uintmax_t _PDCLIB_strtox_main( const char ** p, unsigned int base, _PDCLIB_uintmax_t error, _PDCLIB_uintmax_t limit, char * sign ); - -/* Helper function used by strtof(), strtod(), and strtold(). */ -_PDCLIB_LOCAL int _PDCLIB_strtod_prelim( const char * p, char * sign, char ** endptr ); - -/* Digits arrays used by various integer conversion functions */ -extern const char _PDCLIB_digits[]; -extern const char _PDCLIB_Xdigits[]; - -/* The worker for all printf() type of functions. The pointer spec should point - to the introducing '%' of a conversion specifier. The status structure is to - be that of the current printf() function, of which the members n, s, stream - and arg will be preserved; i will be updated; and all others will be trashed - by the function. - Returns a pointer to the first character not parsed as conversion specifier. -*/ -_PDCLIB_LOCAL const char * _PDCLIB_print( const char * spec, struct _PDCLIB_status_t * status ); - -/* The worker for all scanf() type of functions. The pointer spec should point - to the introducing '%' of a conversion specifier. The status structure is to - be that of the current scanf() function, of which the member stream will be - preserved; n, i, and s will be updated; and all others will be trashed by - the function. - Returns a pointer to the first character not parsed as conversion specifier, - or NULL in case of error. - FIXME: Should distinguish between matching and input error -*/ -_PDCLIB_LOCAL const char * _PDCLIB_scan( const char * spec, struct _PDCLIB_status_t * status ); - -/* Parsing any fopen() style filemode string into a number of flags. */ -_PDCLIB_LOCAL unsigned int _PDCLIB_filemode( const char * mode ); - -/* Initialize a FILE structure. If the parameter is NULL, a new FILE structure - is malloc'ed. Returns a pointer to the stream if successful, NULL otherwise. -*/ -_PDCLIB_LOCAL struct _PDCLIB_file_t * _PDCLIB_init_file_t( struct _PDCLIB_file_t * stream ); - -/* Sanity checking and preparing of read buffer, should be called first thing - by any stdio read-data function. - Returns 0 on success, EOF on error. - On error, EOF / error flags and errno are set appropriately. -*/ -_PDCLIB_LOCAL int _PDCLIB_prepread( struct _PDCLIB_file_t * stream ); - -/* Sanity checking, should be called first thing by any stdio write-data - function. - Returns 0 on success, EOF on error. - On error, error flags and errno are set appropriately. -*/ -_PDCLIB_LOCAL int _PDCLIB_prepwrite( struct _PDCLIB_file_t * stream ); - -/* Closing all streams on program exit */ -_PDCLIB_LOCAL void _PDCLIB_closeall( void ); - -/* Check if a given year is a leap year. Parameter is offset to 1900. */ -_PDCLIB_LOCAL int _PDCLIB_is_leap( int year_offset ); - -/* Read a specified number of lines from a file stream; return a pointer to - allocated memory holding the lines (newlines replaced with zero terminators) - or NULL in case of error. -*/ -_PDCLIB_LOCAL char * _PDCLIB_load_lines( struct _PDCLIB_file_t * stream, _PDCLIB_size_t lines ); - -/* Returns the (locale dependent) error message associated with the argument - errno value. -*/ -_PDCLIB_LOCAL char * _PDCLIB_geterrtext( int errnum ); - -/* Returns non-zero if the given stream is on the internal list of open files, - zero otherwise. Sets the second paramenter (if not NULL) to the previous - stream on the list (or NULL if the given stream is the first on the list). - This function does not lock _PDCLIB_filelist_mtx, this needs to be done by - the calling function (_PDCLIB_getstream() or freopen()). -*/ -_PDCLIB_LOCAL int _PDCLIB_isstream( struct _PDCLIB_file_t * stream, struct _PDCLIB_file_t ** previous ); - -/* Removes the given stream from the internal list of open files. Returns zero - if successful, non-zero otherwise. In case of error, sets errno to EBADF. - This function does not lock _PDCLIB_filelist_mtx, this needs to be done by - the calling function (fclose()). -*/ -_PDCLIB_LOCAL int _PDCLIB_getstream( struct _PDCLIB_file_t * stream ); - -/* Backend for strtok and strtok_s (plus potential extensions like strtok_r). */ -_PDCLIB_LOCAL char * _PDCLIB_strtok( char * _PDCLIB_restrict s1, _PDCLIB_size_t * _PDCLIB_restrict s1max, const char * _PDCLIB_restrict s2, char ** _PDCLIB_restrict ptr ); - -/* Conversion of exponent notation to floating point */ -_PDCLIB_LOCAL long double _PDCLIB_naive_etod( const char * s, char ** endptr ); - -/* Conversion of hexadecimal notation to floating point */ -_PDCLIB_LOCAL long double _PDCLIB_naive_ptod( const char * s, char ** endptr ); - -/* -------------------------------------------------------------------------- */ -/* Declaration of math helper functions (implemented in functions/math). */ -/* -------------------------------------------------------------------------- */ - -int _PDCLIB_isnand( double x ); -int _PDCLIB_isnanf( float x ); -int _PDCLIB_isnanl( long double x ); - -int _PDCLIB_isinfd( double x ); -int _PDCLIB_isinff( float x ); -int _PDCLIB_isinfl( long double x ); - -int _PDCLIB_signbitd( double x ); -int _PDCLIB_signbitf( float x ); -int _PDCLIB_signbitl( long double x ); - -int _PDCLIB_isfinited( double x ); -int _PDCLIB_isfinitef( float x ); -int _PDCLIB_isfinitel( long double x ); - -int _PDCLIB_isnormald( double x ); -int _PDCLIB_isnormalf( float x ); -int _PDCLIB_isnormall( long double x ); - -int _PDCLIB_fpclassifyd( double x ); -int _PDCLIB_fpclassifyf( float x ); -int _PDCLIB_fpclassifyl( long double x ); - -/* -------------------------------------------------------------------------- */ -/* errno */ -/* -------------------------------------------------------------------------- */ - -/* A mechanism for delayed evaluation. - If PDCLib would call its error number "errno" directly, there would be no way - to catch its value from underlying system calls that also use it (i.e., POSIX - operating systems). That is why we use an internal name, providing a means to - access it through . -*/ -_PDCLIB_PUBLIC int * _PDCLIB_errno_func( void ); - -/* -------------------------------------------------------------------------- */ -/* support */ -/* -------------------------------------------------------------------------- */ - -#define _PDCLIB_LC_ALL 0 -#define _PDCLIB_LC_COLLATE 1 -#define _PDCLIB_LC_CTYPE 2 -#define _PDCLIB_LC_MONETARY 3 -#define _PDCLIB_LC_NUMERIC 4 -#define _PDCLIB_LC_TIME 5 -#define _PDCLIB_LC_MESSAGES 6 -#define _PDCLIB_LC_COUNT 7 - -#define _PDCLIB_CTYPE_ALPHA 1 -#define _PDCLIB_CTYPE_BLANK 2 -#define _PDCLIB_CTYPE_CNTRL 4 -#define _PDCLIB_CTYPE_GRAPH 8 -#define _PDCLIB_CTYPE_PUNCT 16 -#define _PDCLIB_CTYPE_SPACE 32 -#define _PDCLIB_CTYPE_LOWER 64 -#define _PDCLIB_CTYPE_UPPER 128 - -#define _PDCLIB_CHARSET_SIZE ( 1 << _PDCLIB_CHAR_BIT ) - -struct _PDCLIB_lc_lconv_numeric_t -{ - char * decimal_point; - char * thousands_sep; - char * grouping; -}; - -struct _PDCLIB_lc_lconv_monetary_t -{ - char * mon_decimal_point; - char * mon_thousands_sep; - char * mon_grouping; - char * positive_sign; - char * negative_sign; - char * currency_symbol; - char * int_curr_symbol; - char frac_digits; - char p_cs_precedes; - char n_cs_precedes; - char p_sep_by_space; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; - char int_frac_digits; - char int_p_cs_precedes; - char int_n_cs_precedes; - char int_p_sep_by_space; - char int_n_sep_by_space; - char int_p_sign_posn; - char int_n_sign_posn; -}; - -struct _PDCLIB_lc_numeric_monetary_t -{ - struct lconv * lconv; - int numeric_alloced; - int monetary_alloced; -}; - -extern struct _PDCLIB_lc_numeric_monetary_t _PDCLIB_lc_numeric_monetary; - -struct _PDCLIB_lc_collate_t -{ - int alloced; - /* 1..3 code points */ - /* 1..8, 18 collation elements of 3 16-bit integers */ -}; - -extern struct _PDCLIB_lc_collate_t _PDCLIB_lc_collate_C; -extern struct _PDCLIB_lc_collate_t * _PDCLIB_lc_collate; - -/* One entry to the _PDCLIB_lc_ctype_t.entry data table */ -struct _PDCLIB_lc_ctype_entry_t -{ - _PDCLIB_uint_least16_t flags; /* Whether a character is of a given CTYPE */ - unsigned char upper; /* Result for toupper() */ - unsigned char lower; /* Result for tolower() */ -}; - -struct _PDCLIB_lc_ctype_t -{ - int alloced; /* .entry dynamically allocated? */ - int digits_low; /* Where decimal digits start */ - int digits_high; /* Where decimal digits end */ - int Xdigits_low; /* Where A..F start */ - int Xdigits_high; /* Where A..F end */ - int xdigits_low; /* Where a..f start */ - int xdigits_high; /* Where a..f end */ - struct _PDCLIB_lc_ctype_entry_t * entry; /* The data table */ -}; - -extern struct _PDCLIB_lc_ctype_t _PDCLIB_lc_ctype_C; -extern struct _PDCLIB_lc_ctype_t * _PDCLIB_lc_ctype; - -struct _PDCLIB_lc_messages_t -{ - int alloced; - char * errno_texts[_PDCLIB_ERRNO_MAX]; /* strerror() / perror() */ -}; - -extern struct _PDCLIB_lc_messages_t _PDCLIB_lc_messages_C; -extern struct _PDCLIB_lc_messages_t * _PDCLIB_lc_messages; - -struct _PDCLIB_lc_time_t -{ - int alloced; - char * month_name_abbr[12]; /* month names, abbreviated */ - char * month_name_full[12]; /* month names, full */ - char * day_name_abbr[7]; /* weekday names, abbreviated */ - char * day_name_full[7]; /* weekday names, full */ - char * date_time_format; /* date / time format for strftime( "%c" ) */ - char * time_format_12h; /* 12-hour time format for strftime( "%r" ) */ - char * date_format; /* date format for strftime( "%x" ) */ - char * time_format; /* time format for strftime( "%X" ) */ - char * am_pm[2]; /* AM / PM designation */ -}; - -extern struct _PDCLIB_lc_time_t _PDCLIB_lc_time_C; -extern struct _PDCLIB_lc_time_t * _PDCLIB_lc_time; - -_PDCLIB_LOCAL struct _PDCLIB_lc_lconv_numeric_t * _PDCLIB_load_lc_numeric( const char * path, const char * locale ); -_PDCLIB_LOCAL struct _PDCLIB_lc_lconv_monetary_t * _PDCLIB_load_lc_monetary( const char * path, const char * locale ); -_PDCLIB_LOCAL struct _PDCLIB_lc_collate_t * _PDCLIB_load_lc_collate( const char * path, const char * locale ); -_PDCLIB_LOCAL struct _PDCLIB_lc_ctype_t * _PDCLIB_load_lc_ctype( const char * path, const char * locale ); -_PDCLIB_LOCAL struct _PDCLIB_lc_time_t * _PDCLIB_load_lc_time( const char * path, const char * locale ); -_PDCLIB_LOCAL struct _PDCLIB_lc_messages_t * _PDCLIB_load_lc_messages( const char * path, const char * locale ); - -/* -------------------------------------------------------------------------- */ -/* Sanity checks */ -/* -------------------------------------------------------------------------- */ - -/* signed-ness of char */ -_PDCLIB_static_assert( _PDCLIB_CHAR_MIN == ((((char) -1) < 0) ? _PDCLIB_SCHAR_MIN : 0), "Compiler disagrees on signed-ness of 'char'." ); - -/* two's complement */ -#if _PDCLIB_TWOS_COMPLEMENT == 1 -#if _PDCLIB_CHAR_MIN < 0 -_PDCLIB_static_assert( ((char) ~ (char) 0 < 0), "Not two's complement on 'char'." ); -#endif -_PDCLIB_static_assert( ((short) ~ (short) 0 < 0), "Not two's complement on 'short'." ); -_PDCLIB_static_assert( ((int) ~ (int) 0 < 0), "Not two's complement on 'int'." ); -_PDCLIB_static_assert( ((long) ~ (long) 0 < 0), "Not two's complement on 'long'." ); -_PDCLIB_static_assert( ((long long) ~ (long long) 0 < 0), "Not two's complement on 'long long'." ); -#endif - -/* size_t as the result of sizeof */ -_PDCLIB_static_assert( sizeof( sizeof( int ) ) == sizeof( _PDCLIB_size_t ), "Compiler disagrees on size_t." ); - -/* wchar_t as the type of wide character literals */ -_PDCLIB_static_assert( sizeof( _PDCLIB_wchar_t ) == sizeof( L'x' ), "Compiler disagrees on wchar_t." ); -#ifdef __cplusplus -_PDCLIB_static_assert( sizeof( _PDCLIB_wchar_t ) == sizeof( wchar_t ), "Compiler disagrees on wchar_t (C++)." ); -#endif - -/* intptr_t/uintptr_t being wide enough to store the value of a pointer */ -_PDCLIB_static_assert( sizeof( void * ) == sizeof( _PDCLIB_intptr_t ), "Compiler disagrees on intptr_t." ); -_PDCLIB_static_assert( sizeof( void * ) == sizeof( _PDCLIB_uintptr_t ), "Compiler disagrees on uintptr_t." ); - -/* ptrdiff_t as the result of pointer arithmetic */ -_PDCLIB_static_assert( sizeof( &_PDCLIB_digits[1] - &_PDCLIB_digits[0] ) == sizeof( _PDCLIB_ptrdiff_t ), "Compiler disagrees on ptrdiff_t." ); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_lib_ext1.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_lib_ext1.h deleted file mode 100644 index fe96bca..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_lib_ext1.h +++ /dev/null @@ -1,32 +0,0 @@ -/* __STDC_WANT_LIB_EXT1__ redefinition guard - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef __STDC_WANT_LIB_EXT1__ - #ifdef __STDC_WANT_LIB_EXT1_PREVIOUS__ - #if __STDC_WANT_LIB_EXT1_PREVIOUS__ != -1 - #error __STDC_WANT_LIB_EXT1__ undefined when it was defined earlier. - #endif - #else - #define __STDC_WANT_LIB_EXT1_PREVIOUS__ -1 - #endif -#else - #if ( __STDC_WANT_LIB_EXT1__ + 0 ) == 0 && ( 0 - __STDC_WANT_LIB_EXT1__ - 1 ) == 1 - #error __STDC_WANT_LIB_EXT1__ defined but empty. Should be an integer value. - #endif - #ifdef __STDC_WANT_LIB_EXT1_PREVIOUS__ - #if ( __STDC_WANT_LIB_EXT1__ + 0 ) != __STDC_WANT_LIB_EXT1_PREVIOUS__ - #error __STDC_WANT_LIB_EXT1__ redefined from previous value. - #endif - #else - #if ( __STDC_WANT_LIB_EXT1__ + 0 ) == 0 - #define __STDC_WANT_LIB_EXT1_PREVIOUS__ 0 - #elif ( __STDC_WANT_LIB_EXT1__ + 0 ) == 1 - #define __STDC_WANT_LIB_EXT1_PREVIOUS__ 1 - #else - #error __STDC_WANT_LIB_EXT1__ set to value other than 0,1 -- undefined behavior - #endif - #endif -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_platform_errno.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_platform_errno.h deleted file mode 100644 index 04e4f3d..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_platform_errno.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _PDCLIB_PLATFORM_ERRNO -#define _PDCLIB_PLATFORM_ERRNO - -#include "errno.h" - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_platform_fcntl.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_platform_fcntl.h deleted file mode 100644 index 8c7c026..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_platform_fcntl.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _PDCLIB_PLATFORM_FCNTL -#define _PDCLIB_PLATFORM_FCNTL - -#include "fcntl.h" - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_print.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_print.h deleted file mode 100644 index 015b0ff..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_print.h +++ /dev/null @@ -1,145 +0,0 @@ -/* PDCLib printf logic <_PDCLIB_print.h> - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_PRINT_H -#define _PDCLIB_PRINT_H _PDCLIB_PRINT_H - -#include "pdclib/_PDCLIB_internal.h" - -#include -#include -#include - -/* This macro delivers a given character to either a memory buffer or a stream, - depending on the contents of 'status' (struct _PDCLIB_status_t). - x - the character to be delivered - i - pointer to number of characters already delivered in this call - n - pointer to maximum number of characters to be delivered in this call - s - the buffer into which the character shall be delivered -*/ -#define PUT( x ) \ - do { \ - int character = x; \ - if ( status->i < status->n ) { \ - if ( status->stream != NULL ) \ - putc( character, status->stream ); \ - else \ - status->s[status->i] = character; \ - } \ - ++(status->i); \ - } while ( 0 ) - - -/* Using an integer's bits as flags for both the conversion flags and length - modifiers. -*/ -#define E_minus (INT32_C(1)<<0) -#define E_plus (INT32_C(1)<<1) -#define E_alt (INT32_C(1)<<2) -#define E_space (INT32_C(1)<<3) - -#define E_zero (INT32_C(1)<<4) -#define E_done (INT32_C(1)<<5) -#define E_char (INT32_C(1)<<6) -#define E_short (INT32_C(1)<<7) - -#define E_long (INT32_C(1)<<8) -#define E_llong (INT32_C(1)<<9) -#define E_intmax (INT32_C(1)<<10) -#define E_size (INT32_C(1)<<11) - -#define E_ptrdiff (INT32_C(1)<<12) -#define E_pointer (INT32_C(1)<<13) -#define E_double (INT32_C(1)<<14) -#define E_ldouble (INT32_C(1)<<15) - -#define E_lower (INT32_C(1)<<16) -#define E_unsigned (INT32_C(1)<<17) -#define E_decimal (INT32_C(1)<<18) -#define E_exponent (INT32_C(1)<<19) - -#define E_generic (INT32_C(1)<<20) -#define E_hexa (INT32_C(1)<<21) - -/* -------------------------------------------------------------------------- */ -/* _PDCLIB_bigint_t support (required for floating point conversions) */ -/* -------------------------------------------------------------------------- */ - -/* Must be divisible by 32. */ -/* 1120 is enough for 64bit floats. A 128 float takes 16544 bits. */ -#define _PDCLIB_BIGINT_BITS 1120 - -#if _PDCLIB_BIGINT_DIGIT_BITS == 32 -#define _PDCLIB_BIGINT_DIGIT_MAX _PDCLIB_UINT_LEAST32_C( 0xFFFFFFFF ) -typedef _PDCLIB_uint_least32_t _PDCLIB_bigint_digit_t; -typedef _PDCLIB_int_least32_t _PDCLIB_bigint_sdigit_t; -typedef _PDCLIB_uint_least64_t _PDCLIB_bigint_arith_t; -#elif _PDCLIB_BIGINT_DIGIT_BITS == 16 -#define _PDCLIB_BIGINT_DIGIT_MAX _PDCLIB_UINT_LEAST16_C( 0xFFFF ) -typedef _PDCLIB_uint_least16_t _PDCLIB_bigint_digit_t; -typedef _PDCLIB_int_least16_t _PDCLIB_bigint_sdigit_t; -typedef _PDCLIB_uint_least32_t _PDCLIB_bigint_arith_t; -#else -#error _PDCLIB_BIGINT_DIGIT_BITS.needs to be 16 or 32. -#endif - -/* How many "digits" a _PDCLIB_bigint_t holds. */ -#define _PDCLIB_BIGINT_DIGITS _PDCLIB_BIGINT_BITS / _PDCLIB_BIGINT_DIGIT_BITS - -/* Maximum number of characters needed for _PDCLIB_bigint_tostring() */ -#define _PDCLIB_BIGINT_CHARS ( _PDCLIB_BIGINT_BITS / 4 + _PDCLIB_BIGINT_DIGITS + 2 ) - -/* Type */ -/* ---- */ - -typedef struct -{ - /* Number of digits used; zero value == zero size */ - _PDCLIB_size_t size; - /* Least significant digit first */ - _PDCLIB_bigint_digit_t data[ _PDCLIB_BIGINT_DIGITS ]; -} _PDCLIB_bigint_t; - -typedef struct -{ - _PDCLIB_bigint_t mantissa; - _PDCLIB_int_least16_t exponent; - _PDCLIB_int_least16_t scale; - enum - { - _PDCLIB_FP_NORMAL, - _PDCLIB_FP_SUBNORMAL, - _PDCLIB_FP_INF, - _PDCLIB_FP_NAN - } state; - char sign; -} _PDCLIB_fp_t; - -void _PDCLIB_fp_from_dbl( _PDCLIB_fp_t * fp, double value ); -void _PDCLIB_fp_from_ldbl( _PDCLIB_fp_t * fp, long double value ); - -void _PDCLIB_bigint_from_digit( _PDCLIB_bigint_t * bigint, _PDCLIB_bigint_digit_t digit ); -void _PDCLIB_bigint_from_pow2( _PDCLIB_bigint_t * bigint, unsigned pow ); -void _PDCLIB_bigint_from_pow10( _PDCLIB_bigint_t * bigint, unsigned pow ); -void _PDCLIB_bigint_from_bigint( _PDCLIB_bigint_t * bigint, _PDCLIB_bigint_t const * other ); -void _PDCLIB_bigint_add( _PDCLIB_bigint_t * bigint, _PDCLIB_bigint_t const * other ); -void _PDCLIB_bigint_mul( _PDCLIB_bigint_t * bigint, _PDCLIB_bigint_t const * other ); -void _PDCLIB_bigint_mul_pow10( _PDCLIB_bigint_t * bigint, int pow10 ); -int _PDCLIB_bigint_cmp( _PDCLIB_bigint_t const * lhs, _PDCLIB_bigint_t const * rhs ); -void _PDCLIB_bigint_shl( _PDCLIB_bigint_t * bigint, _PDCLIB_size_t bits ); -void _PDCLIB_bigint_mul10( _PDCLIB_bigint_t * bigint ); -int _PDCLIB_bigint_digit_log2( _PDCLIB_bigint_digit_t digit ); -int _PDCLIB_bigint_log2( _PDCLIB_bigint_t const * bigint ); -unsigned _PDCLIB_bigint_div( _PDCLIB_bigint_t * dividend, _PDCLIB_bigint_t const * divisor ); - -void _PDCLIB_print_integer( struct _PDCLIB_imaxdiv_t div, struct _PDCLIB_status_t * status ); -void _PDCLIB_print_string( const char * s, struct _PDCLIB_status_t * status ); -void _PDCLIB_print_fp( _PDCLIB_fp_t * fp, struct _PDCLIB_status_t * status ); -int _PDCLIB_print_fp_deci( _PDCLIB_fp_t * fp, struct _PDCLIB_status_t * status, char * buffer ); -void _PDCLIB_print_fp_hexa( _PDCLIB_fp_t * fp, struct _PDCLIB_status_t * status, char * buffer ); -void _PDCLIB_print_fp_dragon4( _PDCLIB_bigint_t * fp, struct _PDCLIB_status_t * status ); - -#endif diff --git a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_tzcode.h b/RockOS/sysroot/usr/include/pdclib/_PDCLIB_tzcode.h deleted file mode 100644 index d12c4a7..0000000 --- a/RockOS/sysroot/usr/include/pdclib/_PDCLIB_tzcode.h +++ /dev/null @@ -1,153 +0,0 @@ -/* TZ Code declarations and definitions <_PDCLIB_tzcode.h> - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_TZCODE_H -#define _PDCLIB_TZCODE_H _PDCLIB_TZCODE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include -#include - -/* Handy macros that are independent of tzfile implementation. */ -#define YEARSPERREPEAT 400 /* years before a Gregorian repeat */ - -#define SECSPERMIN 60 -#define MINSPERHOUR 60 -#define HOURSPERDAY 24 -#define DAYSPERWEEK 7 -#define DAYSPERNYEAR 365 -#define DAYSPERLYEAR 366 -#define SECSPERHOUR (SECSPERMIN * MINSPERHOUR) -#define SECSPERDAY ((int_fast32_t) SECSPERHOUR * HOURSPERDAY) -#define MONSPERYEAR 12 - -#define AVGSECSPERYEAR 31556952L -#define SECSPERREPEAT ((int_fast64_t) YEARSPERREPEAT * (int_fast64_t) AVGSECSPERYEAR) -#define SECSPERREPEAT_BITS 34 /* ceil(log2(SECSPERREPEAT)) */ - -#define TM_SUNDAY 0 -#define TM_MONDAY 1 -#define TM_TUESDAY 2 -#define TM_WEDNESDAY 3 -#define TM_THURSDAY 4 -#define TM_FRIDAY 5 -#define TM_SATURDAY 6 - -#define TM_YEAR_BASE 1900 - -#define EPOCH_YEAR 1970 -#define EPOCH_WDAY TM_THURSDAY - -extern struct tm _PDCLIB_tm; -extern int lcl_is_set; - -static const char gmt[] = "GMT"; - -static const int mon_lengths[ 2 ][ MONSPERYEAR ] = -{ - { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, - { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } -}; - -static const int year_lengths[2] = -{ - DAYSPERNYEAR, DAYSPERLYEAR -}; - -/* time type information */ -struct ttinfo -{ - int_fast32_t utoff; /* UT offset in seconds */ - bool isdst; /* used to set tm_isdst */ - int desigidx; /* abbreviation list index */ - bool ttisstd; /* transition is std time */ - bool ttisut; /* transition is UT */ -}; - -/* leap second information */ -struct lsinfo -{ - time_t trans; /* transition time */ - int_fast64_t corr; /* correction to apply */ -}; - -#define BIGGEST( a, b ) (((a) > (b)) ? (a) : (b)) - -#ifndef TZ_MAX_TIMES -#define TZ_MAX_TIMES 2000 -#endif - -#ifndef TZ_MAX_TYPES -/* This must be at least 17 for Europe/Vilnius. */ -/* Limited by what (unsigned char)s can hold */ -#define TZ_MAX_TYPES 256 -#endif - -#ifndef TZ_MAX_CHARS -/* Maximum number of abbreviation characters */ -/* Limited by what (unsigned char)s can hold */ -#define TZ_MAX_CHARS 50 -#endif - -#ifndef TZ_MAX_LEAPS -/* Maximum number of leap second corrections */ -#define TZ_MAX_LEAPS 50 -#endif - -#ifdef TZNAME_MAX -#define MY_TZNAME_MAX TZNAME_MAX -#else -#define MY_TZNAME_MAX 255 -#endif - -struct state -{ - int leapcnt; - int timecnt; - int typecnt; - int charcnt; - bool goback; - bool goahead; - time_t ats[ TZ_MAX_TIMES ]; - unsigned char types[ TZ_MAX_TIMES ]; - struct ttinfo ttis[ TZ_MAX_TYPES ]; - char chars[ BIGGEST( BIGGEST( TZ_MAX_CHARS + 1, sizeof gmt ), ( 2 * ( MY_TZNAME_MAX + 1 ) ) ) ]; - struct lsinfo lsis[ TZ_MAX_LEAPS ]; - - /* The time type to use for early times or if no transitions. - It is always zero for recent tzdb releases. - It might be nonzero for data from tzdb 2018e or earlier. - */ - int defaulttype; -}; - -extern struct state _PDCLIB_lclmem; -extern struct state _PDCLIB_gmtmem; - -void _PDCLIB_gmtcheck(void); -struct tm * _PDCLIB_gmtsub( struct state const * sp, time_t const * timep, int_fast32_t offset, struct tm * tmp ); -bool _PDCLIB_increment_overflow( int * ip, int j ); -void _PDCLIB_init_ttinfo( struct ttinfo * s, int_fast32_t utoff, bool isdst, int desigidx ); -struct tm * _PDCLIB_localsub( struct state const * sp, time_t const * timep, int_fast32_t setname, struct tm * const tmp ); -struct tm * _PDCLIB_localtime_tzset( time_t const * timep, struct tm * tmp, bool setname ); -time_t _PDCLIB_mktime_tzname( struct state * sp, struct tm * tmp, bool setname ); -struct tm * _PDCLIB_timesub( const time_t * timep, int_fast32_t offset, const struct state * sp, struct tm * tmp ); -int _PDCLIB_tzload( char const * name, struct state * sp, bool doextend ); -bool _PDCLIB_tzparse(char const *, struct state *, bool); -void _PDCLIB_tzset_unlocked( void ); -void _PDCLIB_update_tzname_etc( struct state const * sp, struct ttinfo const * ttisp ); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/signal.h b/RockOS/sysroot/usr/include/signal.h deleted file mode 100644 index 1f679ec..0000000 --- a/RockOS/sysroot/usr/include/signal.h +++ /dev/null @@ -1,91 +0,0 @@ -/* Signal handling - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_SIGNAL_H -#define _PDCLIB_SIGNAL_H _PDCLIB_SIGNAL_H - -#include "pdclib/_PDCLIB_internal.h" - -/* Signals ------------------------------------------------------------------ */ - -/* A word on signals, to the people using PDCLib in their OS projects. - - The definitions of the C standard leave about everything that *could* be - useful to be "implementation defined". Without additional, non-standard - arrangements, it is not possible to turn them into a useful tool. - - This example implementation chose to "not generate any of these signals, - except as a result of explicit calls to the raise function", which is - allowed by the standard but of course does nothing for the usefulness of - . - - A useful signal handling would: - 1) make signal() a system call that registers the signal handler with the OS - 2) make raise() a system call triggering an OS signal to the running process - 3) make provisions that further signals of the same type are blocked until - the signal handler returns (optional for SIGILL) -*/ - -/* These are the values used by Linux. */ - -/* Abnormal termination / abort() */ -#define SIGABRT 6 -/* Arithmetic exception / division by zero / overflow */ -#define SIGFPE 8 -/* Illegal instruction */ -#define SIGILL 4 -/* Interactive attention signal */ -#define SIGINT 2 -/* Invalid memory access */ -#define SIGSEGV 11 -/* Termination request */ -#define SIGTERM 15 - -/* The following should be defined to pointer values that could NEVER point to - a valid signal handler function. (They are used as special arguments to - signal().) Again, these are the values used by Linux. -*/ -#define SIG_DFL (void (*)( int ))0 -#define SIG_ERR (void (*)( int ))-1 -#define SIG_IGN (void (*)( int ))1 - -typedef _PDCLIB_sig_atomic_t sig_atomic_t; - -/* Installs a signal handler "func" for the given signal. - A signal handler is a function that takes an integer as argument (the signal - number) and returns void. - - Note that a signal handler can do very little else than: - 1) assign a value to a static object of type "volatile sig_atomic_t", - 2) call signal() with the value of sig equal to the signal received, - 3) call _Exit(), - 4) call abort(). - Virtually everything else is undefind. - - The signal() function returns the previous installed signal handler, which - at program start may be SIG_DFL or SIG_ILL. (This implementation uses - SIG_DFL for all handlers.) If the request cannot be honored, SIG_ERR is - returned and errno is set to an unspecified positive value. -*/ -_PDCLIB_PUBLIC void ( *signal( int sig, void ( *func )( int ) ) )( int ); - -/* Raises the given signal (executing the registered signal handler with the - given signal number as parameter). - This implementation does not prevent further signals of the same time from - occuring, but executes signal( sig, SIG_DFL ) before entering the signal - handler (i.e., a second signal before the signal handler re-registers itself - or SIG_IGN will end the program). - Returns zero if successful, nonzero otherwise. */ -_PDCLIB_PUBLIC int raise( int sig ); - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_SIGNAL_H -#include _PDCLIB_EXTEND_SIGNAL_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stdalign.h b/RockOS/sysroot/usr/include/stdalign.h deleted file mode 100644 index b302601..0000000 --- a/RockOS/sysroot/usr/include/stdalign.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Alignment - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDALIGN_H -#define _PDCLIB_STDALIGN_H _PDCLIB_STDALIGN_H - -#ifndef __cplusplus -#define __alignas_is_defined 1 -#define __alignof_is_defined 1 - -#if ! defined( __STDC_VERSION__ ) || ( __STDC_VERSION__ < 202311L ) -#define alignas _Alignas -#define alignof _Alignof -#elif __STDC_VERSION__ >= 202311L -#warning has been deprecated as of C23. -#endif -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDALIGN_H -#include _PDCLIB_EXTEND_STDALIGN_H -#endif - -#endif - diff --git a/RockOS/sysroot/usr/include/stdarg.h b/RockOS/sysroot/usr/include/stdarg.h deleted file mode 100644 index 7741b70..0000000 --- a/RockOS/sysroot/usr/include/stdarg.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Variable arguments - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDARG_H -#define _PDCLIB_STDARG_H _PDCLIB_STDARG_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_config.h" - -typedef _PDCLIB_va_list va_list; - -#define va_arg( ap, type ) _PDCLIB_va_arg( ap, type ) -#define va_copy( dest, src ) _PDCLIB_va_copy( dest, src ) -#define va_end( ap ) _PDCLIB_va_end( ap ) -#define va_start( ap, parmN ) _PDCLIB_va_start( ap, parmN ) - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDARG_H -#include _PDCLIB_EXTEND_STDARG_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stdbool.h b/RockOS/sysroot/usr/include/stdbool.h deleted file mode 100644 index e901f63..0000000 --- a/RockOS/sysroot/usr/include/stdbool.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Boolean type and values - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDBOOL_H -#define _PDCLIB_STDBOOL_H _PDCLIB_STDBOOL_H - -#ifndef __cplusplus -#define bool _Bool -#define true 1 -#define false 0 -#endif -#define __bool_true_false_are_defined 1 - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDBOOL_H -#include _PDCLIB_EXTEND_STDBOOL_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stddef.h b/RockOS/sysroot/usr/include/stddef.h deleted file mode 100644 index 7d03d07..0000000 --- a/RockOS/sysroot/usr/include/stddef.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Common definitions - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDDEF_H -#define _PDCLIB_STDDEF_H _PDCLIB_STDDEF_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -typedef _PDCLIB_ptrdiff_t ptrdiff_t; - -#ifndef _PDCLIB_SIZE_T_DEFINED -#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED -typedef _PDCLIB_size_t size_t; -#endif - -#ifndef __cplusplus -typedef _PDCLIB_wchar_t wchar_t; -#endif - -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -#define offsetof( type, member ) _PDCLIB_offsetof( type, member ) - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 -#ifndef _PDCLIB_RSIZE_T_DEFINED -#define _PDCLIB_RSIZE_T_DEFINED _PDCLIB_RSIZE_T_DEFINED -typedef size_t rsize_t; -#endif -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDDEF_H -#include _PDCLIB_EXTEND_STDDEF_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stdint.h b/RockOS/sysroot/usr/include/stdint.h deleted file mode 100644 index 04af6b0..0000000 --- a/RockOS/sysroot/usr/include/stdint.h +++ /dev/null @@ -1,236 +0,0 @@ -/* Integer types - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDINT_H -#define _PDCLIB_STDINT_H _PDCLIB_STDINT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -/* 7.18.1.1 Exact-width integer types. */ - -#ifdef _PDCLIB_int8_t -typedef _PDCLIB_int8_t int8_t; -typedef _PDCLIB_uint8_t uint8_t; -#endif - -#ifdef _PDCLIB_int16_t -typedef _PDCLIB_int16_t int16_t; -typedef _PDCLIB_uint16_t uint16_t; -#endif - -#ifdef _PDCLIB_int32_t -typedef _PDCLIB_int32_t int32_t; -typedef _PDCLIB_uint32_t uint32_t; -#endif - -#ifdef _PDCLIB_int64_t -typedef _PDCLIB_int64_t int64_t; -typedef _PDCLIB_uint64_t uint64_t; -#endif - -/* 7.18.1.2 Minimum-width integer types */ - -/* You are allowed to add more types here, e.g. int_least24_t. */ - -typedef _PDCLIB_int_least8_t int_least8_t; -typedef _PDCLIB_int_least16_t int_least16_t; -typedef _PDCLIB_int_least32_t int_least32_t; -typedef _PDCLIB_int_least64_t int_least64_t; - -typedef _PDCLIB_uint_least8_t uint_least8_t; -typedef _PDCLIB_uint_least16_t uint_least16_t; -typedef _PDCLIB_uint_least32_t uint_least32_t; -typedef _PDCLIB_uint_least64_t uint_least64_t; - -/* 7.18.1.3 Fastest minimum-width integer types */ - -/* You are allowed to add more types here, e.g. int_fast24_t. */ - -typedef _PDCLIB_int_fast8_t int_fast8_t; -typedef _PDCLIB_int_fast16_t int_fast16_t; -typedef _PDCLIB_int_fast32_t int_fast32_t; -typedef _PDCLIB_int_fast64_t int_fast64_t; - -typedef _PDCLIB_uint_fast8_t uint_fast8_t; -typedef _PDCLIB_uint_fast16_t uint_fast16_t; -typedef _PDCLIB_uint_fast32_t uint_fast32_t; -typedef _PDCLIB_uint_fast64_t uint_fast64_t; - -/* 7.18.1.4 Integer types capable of holding object pointers */ - -typedef _PDCLIB_intptr_t intptr_t; -typedef _PDCLIB_uintptr_t uintptr_t; - -/* 7.18.1.5 Greatest-width integer types */ - -typedef _PDCLIB_intmax_t intmax_t; -typedef _PDCLIB_uintmax_t uintmax_t; - -/* 7.18.2 Limits of specified-width integer types */ - -#if defined( __cplusplus ) && __cplusplus < 201103L -#ifndef __STDC_LIMIT_MACROS -#define _PDCLIB_NO_LIMIT_MACROS -#endif -#endif - -#ifndef _PDCLIB_NO_LIMIT_MACROS - -/* 7.18.2.1 Limits of exact-width integer types */ - -#if _PDCLIB_TWOS_COMPLEMENT == 1 - -#if _PDCLIB_INT_LEAST8_MAX == 0x7f -#define INT8_MAX _PDCLIB_INT_LEAST8_MAX -#define INT8_MIN _PDCLIB_INT_LEAST8_MIN -#define UINT8_MAX _PDCLIB_UINT_LEAST8_MAX -#endif - -#if _PDCLIB_INT_LEAST16_MAX == 0x7fff -#define INT16_MAX _PDCLIB_INT_LEAST16_MAX -#define INT16_MIN _PDCLIB_INT_LEAST16_MIN -#define UINT16_MAX _PDCLIB_UINT_LEAST16_MAX -#endif - -#if _PDCLIB_INT_LEAST32_MAX == 0x7fffffffl -#define INT32_MAX _PDCLIB_INT_LEAST32_MAX -#define INT32_MIN _PDCLIB_INT_LEAST32_MIN -#define UINT32_MAX _PDCLIB_UINT_LEAST32_MAX -#endif - -#if _PDCLIB_INT_LEAST64_MAX == 0x7fffffffffffffffll -#define INT64_MAX _PDCLIB_INT_LEAST64_MAX -#define INT64_MIN _PDCLIB_INT_LEAST64_MIN -#define UINT64_MAX _PDCLIB_UINT_LEAST64_MAX -#endif - -#endif - -/* 7.18.2.2 Limits of minimum-width integer types */ - -#define INT_LEAST8_MIN _PDCLIB_INT_LEAST8_MIN -#define INT_LEAST8_MAX _PDCLIB_INT_LEAST8_MAX -#define UINT_LEAST8_MAX _PDCLIB_UINT_LEAST8_MAX - -#define INT_LEAST16_MIN _PDCLIB_INT_LEAST16_MIN -#define INT_LEAST16_MAX _PDCLIB_INT_LEAST16_MAX -#define UINT_LEAST16_MAX _PDCLIB_UINT_LEAST16_MAX - -#define INT_LEAST32_MIN _PDCLIB_INT_LEAST32_MIN -#define INT_LEAST32_MAX _PDCLIB_INT_LEAST32_MAX -#define UINT_LEAST32_MAX _PDCLIB_UINT_LEAST32_MAX - -#define INT_LEAST64_MIN _PDCLIB_INT_LEAST64_MIN -#define INT_LEAST64_MAX _PDCLIB_INT_LEAST64_MAX -#define UINT_LEAST64_MAX _PDCLIB_UINT_LEAST64_MAX - -/* 7.18.2.3 Limits of fastest minimum-width integer types */ - -#define INT_FAST8_MIN _PDCLIB_INT_FAST8_MIN -#define INT_FAST8_MAX _PDCLIB_INT_FAST8_MAX -#define UINT_FAST8_MAX _PDCLIB_UINT_FAST8_MAX - -#define INT_FAST16_MIN _PDCLIB_INT_FAST16_MIN -#define INT_FAST16_MAX _PDCLIB_INT_FAST16_MAX -#define UINT_FAST16_MAX _PDCLIB_UINT_FAST16_MAX - -#define INT_FAST32_MIN _PDCLIB_INT_FAST32_MIN -#define INT_FAST32_MAX _PDCLIB_INT_FAST32_MAX -#define UINT_FAST32_MAX _PDCLIB_UINT_FAST32_MAX - -#define INT_FAST64_MIN _PDCLIB_INT_FAST64_MIN -#define INT_FAST64_MAX _PDCLIB_INT_FAST64_MAX -#define UINT_FAST64_MAX _PDCLIB_UINT_FAST64_MAX - -/* 7.18.2.4 Limits of integer types capable of holding object pointers */ - -#define INTPTR_MIN _PDCLIB_INTPTR_MIN -#define INTPTR_MAX _PDCLIB_INTPTR_MAX -#define UINTPTR_MAX _PDCLIB_UINTPTR_MAX - -/* 7.18.2.5 Limits of greatest-width integer types */ - -#define INTMAX_MIN _PDCLIB_INTMAX_MIN -#define INTMAX_MAX _PDCLIB_INTMAX_MAX -#define UINTMAX_MAX _PDCLIB_UINTMAX_MAX - -/* 7.18.3 Limits of other integer types */ - -#define PTRDIFF_MIN _PDCLIB_PTRDIFF_MIN -#define PTRDIFF_MAX _PDCLIB_PTRDIFF_MAX - -#define SIG_ATOMIC_MIN _PDCLIB_SIG_ATOMIC_MIN -#define SIG_ATOMIC_MAX _PDCLIB_SIG_ATOMIC_MAX - -#define SIZE_MAX _PDCLIB_SIZE_MAX - -#define WCHAR_MIN _PDCLIB_WCHAR_MIN -#define WCHAR_MAX _PDCLIB_WCHAR_MAX - -#define WINT_MIN _PDCLIB_WINT_MIN -#define WINT_MAX _PDCLIB_WINT_MAX - -#endif - -/* 7.18.4 Macros for integer constants */ - -#if defined( __cplusplus ) && __cplusplus < 201103L -#ifndef __STDC_CONSTANT_MACROS -#define _PDCLIB_NO_CONSTANT_MACROS -#endif -#endif - -#ifndef _PDCLIB_NO_CONSTANT_MACROS - -/* 7.18.4.1 Macros for minimum-width integer constants */ - -/* Expand to an integer constant of specified value and type int_leastN_t */ - -#define INT8_C _PDCLIB_INT_LEAST8_C -#define INT16_C _PDCLIB_INT_LEAST16_C -#define INT32_C _PDCLIB_INT_LEAST32_C -#define INT64_C _PDCLIB_INT_LEAST64_C - -/* Expand to an integer constant of specified value and type uint_leastN_t */ - -#define UINT8_C _PDCLIB_UINT_LEAST8_C -#define UINT16_C _PDCLIB_UINT_LEAST16_C -#define UINT32_C _PDCLIB_UINT_LEAST32_C -#define UINT64_C _PDCLIB_UINT_LEAST64_C - -/* 7.18.4.2 Macros for greatest-width integer constants */ - -/* Expand to an integer constant of specified value and type intmax_t */ -#define INTMAX_C( value ) _PDCLIB_INTMAX_C( value ) - -/* Expand to an integer constant of specified value and type uintmax_t */ -#define UINTMAX_C( value ) _PDCLIB_UINTMAX_C( value ) - -#endif - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 -#define RSIZE_MAX ( _PDCLIB_SIZE_MAX >> 1 ) -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDINT_H -#include _PDCLIB_EXTEND_STDINT_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stdio.h b/RockOS/sysroot/usr/include/stdio.h deleted file mode 100644 index 4ee538f..0000000 --- a/RockOS/sysroot/usr/include/stdio.h +++ /dev/null @@ -1,935 +0,0 @@ -/* Input/output - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDIO_H -#define _PDCLIB_STDIO_H _PDCLIB_STDIO_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -#ifndef _PDCLIB_SIZE_T_DEFINED -#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED -typedef _PDCLIB_size_t size_t; -#endif - -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -/* See setvbuf(), third argument */ -#define _IOFBF (1u<<0) -#define _IOLBF (1u<<1) -#define _IONBF (1u<<2) - -/* The following are platform-dependent, and defined in _PDCLIB_config.h. */ -typedef struct _PDCLIB_fpos_t fpos_t; -typedef struct _PDCLIB_file_t FILE; -#define EOF (-1) -#define BUFSIZ _PDCLIB_BUFSIZ -#define FOPEN_MAX _PDCLIB_FOPEN_MAX -#define FILENAME_MAX _PDCLIB_FILENAME_MAX -#define L_tmpnam _PDCLIB_L_tmpnam -#define TMP_MAX _PDCLIB_TMP_MAX - -/* See fseek(), third argument */ -#define SEEK_CUR _PDCLIB_SEEK_CUR -#define SEEK_END _PDCLIB_SEEK_END -#define SEEK_SET _PDCLIB_SEEK_SET - -extern FILE * stdin; -extern FILE * stdout; -extern FILE * stderr; - -/* Operations on files */ - -/* Remove the given file. - Returns zero if successful, non-zero otherwise. - This implementation does detect if a file of that name is currently open, - and fails the remove in this case. This does not detect two distinct names - that merely result in the same file (e.g. "/home/user/foo" vs. "~/foo"). -*/ -_PDCLIB_PUBLIC int remove( const char * filename ); - -/* Rename the given old file to the given new name. - Returns zero if successful, non-zero otherwise. - This implementation does detect if the old filename corresponds to an open - file, and fails the rename in this case. - If there already is a file with the new filename, behaviour is defined by - the glue code (see functions/_PDCLIB/rename.c). -*/ -_PDCLIB_PUBLIC int rename( const char * oldpath, const char * newpath ); - -/* Open a temporary file with mode "wb+", i.e. binary-update. Remove the file - automatically if it is closed or the program exits normally (by returning - from main() or calling exit()). - Returns a pointer to a FILE handle for this file. - This implementation does not remove temporary files if the process aborts - abnormally (e.g. abort()). -*/ -_PDCLIB_PUBLIC FILE * tmpfile( void ); - -/* Generate a file name that is not equal to any existing filename AT THE TIME - OF GENERATION. Generate a different name each time it is called. - Returns a pointer to an internal static buffer containing the filename if s - is a NULL pointer. (This is not thread-safe!) - Returns s if it is not a NULL pointer (s is then assumed to point to an array - of at least L_tmpnam characters). - Returns NULL if unable to generate a suitable name (because all possible - names already exist, or the function has been called TMP_MAX times already). - Note that this implementation cannot guarantee a file of the name generated - is not generated between the call to this function and a subsequent fopen(). -*/ -_PDCLIB_PUBLIC char * tmpnam( char * s ); - -/* File access functions */ - -/* Close the file associated with the given stream (after flushing its buffers). - Returns zero if successful, EOF if any errors occur. -*/ -_PDCLIB_PUBLIC int fclose( FILE * stream ); - -/* Flush the buffers of the given output stream. If the stream is an input - stream, or an update stream with the last operation being an input operation, - behaviour is undefined. - If stream is a NULL pointer, perform the buffer flushing for all applicable - streams. - Returns zero if successful, EOF if a write error occurs. - Sets the error indicator of the stream if a write error occurs. -*/ -_PDCLIB_PUBLIC int fflush( FILE * stream ); - -/* Open the file with the given filename in the given mode, and return a stream - handle for it in which error and end-of-file indicator are cleared. Defined - values for mode are: - - READ MODES - text files binary files - without update "r" "rb" - with update "r+" "rb+" or "r+b" - - Opening in read mode fails if no file with the given filename exists, or if - cannot be read. - - WRITE MODES - text files binary files - without update "w" "wb" - with update "w+" "wb+" or "w+b" - - With write modes, if a file with the given filename already exists, it is - truncated to zero length. - - APPEND MODES - text files binary files - without update "a" "ab" - with update "a+" "ab+" or "a+b" - - With update modes, if a file with the given filename already exists, it is - not truncated to zero length, but all writes are forced to end-of-file (this - regardless to fseek() calls). Note that binary files opened in append mode - might have their end-of-file padded with '\0' characters. - - Update modes mean that both input and output functions can be performed on - the stream, but output must be terminated with a call to either fflush(), - fseek(), fsetpos(), or rewind() before input is performed, and input must - be terminated with a call to either fseek(), fsetpos(), or rewind() before - output is performed, unless input encountered end-of-file. - - If a text file is opened with update mode, the implementation is at liberty - to open a binary stream instead. This implementation honors the exact mode - given. - - The stream is fully buffered if and only if it can be determined not to - refer to an interactive device. - - If the mode string begins with but is longer than one of the above sequences - the implementation is at liberty to ignore the additional characters, or do - implementation-defined things. This implementation only accepts the exact - modes above. - - Returns a pointer to the stream handle if successfull, NULL otherwise. -*/ -_PDCLIB_PUBLIC FILE * fopen( const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode ); - -/* Close any file currently associated with the given stream. Open the file - identified by the given filename with the given mode (equivalent to fopen()), - and associate it with the given stream. If filename is a NULL pointer, - attempt to change the mode of the given stream. - This implementation allows any mode changes on "real" files, and associating - of the standard streams with files. It does *not* support mode changes on - standard streams. - (Primary use of this function is to redirect stdin, stdout, and stderr.) - - Returns a pointer to the stream handle if successfull, NULL otherwise. -*/ -_PDCLIB_PUBLIC FILE * freopen( const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode, FILE * _PDCLIB_restrict stream ); - -/* If buf is a NULL pointer, call setvbuf( stream, NULL, _IONBF, BUFSIZ ). - If buf is not a NULL pointer, call setvbuf( stream, buf, _IOFBF, BUFSIZ ). -*/ -_PDCLIB_PUBLIC void setbuf( FILE * _PDCLIB_restrict stream, char * _PDCLIB_restrict buf ); - -/* Set the given stream to the given buffering mode. If buf is not a NULL - pointer, use buf as file buffer (of given size). If buf is a NULL pointer, - use a buffer of given size allocated internally. _IONBF causes unbuffered - behaviour, _IOLBF causes line-buffered behaviour, _IOFBF causes fully - buffered behaviour. Calling this function is only valid right after a file is - opened, and before any other operation (except for any unsuccessful calls to - setvbuf()) has been performed. - Returns zero if successful, nonzero otherwise. -*/ -_PDCLIB_PUBLIC int setvbuf( FILE * _PDCLIB_restrict stream, char * _PDCLIB_restrict buf, int mode, size_t size ); - -/* Formatted input/output functions */ - -/* - Write output to the given stream, as defined by the given format string and - 0..n subsequent arguments (the argument stack). - - The format string is written to the given stream verbatim, except for any - conversion specifiers included, which start with the letter '%' and are - documented below. If the given conversion specifiers require more arguments - from the argument stack than provided, behaviour is undefined. Additional - arguments not required by conversion specifiers are evaluated but otherwise - ignored. - - (The standard specifies the format string is allowed to contain multibyte - character sequences as long as it starts and ends in initial shift state, - but this is not yet supported by this implementation, which interprets the - format string as sequence of char.) - TODO: Add multibyte support to printf() functions. - - A conversion specifier consists of: - - Zero or more flags (one of the characters "-+ #0"). - - Optional minimum field width as decimal integer. Default is padding to the - left, using spaces. Note that 0 is taken as a flag, not the beginning of a - field width. Note also that a small field width will not result in the - truncation of a value. - - Optional precision (given as ".#" with # being a decimal integer), - specifying: - - the min. number of digits to appear (diouxX), - - the max. number of digits after the decimal point (aAeEfF), - - the max. number of significant digits (gG), - - the max. number of bytes to be written (s). - - behaviour with other conversion specifiers is undefined. - - Optional length modifier specifying the size of the argument (one of "hh", - "ll", or one of the characters "hljztL"). - - Conversion specifier character specifying the type of conversion to be - applied (and the type of the next argument from the argument stack). One - of the characters "diouxXfFeEgGaAcspn%". - - Minimum field width and/or precision may be given as asterisk ('*') instead - of a decimal integer. In this case, the next argument from the argument - stack is assumed to be an int value specifying the width / precision. A - negative field width is interpreted as flag '-' followed by a positive field - width. A negative precision is interpreted as if no precision was given. - - FLAGS - - Left-justify the conversion result within its field width. - + Prefix a '+' on positive signed conversion results. Prefix a '-' on - floating conversions resulting in negative zero, or negative values - rounding to zero. - space Prefix a space on positive signed conversion results, or if a signed - conversion results in no characters. If both '+' and ' ' are given, - ' ' is ignored. - # Use an "alternative form" for - - 'o' conversion, increasing precision until the first digit of the - result is a zero; - - 'x' or 'X' conversion, prefixing "0x" or "0X" to nonzero results; - - "aAeEfF" conversions, always printing a decimal point even if no - digits are following; - - 'g' or 'G' conversions, always printing a decimal point even if no - digits are following, and not removing trailing zeroes. - - behaviour for other conversions is unspecified. - 0 Use leading zeroes instead of spaces for field width padding. If both - '-' and '0' are given, '0' is ignored. If a precision is specified for - any of the "diouxX" conversions, '0' is ignored. Behaviour is only - defined for "diouxXaAeEfFgG". - - LENGTH MODIFIERS - hh For "diouxX" conversions, the argument from the argument stack is - assumed to be of char width. (It will have been subject to integer - promotion but will be converted back.) For 'n' conversions, the argument - is assumed to be a pointer to signed char. - h For "diouxX" conversions, the argument from the argument stack is - assumed to be of short int width. (It will have been subject to integer - promotion but will be converted back.) For 'n' conversions, the argument - is assumed to be a pointer to short int. - l For "diouxX" conversions, the argument from the argument stack is - assumed to be of long int width. For 'n' conversions, the argument is - assumed to be a pointer to short int. For 'c' conversions, the argument - is assumed to be a wint_t. For 's' conversions, the argument is assumed - to be a pointer to wchar_t. No effect on "aAeEfFgG" conversions. - ll For "diouxX" conversions, the argument from the argument stack is - assumed to be of long long int width. For 'n' conversions, the argument - is assumed to be a pointer to long long int. - j For "diouxX" conversions, the argument from the argument stack is - assumed to be of intmax_t width. For 'n' conversions, the argument is - assumed to be a pointer to intmax_t. - z For "diouxX" conversions, the argument from the argument stack is - assumed to be of size_t width. For 'n' conversions, the argument is - assumed to be a pointer to size_t. - t For "diouxX" conversions, the argument from the argument stack is - assumed to be of ptrdiff_t width. For 'n' conversions, the argument is - assumed to be a pointer to ptrdiff_t. - L For "aAeEfFgG" conversions, the argument from the argument stack is - assumed to be a long double. - Length modifiers appearing for any conversions not mentioned above will have - undefined behaviour. - If a length modifier appears with any conversion specifier other than as - specified above, the behavior is undefined. - - CONVERSION SPECIFIERS - d,i The argument from the argument stack is assumed to be of type int, and - is converted to a signed decimal value with a minimum number of digits - as specified by the precision (default 1), padded with leading zeroes. - A zero value converted with precision zero yields no output. - o The argument from the argument stack is assumed to be of type unsigned - int, and is converted to an unsigned octal value, other behaviour being - as above. - u The argument from the argument stack is assumed to be of type unsigned - int, and converted to an unsigned decimal value, other behaviour being - as above. - x,X The argument from the argument stack is assumed to be of type unsigned - int, and converted to an unsigned hexadecimal value, using lowercase - "abcdef" for 'x' and uppercase "ABCDEF" for 'X' conversion, other - behaviour being as above. - f,F The argument from the argument stack is assumed to be of type double, - and converted to a decimal floating point in decimal-point notation, - with the number of digits after the decimal point as specified by the - precision (default 6) and the value being rounded appropriately. If - precision is zero (and the '#' flag is not given), no decimal point is - printed. At least one digit is always printed before the decimal point. - For 'f' conversions, an infinity value is printed as either [-]inf or - [-]infinity (, depending on the configuration of this implementation. A - NaN value is printed as [-]nan. For 'F' conversions uppercase characters - are used for these special values. The flags '-', '+' and ' ' apply as - usual to these special values, '#' and '0' have no effect. - e,E The argument from the argument stack is assumed to be of type double, - and converted to a decimal floating point in normalized exponential - notation ([?]d.ddd edd). "Normalized" means one nonzero digit before - the decimal point, unless the value is zero. The number of digits after - the decimal point is specified by the precision (default 6), the value - being rounded appropriately. If precision is zero (and the '#' flag is - not given), no decimal point is printed. The exponent has at least two - digits, and not more than necessary to represent the exponent. If the - value is zero, the exponent is zero. The 'e' written to indicate the - exponend is uppercase for 'E' conversions. - Infinity or NaN values are represented as for 'f' and 'F' conversions, - respectively. - g,G The argument from the argument stack is assumed to be of type double, - and converted according to either 'f' or 'e' format for 'g' conversions, - or 'F' or 'E' format for 'G' conversions, respectively, with the actual - conversion chosen depending on the value. 'e' / 'E' conversion is chosen - if the resulting exponent is < -4 or >= the precision (default 1). - Trailing zeroes are removed (unless the '#' flag is given). A decimal - point appears only if followed by a digit. - Infinity or NaN values are represented as for 'f' and 'F' conversions, - respectively. - a,A The argument from the argument stack is assumed to be of type double, - and converted to a floating point hexadecimal notation ([?]0xh.hhhh pd) - with one hexadecimal digit (being nonzero if the value is normalized, - and otherwise unspecified) before the decimal point, and the number of - digits after the decimal point being specified by the precision. If no - precision is given, the default is to print as many digits as nevessary - to give an exact representation of the value (if FLT_RADIX is a power of - 2). If no precision is given and FLT_RADIX is not a power of 2, the - default is to print as many digits to distinguish values of type double - (possibly omitting trailing zeroes). (A precision p is sufficient to - distinguish values of the source type if 16^p-1 > b^n where b is - FLT_RADIX and n is the number of digits in the significand (to base b) - of the source type. A smaller p might suffice depending on the - implementation's scheme for determining the digit to the left of the - decimal point.) The error has the correct sign for the current rounding - direction. - Unless the '#' flag is given, no decimal-point is given for zero - precision. - The 'a' conversion uses lowercase "abcdef", "0x" and 'p', the 'A' - conversion uppercase "ABCDEF", "0X" and 'P'. - The exponent always has at least one digit, and not more than necessary - to represent the decimal exponent of 2. If the value is zero, the - exponent is zero. - Infinity or NaN values are represented as for 'f' and 'F' conversions, - respectively. - Binary implementations are at liberty to chose the hexadecimal digit to - the left of the decimal point so that subsequent digits align to nibble - boundaries. - c The argument from the argument stack is assumed to be of type int, and - converted to a character after the value has been cast to unsigned char. - If the 'l' length modifier is given, the argument is assumed to be of - type wint_t, and converted as by a "%ls" conversion with no precision - and a pointer to a two-element wchar_t array, with the first element - being the wint_t argument and the second a '\0' wide character. - s The argument from the argument stack is assumed to be a char array (i.e. - pointer to char). Characters from that array are printed until a zero - byte is encountered or as many bytes as specified by a given precision - have been written. - If the l length modifier is given, the argument from the argument stack - is assumed to be a wchar_t array (i.e. pointer to wchar_t). Wide - characters from that array are converted to multibyte characters as by - calls to wcrtomb() (using a mbstate_t object initialized to zero prior - to the first conversion), up to and including the terminating null wide - character. The resulting multibyte character sequence is then printed up - to but not including the terminating null character. If a precision is - given, it specifies the maximum number of bytes to be written (including - shift sequences). If the given precision would require access to a wide - character one past the end of the array, the array shall contain a '\0' - wide character. In no case is a partial multibyte character written. - Redundant shift sequences may result if the multibyte characters have a - state-dependent encoding. - TODO: Clarify these statements regarding %ls. - p The argument from the argument stack is assumed to be a void pointer, - and converted to a sequence of printing characters in an implementation- - defined manner. - This implementation casts the pointer to type intptr_t, and prints the - value as if a %#x conversion specifier was given. - n The argument from the argument stack is assumed to be a pointer to a - signed integer, into which the number of characters written so far by - this call to fprintf is stored. The behaviour, should any flags, field - widths, or precisions be given is undefined. - % A verbatim '%' character is written. No argument is taken from the - argument stack. - - Returns the number of characters written if successful, a negative value - otherwise. -*/ -_PDCLIB_PUBLIC int fprintf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, ... ); - -/* TODO: fscanf() documentation */ -/* - Read input from a given stream, as defined by the given format string, and - store converted input in the objects pointed to by 0..n subsequent arguments - (the argument stack). - - The format string contains a sequence of directives that are expected to - match the input. If such a directive fails to match, the function returns - (matching error). It also returns if an input error occurs (input error). - - Directives can be: - - one or more whitespaces, matching any number of whitespaces in the input; - - printing characters, matching the input verbatim; - - conversion specifications, which convert an input sequence into a value as - defined by the individual specifier, and store that value in a memory - location pointed to by the next pointer on the argument stack. Details are - documented below. If there is an insufficient number of pointers on the - argument stack, behaviour is undefined. Additional arguments not required - by any conversion specifications are evaluated, but otherwise ignored. - - (The standard specifies the format string is allowed to contain multibyte - character sequences as long as it starts and ends in initial shift state, - but this is not yet supported by this implementation, which interprets the - format string as sequence of char.) - TODO: Add multibyte support to scanf() functions. - - A conversion specifier consists of: - - Optional assignment-suppressing character ('*') that makes the conversion - read input as usual, but does not assign the conversion result. - - Optional maximum field width as decimal integer. - - Optional length modifier specifying the size of the argument (one of "hh", - "ll", or one of the characters "hljztL"). - - Conversion specifier character specifying the type of conversion to be - applied (and the type of the next argument from the argument stack). One - of the characters "diouxXaAeEfFgGcs[pn%". - - LENGTH MODIFIERS - hh For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of of char width. - h For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of short int width. - l For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of long int width. - For "aAeEfFgG" conversions, it is assumed to point to a variable of type - double. - For "cs[" conversions, it is assumed to point to a variable of type - wchar_t. - ll For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of long long int width. - j For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of intmax_t width. - z For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of size_t width. - t For "diouxXn" conversions, the next pointer from the argument stack is - assumed to point to a variable of ptrdiff_t width. - L For "aAeEfFgG" conversions, the next pointer from the argument stack is - assumed to point to a variable of type long double. - Length modifiers appearing for any conversions not mentioned above will have - undefined behaviour. - If a length modifier appears with any conversion specifier other than as - specified above, the behavior is undefined. - - CONVERSION SPECIFIERS - d Matches an (optionally signed) decimal integer of the format expected - by strtol() with base 10. The next pointer from the argument stack is - assumed to point to a signed integer. - i Matches an (optionally signed) integer of the format expected by - strtol() with base 0. The next pointer from the argument stack is - assumed to point to a signed integer. - o Matches an (optionally signed) octal integer of the format expected by - strtoul() with base 8. The next pointer from the argument stack is - assumed to point to an unsigned integer. - u Matches an (optionally signed) decimal integer of the format expected - by strtoul() with base 10. The next pointer from the argument stack is - assumed to point to an unsigned integer. - x Matches an (optionally signed) hexadecimal integer of the format - expected by strtoul() with base 16. The next pointer from the argument - stack is assumed to point to an unsigned integer. - aefg Matches an (optionally signed) floating point number, infinity, or not- - a-number-value of the format expected by strtod(). The next pointer - from the argument stack is assumed to point to a float. - c Matches a number of characters as specified by the field width (default - 1). The next pointer from the argument stack is assumed to point to a - character array large enough to hold that many characters. - If the 'l' length modifier is given, the input is assumed to match a - sequence of multibyte characters (starting in the initial shift state), - which will be converted to a wide character sequence as by successive - calls to mbrtowc() with a mbstate_t object initialized to zero prior to - the first conversion. The next pointer from the argument stack is - assumed to point to a wchar_t array large enough to hold that many - characters. - In either case, note that no '\0' character is added to terminate the - sequence. - s Matches a sequence of non-white-space characters. The next pointer from - the argument stack is assumed to point to a character array large - enough to hold the sequence including terminating '\0' character. - If the 'l' length modifier is given, the input is assumed to match a - sequence of multibyte characters (starting in the initial shift state), - which will be converted to a wide character sequence as by a call to - mbrtowc() with a mbstate_t object initialized to zero prior to the - first conversion. The next pointer from the argument stack is assumed - to point to a wchar_t array large enough to hold the sequence including - terminating '\0' character. - [ Matches a nonempty sequence consisting of any of those characters - specified between itself and a corresponding closing bracket (']'). - If the first character in the list is a circumflex ('^'), this matches - a nonempty sequence consisting of any characters NOT specified. If the - closing bracket appears as the first character in the scanset ("[]" or - "[^]", it is assumed to belong to the scanset, which then ends with the - NEXT closing bracket. - If there is a '-' character in the scanset which is not the first after - the opening bracket (or the circumflex, see above) or the last in the - scanset, behaviour is implementation-defined. This implementation - handles this character like any other. - - The extend of the input field is determined byte-by-byte for the above - conversions ('c', 's', '['), with no special provisions being made for - multibyte characters. The resulting field is nevertheless a multibyte - sequence begining in intial shift state. - - p Matches a sequence of characters as produced by the printf() "%p" - conversion. The next pointer from the argument stack is assumed to - point to a void pointer, which will be filled with the same location - as the pointer used in the printf() statement. Note that behaviour is - undefined if the input value is not the result of an earlier printf() - call. - n Does not read input. The next pointer from the argument stack is - assumed to point to a signed integer, into which the number of - characters read from input so far by this call to fscanf() is stored. - This does not affect the return value of fscanf(). The behaviour, - should an assignment-supressing character of field width be given, - is undefined. - This can be used to test the success of literal matches and suppressed - assignments. - % Matches a single, verbatim '%' character. - - A, E, F, G and X are valid, and equivalent to their lowercase counterparts. - - All conversions except [, c, or n imply that whitespace characters from the - input stream are consumed until a non-whitespace character is encountered. - Such whitespaces do not count against a maximum field width. - - Conversions push at most one character back into the input stream. That - implies that some character sequences converted by the strtol() and strtod() - function families are not converted identically by the scnaf() function - family. - - Returns the number of input items successfully assigned. This can be zero if - an early mismatch occurs. Returns EOF if an input failure occurs before the - first conversion. -*/ -_PDCLIB_PUBLIC int fscanf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, ... ); - -/* Equivalent to fprintf( stdout, format, ... ). */ -_PDCLIB_PUBLIC int printf( const char * _PDCLIB_restrict format, ... ); - -/* Equivalent to fscanf( stdin, format, ... ). */ -_PDCLIB_PUBLIC int scanf( const char * _PDCLIB_restrict format, ... ); - -/* Equivalent to fprintf( stdout, format, ... ), except that the result is - written into the buffer pointed to by s, instead of stdout, and that any - characters beyond the (n-1)th are discarded. The (n)th character is - replaced by a '\0' character in this case. - Returns the number of characters that would have been written (not counting - the terminating '\0' character) if n had been sufficiently large, if - successful, and a negative number if an encoding error ocurred. -*/ -_PDCLIB_PUBLIC int snprintf( char * _PDCLIB_restrict s, size_t n, const char * _PDCLIB_restrict format, ... ); - -/* Equivalent to fprintf( stdout, format, ... ), except that the result is - written into the buffer pointed to by s, instead of stdout. -*/ -_PDCLIB_PUBLIC int sprintf( char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, ... ); - -/* Equivalent to fscanf( stdin, format, ... ), except that the input is read - from the buffer pointed to by s, instead of stdin. -*/ -_PDCLIB_PUBLIC int sscanf( const char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, ... ); - -/* Equivalent to fprintf( stream, format, ... ), except that the argument stack - is passed as va_list parameter. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vfprintf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Equivalent to fscanf( stream, format, ... ), except that the argument stack - is passed as va_list parameter. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vfscanf( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Equivalent to fprintf( stdout, format, ... ), except that the argument stack - is passed as va_list parameter. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vprintf( const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Equivalent to fscanf( stdin, format, ... ), except that the argument stack - is passed as va_list parameter. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vscanf( const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Equivalent to snprintf( s, n, format, ... ), except that the argument stack - is passed as va_list parameter. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vsnprintf( char * _PDCLIB_restrict s, size_t n, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Equivalent to fprintf( stdout, format, ... ), except that the argument stack - is passed as va_list parameter, and the result is written to the buffer - pointed to by s, instead of stdout. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vsprintf( char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Equivalent to fscanf( stdin, format, ... ), except that the argument stack - is passed as va_list parameter, and the input is read from the buffer - pointed to by s, instead of stdin. Note that va_list is not declared by - . -*/ -_PDCLIB_PUBLIC int vsscanf( const char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); - -/* Character input/output functions */ - -/* Retrieve the next character from given stream. - Returns the character, EOF otherwise. - If end-of-file is reached, the EOF indicator of the stream is set. - If a read error occurs, the error indicator of the stream is set. -*/ -_PDCLIB_PUBLIC int fgetc( FILE * stream ); - -/* Read at most n-1 characters from given stream into the array s, stopping at - \n or EOF. Terminate the read string with \n. If EOF is encountered before - any characters are read, leave the contents of s unchanged. - Returns s if successful, NULL otherwise. - If a read error occurs, the error indicator of the stream is set. In this - case, the contents of s are indeterminate. -*/ -_PDCLIB_PUBLIC char * fgets( char * _PDCLIB_restrict s, int n, FILE * _PDCLIB_restrict stream ); - -/* Write the value c (cast to unsigned char) to the given stream. - Returns c if successful, EOF otherwise. - If a write error occurs, sets the error indicator of the stream is set. -*/ -_PDCLIB_PUBLIC int fputc( int c, FILE * stream ); - -/* Write the string s (not including the terminating \0) to the given stream. - Returns a value >=0 if successful, EOF otherwise. - This implementation does set the error indicator of the stream if a write - error occurs. -*/ -_PDCLIB_PUBLIC int fputs( const char * _PDCLIB_restrict s, FILE * _PDCLIB_restrict stream ); - -/* Equivalent to fgetc( stream ), but may be overloaded by a macro that - evaluates its parameter more than once. -*/ -_PDCLIB_PUBLIC int getc( FILE * stream ); - -/* Equivalent to fgetc( stdin ). */ -_PDCLIB_PUBLIC int getchar( void ); - -/* Equivalent to fputc( c, stream ), but may be overloaded by a macro that - evaluates its parameter more than once. -*/ -_PDCLIB_PUBLIC int putc( int c, FILE * stream ); - -/* Equivalent to fputc( c, stdout ), but may be overloaded by a macro that - evaluates its parameter more than once. -*/ -_PDCLIB_PUBLIC int putchar( int c ); - -/* Write the string s (not including the terminating \0) to stdout, and append - a newline to the output. Returns a value >= 0 when successful, EOF if a - write error occurred. -*/ -_PDCLIB_PUBLIC int puts( const char * s ); - -/* Push the value c (cast to unsigned char) back onto the given (input) stream. - A character pushed back in this way will be delivered by subsequent read - operations (and skipped by subsequent file positioning operations) as if it - has not been read. The external representation of the stream is unaffected - by this pushback (it is a buffer operation). One character of pushback is - guaranteed, further pushbacks may fail. EOF as value for c does not change - the input stream and results in failure of the function. - For text files, the file position indicator is indeterminate until all - pushed-back characters are read. For binary files, the file position - indicator is decremented by each successful call of ungetc(). If the file - position indicator for a binary file was zero before the call of ungetc(), - behaviour is undefined. (Older versions of the library allowed such a call.) - Returns the pushed-back character if successful, EOF if it fails. -*/ -_PDCLIB_PUBLIC int ungetc( int c, FILE * stream ); - -/* Direct input/output functions */ - -/* Read up to nmemb elements of given size from given stream into the buffer - pointed to by ptr. Returns the number of elements successfully read, which - may be less than nmemb if a read error or EOF is encountered. If a read - error is encountered, the value of the file position indicator is - indeterminate. If a partial element is read, its value is indeterminate. - If size or nmemb are zero, the function does nothing and returns zero. -*/ -_PDCLIB_PUBLIC size_t fread( void * _PDCLIB_restrict ptr, size_t size, size_t nmemb, FILE * _PDCLIB_restrict stream ); - -/* Write up to nmemb elements of given size from buffer pointed to by ptr to - the given stream. Returns the number of elements successfully written, which - will be less than nmemb only if a write error is encountered. If a write - error is encountered, the value of the file position indicator is - indeterminate. If size or nmemb are zero, the function does nothing and - returns zero. -*/ -_PDCLIB_PUBLIC size_t fwrite( const void * _PDCLIB_restrict ptr, size_t size, size_t nmemb, FILE * _PDCLIB_restrict stream ); - -/* File positioning functions */ - -/* Store the current position indicator (and, where appropriate, the current - mbstate_t status object) for the given stream into the given pos object. The - actual contents of the object are unspecified, but it can be used as second - parameter to fsetpos() to reposition the stream to the exact position and - parse state at the time fgetpos() was called. - Returns zero if successful, nonzero otherwise. - TODO: Implementation-defined errno setting for fgetpos(). -*/ -_PDCLIB_PUBLIC int fgetpos( FILE * _PDCLIB_restrict stream, fpos_t * _PDCLIB_restrict pos ); - -/* Set the position indicator for the given stream to the given offset from: - - the beginning of the file if whence is SEEK_SET, - - the current value of the position indicator if whence is SEEK_CUR, - - end-of-file if whence is SEEK_END. - On text streams, non-zero offsets are only allowed with SEEK_SET, and must - have been returned by ftell() for the same file. - Any characters buffered by ungetc() are dropped, the end-of-file indicator - for the stream is cleared. If the given stream is an update stream, the next - operation after a successful fseek() may be either input or output. - Returns zero if successful, nonzero otherwise. If a read/write error occurs, - the error indicator for the given stream is set. -*/ -_PDCLIB_PUBLIC int fseek( FILE * stream, long int offset, int whence ); - -/* Set the position indicator (and, where appropriate the mbstate_t status - object) for the given stream to the given pos object (created by an earlier - call to fgetpos() on the same file). - Any characters buffered by ungetc() are dropped, the end-of-file indicator - for the stream is cleared. If the given stream is an update stream, the next - operation after a successful fsetpos() may be either input or output. - Returns zero if successful, nonzero otherwise. If a read/write error occurs, - the error indicator for the given stream is set. - TODO: Implementation-defined errno setting for fsetpos(). -*/ -_PDCLIB_PUBLIC int fsetpos( FILE * stream, const fpos_t * pos ); - -/* Return the current offset of the given stream from the beginning of the - associated file. For text streams, the exact value returned is unspecified - (and may not be equal to the number of characters), but may be used in - subsequent calls to fseek(). - Returns -1L if unsuccessful. - TODO: Implementation-defined errno setting for ftell(). -*/ -_PDCLIB_PUBLIC long int ftell( FILE * stream ); - -/* Equivalent to (void)fseek( stream, 0L, SEEK_SET ), except that the error - indicator for the stream is also cleared. -*/ -_PDCLIB_PUBLIC void rewind( FILE * stream ); - -/* Error-handling functions */ - -/* Clear the end-of-file and error indicators for the given stream. */ -_PDCLIB_PUBLIC void clearerr( FILE * stream ); - -/* Return zero if the end-of-file indicator for the given stream is not set, - nonzero otherwise. -*/ -_PDCLIB_PUBLIC int feof( FILE * stream ); - -/* Return zero if the error indicator for the given stream is not set, nonzero - otherwise. -*/ -_PDCLIB_PUBLIC int ferror( FILE * stream ); - -/* If s is neither a NULL pointer nor an empty string, print the string to - stderr (with appended colon (':') and a space) first. In any case, print an - error message depending on the current value of errno (being the same as if - strerror( errno ) had been called). -*/ -_PDCLIB_PUBLIC void perror( const char * s ); - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 - -#define L_tmpnam_s _PDCLIB_L_tmpnam -#define TMP_MAX_S _PDCLIB_TMP_MAX - -#ifndef _PDCLIB_ERRNO_T_DEFINED -#define _PDCLIB_ERRNO_T_DEFINED _PDCLIB_ERRNO_T_DEFINED -typedef int errno_t; -#endif - -#ifndef _PDCLIB_RSIZE_T_DEFINED -#define _PDCLIB_RSIZE_T_DEFINED _PDCLIB_RSIZE_T_DEFINED -typedef _PDCLIB_size_t rsize_t; -#endif - -/* Open a temporary file with mode "wb+", i.e. binary-update. Remove the file - automatically if it is closed or the program exits normally (by returning - from main() or calling exit()). - If successful, the FILE * pointed to by streamptr will be set to point at - the opened file handle, and the function returns zero. If unsuccessful, - the FILE * pointed to by streamptr will be set to NULL and a non-zero - value is returned. - The following conditions will be considered runtime constraint violations: - - streamptr being NULL. - In case of a constraint violation, no file is being created. - This implementation does not remove temporary files if the process aborts - abnormally (e.g. abort()). -*/ -_PDCLIB_PUBLIC errno_t tmpfile_s( FILE * _PDCLIB_restrict * _PDCLIB_restrict streamptr ); - -/* Open the file with the given filename in the given mode, and sets the given - streamptr to point at the file handle for that file, in which error and - end-of-file indicator are cleared. Defined values for mode are: - - READ MODES - text files binary files - without update "r" "rb" - with update "r+" "rb+" or "r+b" - - Opening in read mode fails if no file with the given filename exists, or if - cannot be read. - - WRITE MODES - text files binary files - without update "w" "wb" - with update "w+" "wb+" or "w+b" - - With write modes, if a file with the given filename already exists, it is - truncated to zero length. - - APPEND MODES - text files binary files - without update "a" "ab" - with update "a+" "ab+" or "a+b" - - With update modes, if a file with the given filename already exists, it is - not truncated to zero length, but all writes are forced to end-of-file (this - regardless to fseek() calls). Note that binary files opened in append mode - might have their end-of-file padded with '\0' characters. - - Update modes mean that both input and output functions can be performed on - the stream, but output must be terminated with a call to either fflush(), - fseek(), fsetpos(), or rewind() before input is performed, and input must - be terminated with a call to either fseek(), fsetpos(), or rewind() before - output is performed, unless input encountered end-of-file. - - If a text file is opened with update mode, the implementation is at liberty - to open a binary stream instead. This implementation honors the exact mode - given. - - The stream is fully buffered if and only if it can be determined not to - refer to an interactive device. - - If the mode string begins with but is longer than one of the above sequences - the implementation is at liberty to ignore the additional characters, or do - implementation-defined things. This implementation only accepts the exact - modes above. - - The following conditions will be considered runtime constraint violations: - - streamptr being NULL. - - filename being NULL. - - mode being NULL. - In case of a constraint violation, no file is opened. If streamptr is not - NULL, *streamptr is set to NULL. - - Returns zero if successful, non-zero otherwise. -*/ -_PDCLIB_PUBLIC errno_t fopen_s( FILE * _PDCLIB_restrict * _PDCLIB_restrict streamptr, const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode ); - -/* Close any file currently associated with the given stream. Open the file - identified by the given filename with the given mode (equivalent to fopen()), - and associate it with the given stream. If filename is a NULL pointer, - attempt to change the mode of the given stream. - This implementation allows any mode changes on "real" files, and associating - of the standard streams with files. It does *not* support mode changes on - standard streams. - (Primary use of this function is to redirect stdin, stdout, and stderr.) - - The following conditions will be considered runtime constraint violations: - - newstreamptr being NULL. - - mode being NULL. - - stream being NULL. - In case of a constraint violation, no attempt is made to close or open any - file. If newstreamptr is not NULL, *newstreamptr is set to NULL. - - Returns zero if successfull, non-zero otherwise. -*/ -_PDCLIB_PUBLIC errno_t freopen_s( FILE * _PDCLIB_restrict * _PDCLIB_restrict newstreamptr, const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode, FILE * _PDCLIB_restrict stream ); - -/* None of these are implemented yet. Placeholder declarations. */ -_PDCLIB_PUBLIC errno_t tmpnam_s( char * s, rsize_t maxsize ); -_PDCLIB_PUBLIC int fprintf_s( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int fscanf_s( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int printf_s( const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int scanf_s( const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int snprintf_s( char * _PDCLIB_restrict s, rsize_t n, const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int sprintf_s( char * _PDCLIB_restrict s, rsize_t n, const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int sscanf_s( const char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, ... ); -_PDCLIB_PUBLIC int vfprintf_s( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC int vfscanf_s( FILE * _PDCLIB_restrict stream, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC int vprintf_s( const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC int vscanf_s( const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC int vsnprintf_s( char * _PDCLIB_restrict s, rsize_t n, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC int vsprintf_s( char * _PDCLIB_restrict s, rsize_t n, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC int vsscanf_s( const char * _PDCLIB_restrict s, const char * _PDCLIB_restrict format, _PDCLIB_va_list arg ); -_PDCLIB_PUBLIC char * gets_s( char * s, rsize_t n ); - -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDIO_H -#include _PDCLIB_EXTEND_STDIO_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stdlib.h b/RockOS/sysroot/usr/include/stdlib.h deleted file mode 100644 index 9dc8b33..0000000 --- a/RockOS/sysroot/usr/include/stdlib.h +++ /dev/null @@ -1,379 +0,0 @@ -/* General utilities - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDLIB_H -#define _PDCLIB_STDLIB_H _PDCLIB_STDLIB_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -#ifndef _PDCLIB_SIZE_T_DEFINED -#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED -typedef _PDCLIB_size_t size_t; -#endif - -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -/* Numeric conversion functions */ - -/* TODO: atof(), strtof(), strtod(), strtold() */ - -_PDCLIB_PUBLIC double atof( const char * nptr ); -_PDCLIB_PUBLIC double strtod( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr ); -_PDCLIB_PUBLIC float strtof( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr ); -_PDCLIB_PUBLIC long double strtold( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr ); - -/* Separate the character array nptr into three parts: A (possibly empty) - sequence of whitespace characters, a character representation of an integer - to the given base, and trailing invalid characters (including the terminating - null character). If base is 0, assume it to be 10, unless the integer - representation starts with 0x / 0X (setting base to 16) or 0 (setting base to - 8). If given, base can be anything from 0 to 36, using the 26 letters of the - base alphabet (both lowercase and uppercase) as digits 10 through 35. - The integer representation is then converted into the return type of the - function. It can start with a '+' or '-' sign. If the sign is '-', the result - of the conversion is negated. - If the conversion is successful, the converted value is returned. If endptr - is not a NULL pointer, a pointer to the first trailing invalid character is - returned in *endptr. - If no conversion could be performed, zero is returned (and nptr in *endptr, - if endptr is not a NULL pointer). If the converted value does not fit into - the return type, the functions return LONG_MIN, LONG_MAX, ULONG_MAX, - LLONG_MIN, LLONG_MAX, or ULLONG_MAX respectively, depending on the sign of - the integer representation and the return type, and errno is set to ERANGE. -*/ -/* There is strtoimax() and strtoumax() in operating on intmax_t / - uintmax_t, if the long long versions do not suit your needs. -*/ -_PDCLIB_PUBLIC long int strtol( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr, int base ); -_PDCLIB_PUBLIC long long int strtoll( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr, int base ); -_PDCLIB_PUBLIC unsigned long int strtoul( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr, int base ); -_PDCLIB_PUBLIC unsigned long long int strtoull( const char * _PDCLIB_restrict nptr, char ** _PDCLIB_restrict endptr, int base ); - -/* These functions are the equivalent of (int)strtol( nptr, NULL, 10 ), - strtol( nptr, NULL, 10 ) and strtoll(nptr, NULL, 10 ) respectively, with the - exception that they do not have to handle overflow situations in any defined - way. - (PDCLib does not simply forward these to their strtox() equivalents, but - provides a simpler atox() function that saves a couple of tests and simply - continues with the conversion in case of overflow.) -*/ -_PDCLIB_PUBLIC int atoi( const char * nptr ); -_PDCLIB_PUBLIC long int atol( const char * nptr ); -_PDCLIB_PUBLIC long long int atoll( const char * nptr ); - -/* Pseudo-random sequence generation functions */ - -extern unsigned long int _PDCLIB_seed; - -#define RAND_MAX 32767 - -/* Returns the next number in a pseudo-random sequence, which is between 0 and - RAND_MAX. - (PDCLib uses the implementation suggested by the standard document, which is - next = next * 1103515245 + 12345; return (unsigned int)(next/65536) % 32768;) -*/ -_PDCLIB_PUBLIC int rand( void ); - -/* Initialize a new pseudo-random sequence with the starting seed. Same seeds - result in the same pseudo-random sequence. The default seed is 1. -*/ -_PDCLIB_PUBLIC void srand( unsigned int seed ); - -/* Memory management functions */ - -/* Allocate a chunk of heap memory of given size. If request could not be - satisfied, return NULL. Otherwise, return a pointer to the allocated - memory. Memory contents are undefined. -*/ -_PDCLIB_PUBLIC void * malloc( size_t size ); - -/* Allocate a chunk of heap memory that is large enough to hold nmemb elements - of the given size, and zero-initialize that memory. If request could not be - satisfied, return NULL. Otherwise, return a pointer to the allocated - memory. -*/ -_PDCLIB_PUBLIC void * calloc( size_t nmemb, size_t size ); - -/* De-allocate a chunk of heap memory previously allocated using malloc(), - calloc(), or realloc(), and pointed to by ptr. If ptr does not match a - pointer previously returned by the mentioned allocation functions, or - free() has already been called for this ptr, behaviour is undefined. -*/ -_PDCLIB_PUBLIC void free( void * ptr ); - -/* Resize a chunk of memory previously allocated with malloc() and pointed to - by ptr to the given size (which might be larger or smaller than the original - size). Returns a pointer to the reallocated memory, or NULL if the request - could not be satisfied. Note that the resizing might include a memcpy() - from the original location to a different one, so the return value might or - might not equal ptr. If size is larger than the original size, the value of - memory beyond the original size is undefined. If ptr is NULL, realloc() - behaves like malloc(). -*/ -_PDCLIB_PUBLIC void * realloc( void * ptr, size_t size ); - -/* Communication with the environment */ - -/* These two can be passed to exit() or _Exit() as status values, to signal - successful and unsuccessful program termination, respectively. EXIT_SUCCESS - can be replaced by 0. How successful or unsuccessful program termination are - signaled to the environment, and what happens if exit() or _Exit() are being - called with a value that is neither of the three, is defined by the hosting - OS and its glue function. -*/ -#define EXIT_SUCCESS _PDCLIB_SUCCESS -#define EXIT_FAILURE _PDCLIB_FAILURE - -/* Initiate abnormal process termination, unless programm catches SIGABRT and - does not return from the signal handler. - This implementantion flushes all streams, closes all files, and removes any - temporary files before exiting with EXIT_FAILURE. - abort() does not return. -*/ -_PDCLIB_PUBLIC _PDCLIB_Noreturn void abort( void ) _PDCLIB_NORETURN; - -/* Register a function that will be called on quick_exit(). - At least 32 functions can be registered this way, and will be called in - reverse order of registration (last-in, first-out). - Returns zero if registration is successfull, nonzero if it failed. -*/ -_PDCLIB_PUBLIC int at_quick_exit( void ( *func )( void ) ); - -/* Register a function that will be called on exit(), or when main() returns. - At least 32 functions can be registered this way, and will be called in - reverse order of registration (last-in, first-out). - Returns zero if registration is successfull, nonzero if it failed. -*/ -_PDCLIB_PUBLIC int atexit( void ( *func )( void ) ); - -/* Normal process termination. Functions registered by atexit() (see above) are - called, streams flushed, files closed and temporary files removed before the - program is terminated with the given status. (See comment for EXIT_SUCCESS - and EXIT_FAILURE above.) - exit() does not return. -*/ -_PDCLIB_PUBLIC _PDCLIB_Noreturn void exit( int status ) _PDCLIB_NORETURN; - -/* Normal process termination. Functions registered by at_quick_exit() (see - above) are called, streams flushed, files closed and temporary files removed - before the program is terminated with the given status. (See comment for - EXIT_SUCCESS and EXIT_FAILURE above.) - quick_exit() does not return. -*/ -_PDCLIB_PUBLIC _PDCLIB_Noreturn void quick_exit( int status ) _PDCLIB_NORETURN; - -/* Normal process termination. Functions registered by atexit()/at_quick_exit() - (see above) are NOT CALLED. This implementation DOES flush streams, close - files and removes temporary files before the program is teminated with the - given status. (See comment for EXIT_SUCCESS and EXIT_FAILURE above.) - _Exit() does not return. -*/ -_PDCLIB_PUBLIC _PDCLIB_Noreturn void _Exit( int status ) _PDCLIB_NORETURN; - -/* Search an environment-provided key-value map for the given key name, and - return a pointer to the associated value string (or NULL if key name cannot - be found). The value string pointed to might be overwritten by a subsequent - call to getenv(). The library never calls getenv() itself. - Details on the provided keys and how to set / change them are determined by - the hosting OS and its glue function. -*/ -_PDCLIB_PUBLIC char * getenv( const char * name ); - -/* If string is a NULL pointer, system() returns nonzero if a command processor - is available, and zero otherwise. If string is not a NULL pointer, it is - passed to the command processor. If system() returns, it does so with a - value that is determined by the hosting OS and its glue function. -*/ -_PDCLIB_PUBLIC int system( const char * string ); - -/* Searching and sorting */ - -/* Do a binary search for a given key in the array with a given base pointer, - which consists of nmemb elements that are of the given size each. To compare - the given key with an element from the array, the given function compar is - called (with key as first parameter and a pointer to the array member as - second parameter); the function should return a value less than, equal to, - or greater than 0 if the key is considered to be less than, equal to, or - greater than the array element, respectively. - The function returns a pointer to a matching element found, or NULL if no - match is found. -*/ -_PDCLIB_PUBLIC void * bsearch( const void * key, const void * base, size_t nmemb, size_t size, int ( *compar )( const void *, const void * ) ); - -/* Do a quicksort on an array with a given base pointer, which consists of - nmemb elements that are of the given size each. To compare two elements from - the array, the given function compar is called, which should return a value - less than, equal to, or greater than 0 if the first argument is considered - to be less than, equal to, or greater than the second argument, respectively. - If two elements are compared equal, their order in the sorted array is not - specified. -*/ -_PDCLIB_PUBLIC void qsort( void * base, size_t nmemb, size_t size, int ( *compar )( const void *, const void * ) ); - -/* Integer arithmetic functions */ - -/* Return the absolute value of the argument. Note that on machines using two- - complement's notation (most modern CPUs), the largest negative value cannot - be represented as positive value. In this case, behaviour is unspecified. -*/ -_PDCLIB_PUBLIC int abs( int j ); -_PDCLIB_PUBLIC long int labs( long int j ); -_PDCLIB_PUBLIC long long int llabs( long long int j ); - -/* These structures each have a member quot and a member rem, of type int (for - div_t), long int (for ldiv_t) and long long it (for lldiv_t) respectively. - The order of the members is platform-defined to allow the div() functions - below to be implemented efficiently. -*/ -typedef struct _PDCLIB_div_t div_t; -typedef struct _PDCLIB_ldiv_t ldiv_t; -typedef struct _PDCLIB_lldiv_t lldiv_t; - -/* Return quotient (quot) and remainder (rem) of an integer division in one of - the structs above. -*/ -_PDCLIB_PUBLIC div_t div( int numer, int denom ); -_PDCLIB_PUBLIC ldiv_t ldiv( long int numer, long int denom ); -_PDCLIB_PUBLIC lldiv_t lldiv( long long int numer, long long int denom ); - -/* TODO: Multibyte / wide character conversion functions */ - -/* TODO: Macro MB_CUR_MAX */ - -/* -_PDCLIB_PUBLIC int mblen( const char * s, size_t n ); -_PDCLIB_PUBLIC int mbtowc( wchar_t * _PDCLIB_restrict pwc, const char * _PDCLIB_restrict s, size_t n ); -_PDCLIB_PUBLIC int wctomb( char * s, wchar_t wc ); -_PDCLIB_PUBLIC size_t mbstowcs( wchar_t * _PDCLIB_restrict pwcs, const char * _PDCLIB_restrict s, size_t n ); -_PDCLIB_PUBLIC size_t wcstombs( char * _PDCLIB_restrict s, const wchar_t * _PDCLIB_restrict pwcs, size_t n ); -*/ - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 - -#ifndef _PDCLIB_ERRNO_T_DEFINED -#define _PDCLIB_ERRNO_T_DEFINED _PDCLIB_ERRNO_T_DEFINED -typedef int errno_t; -#endif - -#ifndef _PDCLIB_RSIZE_T_DEFINED -#define _PDCLIB_RSIZE_T_DEFINED _PDCLIB_RSIZE_T_DEFINED -typedef size_t rsize_t; -#endif - -/* A function type that can serve as a constraint handler (see below). The - first parameter is an error message on the constraint violation, the - second parameter a pointer to an implementation-defined object, the - third an error code related to the constraint violation. - If the function calling the constraint handler is defined to return - errno_t, the third parameter will be identical to the return value of - that function. - This implementation sets the second parameter of the constraint handler - call to NULL. -*/ -typedef void ( *constraint_handler_t )( const char * _PDCLIB_restrict msg, void * _PDCLIB_restrict ptr, errno_t error ); - -/* The currently active constraint violation handler. This implementation - sets abort_handler_s as the default constraint violation handler. -*/ -extern constraint_handler_t _PDCLIB_constraint_handler; - -/* Set the given function as the new constraint violation handler. */ -_PDCLIB_PUBLIC constraint_handler_t set_constraint_handler_s( constraint_handler_t handler ); - -/* One of two predefined constraint violation handlers. When called, it will - print an error message (including the message passed as the first - parameter to the handler function) and call abort(). -*/ -_PDCLIB_PUBLIC void abort_handler_s( const char * _PDCLIB_restrict msg, void * _PDCLIB_restrict ptr, errno_t error ); - -/* One of two predefined constraint violation handlers. Simply returns, - ignoring the constraint violation. -*/ -_PDCLIB_PUBLIC void ignore_handler_s( const char * _PDCLIB_restrict msg, void * _PDCLIB_restrict ptr, errno_t error ); - -/* Search an environment-provided key-value map for the given key name. - If the name is found, - - if len is not NULL, the length of the associated value string is stored - in that location. - - if len < maxsize, the value string is copied to the indicated location. - If the name is not found, - - if len is not NULL, a zero is stored in that location. - - if maxsize > 0, value[0] is set to the null character. - Details on the provided keys and how to set / change them are determined by - the hosting OS and its glue function. - The following conditions will be considered runtime constraint violations: - - value being a NULL pointer. - - maxsize == 0 or maxsize > RSIZE_MAX. - In case of a constraint violation, if len is not NULL a zero will be - stored at that location, and the environment key-value map not searched. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t getenv_s( size_t * _PDCLIB_restrict len, char * _PDCLIB_restrict value, rsize_t maxsize, const char * _PDCLIB_restrict name ); - -/* Do a binary search for a given key in the array with a given base pointer, - which consists of nmemb elements that are of the given size each. To compare - the given key with an element from the array, the given function compar is - called (with key as first parameter, a pointer to the array member as - second parameter, and the context parameter passed to bsearch_s() as third - parameter); the function should return a value less than, equal to, - or greater than 0 if the key is considered to be less than, equal to, or - greater than the array element, respectively. - The function returns a pointer to a matching element found, or NULL if no - match is found. - The following conditions will be considered runtime constraint violations: - - nmemb or size > RSIZE_MAX. - - nmemb > 0 and either of key, base, or compar being a null pointer. - In case of a constraint violation, the array will not be searched. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC void * bsearch_s( const void * key, const void * base, rsize_t nmemb, rsize_t size, int ( *compar )( const void * k, const void * y, void * context ), void * context ); - -/* Do a quicksort on an array with a given base pointer, which consists of - nmemb elements that are of the given size each. To compare two elements from - the array, the given function compar is called, with the first two arguments - being pointers to the two objects to be compared, and the third argument - being the context parameter passed to qsort_s. The compar function should - return a value less than, equal to, or greater than 0 if the first argument - is considered to be less than, equal to, or greater than the second argument, - respectively. If two elements are compared equal, their order in the sorted - array is not specified. - The following conditions will be considered runtime constraint violations: - - nmemb or size > RSIZE_MAX. - - nmemb > 0 and either of base or compar being a null pointer. - In case of a constraint violation, the array will not be sorted. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t qsort_s( void * base, rsize_t nmemb, rsize_t size, int ( *compar )( const void * x, const void * y, void * context ), void * context ); - -/* TODO: Multibyte / wide character functions */ - -#endif - -#ifdef __cplusplus -} -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDLIB_H -#include _PDCLIB_EXTEND_STDLIB_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/stdnoreturn.h b/RockOS/sysroot/usr/include/stdnoreturn.h deleted file mode 100644 index ab4ddb4..0000000 --- a/RockOS/sysroot/usr/include/stdnoreturn.h +++ /dev/null @@ -1,26 +0,0 @@ -/* _Noreturn - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STDNORETURN_H -#define _PDCLIB_STDNORETURN_H _PDCLIB_STDNORETURN_H - -#include "pdclib/_PDCLIB_internal.h" - -/* This basically breaks the letter of the standard (which states that - noreturn be defined to _Noreturn). This defines noreturn -> _Noreturn - on C11 compliant compilers only (as older compilers do not know about - _Noreturn). -*/ -#define noreturn _PDCLIB_Noreturn - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STDNORETURN_H -#include _PDCLIB_EXTEND_STDNORETURN_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/string.h b/RockOS/sysroot/usr/include/string.h deleted file mode 100644 index 05062fd..0000000 --- a/RockOS/sysroot/usr/include/string.h +++ /dev/null @@ -1,394 +0,0 @@ -/* String handling - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_STRING_H -#define _PDCLIB_STRING_H _PDCLIB_STRING_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -#ifndef _PDCLIB_SIZE_T_DEFINED -#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED -typedef _PDCLIB_size_t size_t; -#endif - -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -/* String function conventions */ - -/* - In any of the following functions taking a size_t n to specify the length of - an array or size of a memory region, n may be 0, but the pointer arguments to - the call shall still be valid unless otherwise stated. -*/ - -/* Copying functions */ - -/* Copy a number of n characters from the memory area pointed to by s2 to the - area pointed to by s1. If the two areas overlap, behaviour is undefined. - Returns the value of s1. -*/ -_PDCLIB_PUBLIC void * memcpy( void * _PDCLIB_restrict s1, const void * _PDCLIB_restrict s2, size_t n ); - -/* Copy a number of n characters from the memory area pointed to by s2 to the - area pointed to by s1. The two areas may overlap. - Returns the value of s1. -*/ -_PDCLIB_PUBLIC void * memmove( void * _PDCLIB_restrict s1, const void * _PDCLIB_restrict s2, size_t n ); - -/* Copy the character array s2 (including terminating '\0' byte) into the - character array s1. - Returns the value of s1. -*/ -_PDCLIB_PUBLIC char * strcpy( char * _PDCLIB_restrict s1, const char * _PDCLIB_restrict s2 ); - -/* Copy a maximum of n characters from the character array s2 into the character - array s1. If s2 is shorter than n characters, '\0' bytes will be appended to - the copy in s1 until n characters have been written. If s2 is longer than n - characters, NO terminating '\0' will be written to s1. If the arrays overlap, - behaviour is undefined. - Returns the value of s1. -*/ -_PDCLIB_PUBLIC char * strncpy( char * _PDCLIB_restrict s1, const char * _PDCLIB_restrict s2, size_t n ); - -/* Concatenation functions */ - -/* Append the contents of the character array s2 (including terminating '\0') to - the character array s1 (first character of s2 overwriting the '\0' of s1). If - the arrays overlap, behaviour is undefined. - Returns the value of s1. -*/ -_PDCLIB_PUBLIC char * strcat( char * _PDCLIB_restrict s1, const char * _PDCLIB_restrict s2 ); - -/* Append a maximum of n characters from the character array s2 to the character - array s1 (first character of s2 overwriting the '\0' of s1). A terminating - '\0' is ALWAYS appended, even if the full n characters have already been - written. If the arrays overlap, behaviour is undefined. - Returns the value of s1. -*/ -_PDCLIB_PUBLIC char * strncat( char * _PDCLIB_restrict s1, const char * _PDCLIB_restrict s2, size_t n ); - -/* Comparison functions */ - -/* Compare the first n characters of the memory areas pointed to by s1 and s2. - Returns 0 if s1 == s2, a negative number if s1 < s2, and a positive number if - s1 > s2. -*/ -_PDCLIB_PUBLIC int memcmp( const void * s1, const void * s2, size_t n ); - -/* Compare the character arrays s1 and s2. - Returns 0 if s1 == s2, a negative number if s1 < s2, and a positive number if - s1 > s2. -*/ -_PDCLIB_PUBLIC int strcmp( const char * s1, const char * s2 ); - -/* Compare the character arrays s1 and s2, interpreted as specified by the - LC_COLLATE category of the current locale. - Returns 0 if s1 == s2, a negative number if s1 < s2, and a positive number if - s1 > s2. - TODO: Currently a dummy wrapper for strcmp() as PDCLib does not yet support - locales. -*/ -_PDCLIB_PUBLIC int strcoll( const char * s1, const char * s2 ); - -/* Compare no more than the first n characters of the character arrays s1 and - s2. - Returns 0 if s1 == s2, a negative number if s1 < s2, and a positive number if - s1 > s2. -*/ -_PDCLIB_PUBLIC int strncmp( const char * s1, const char * s2, size_t n ); - -/* Transform the character array s2 as appropriate for the LC_COLLATE setting of - the current locale. If length of resulting string is less than n, store it in - the character array pointed to by s1. Return the length of the resulting - string. -*/ -_PDCLIB_PUBLIC size_t strxfrm( char * _PDCLIB_restrict s1, const char * _PDCLIB_restrict s2, size_t n ); - -/* Search functions */ - -/* Search the first n characters in the memory area pointed to by s for the - character c (interpreted as unsigned char). - Returns a pointer to the first instance found, or NULL. -*/ -_PDCLIB_PUBLIC void * memchr( const void * s, int c, size_t n ); - -/* Search the character array s (including terminating '\0') for the character c - (interpreted as char). - Returns a pointer to the first instance found, or NULL. -*/ -_PDCLIB_PUBLIC char * strchr( const char * s, int c ); - -/* Determine the length of the initial substring of character array s1 which - consists only of characters not from the character array s2. - Returns the length of that substring. -*/ -_PDCLIB_PUBLIC size_t strcspn( const char * s1, const char * s2 ); - -/* Search the character array s1 for any character from the character array s2. - Returns a pointer to the first occurrence, or NULL. -*/ -_PDCLIB_PUBLIC char * strpbrk( const char * s1, const char * s2 ); - -/* Search the character array s (including terminating '\0') for the character c - (interpreted as char). - Returns a pointer to the last instance found, or NULL. -*/ -_PDCLIB_PUBLIC char * strrchr( const char * s, int c ); - -/* Determine the length of the initial substring of character array s1 which - consists only of characters from the character array s2. - Returns the length of that substring. -*/ -_PDCLIB_PUBLIC size_t strspn( const char * s1, const char * s2 ); - -/* Search the character array s1 for the substring in character array s2. - Returns a pointer to that sbstring, or NULL. If s2 is of length zero, - returns s1. -*/ -_PDCLIB_PUBLIC char * strstr( const char * s1, const char * s2 ); - -/* In a series of subsequent calls, parse a C string into tokens. - On the first call to strtok(), the first argument is a pointer to the to-be- - parsed C string. On subsequent calls, the first argument is NULL unless you - want to start parsing a new string. s2 holds an array of separator characters - which can differ from call to call. Leading separators are skipped, the first - trailing separator overwritten with '\0'. - Returns a pointer to the next token. - WARNING: This function uses static storage, and as such is not reentrant. -*/ -_PDCLIB_PUBLIC char * strtok( char * _PDCLIB_restrict s1, const char * _PDCLIB_restrict s2 ); - -/* Miscellaneous functions */ - -/* Write the character c (interpreted as unsigned char) to the first n - characters of the memory area pointed to by s. - Returns s. -*/ -_PDCLIB_PUBLIC void * memset( void * s, int c, size_t n ); - -/* Map an error number to a (locale-specific) error message string. Error - numbers are typically errno values, but any number is mapped to a message. - TODO: PDCLib does not yet support locales. -*/ -_PDCLIB_PUBLIC char * strerror( int errnum ); - -/* Returns the length of the string s (excluding terminating '\0'). -*/ -_PDCLIB_PUBLIC size_t strlen( const char * s ); - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 - -#ifndef _PDCLIB_ERRNO_T_DEFINED -#define _PDCLIB_ERRNO_T_DEFINED _PDCLIB_ERRNO_T_DEFINED -typedef int errno_t; -#endif - -#ifndef _PDCLIB_RSIZE_T_DEFINED -#define _PDCLIB_RSIZE_T_DEFINED _PDCLIB_RSIZE_T_DEFINED -typedef _PDCLIB_size_t rsize_t; -#endif - -/* Copy a number of n characters from the memory area pointed to by s2 to the - area pointed to by s1 of size s1max. - Returns zero if successful, non-zero otherwise. - The following conditions will be considered runtime constraint violations: - - s1 or s2 being NULL. - - s1max or n being > RSIZE_MAX. - - n > s1max (not enough space in s1). - - copying between overlapping objects. - In case of a constraint violation, if s1 is not NULL and s1max <= RSIZE_MAX - then the first s1max characters of s1 will be set to zero. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t memcpy_s( void * _PDCLIB_restrict s1, rsize_t s1max, const void * _PDCLIB_restrict s2, rsize_t n ); - -/* Copy a number of n characters from the memory area pointed to by s2 to the - area pointed to by s1 of size s1max. The two areas may overlap. - Returns zero if successful, non-zero otherwise. - The following conditions will be considered runtime constraint violations: - - s1 or s2 being NULL. - - s1max or n being > RSIZE_MAX. - - n > s1max (not enough space in s1). - In case of a constraint violation, if s1 is not NULL and s1max <= RSIZE_MAX - then the first s1max characters of s1 will be set to zero. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t memmove_s( void * _PDCLIB_restrict s1, rsize_t s1max, const void * _PDCLIB_restrict s2, rsize_t n ); - -/* Copy the character array s2 (including terminating '\0' byte) into the - character array s1. - Returns zero if successful, non-zero otherwise. - The following conditions will be considered runtime constraint violations: - - s1 or s2 being NULL. - - s1max being zero or > RSIZE_MAX. - - s1max not greater than strnlen_s( s2, s1max ) (not enough space in s1). - - copying between overlapping objects. - In case of a constraint violation, if s1 is not NULL and s1max <= RSIZE_MAX - then s1[0] will be set to '\0'. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t strcpy_s( char * _PDCLIB_restrict s1, rsize_t s1max, const char * _PDCLIB_restrict s2 ); - -/* Copy a maximum of n characters from the character array s2 into the character - array s1. If s2 is longer than n, s1[n] will be set to '\0'. - Returns zero if successful, non-zero otherwise. - - ATTENTION ATTENTION ATTENTION - - This function differs in two fundamental ways from strncpy(): - - remaining space in s1 will NOT be zeroed. Their value is unspecified. - - s1 WILL be zero-terminated even if there is not enough space to hold - all n characters from s2. - - THANK YOU FOR YOUR ATTENTION. - - The following conditions will be considered runtime constraint violations: - - s1 or s2 being NULL. - - s1max or n being > RSIZE_MAX. - - s1max being zero. - - n >= s1max and s1max <= strnlen_s( s2, s1max ) (not enough space in s1). - - copying between overlapping objects. - In case of a constraint violation, if s1 is not NULL and s1max is greater - zero and <= RSIZE_MAX, s1[0] will be set to '\0'. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t strncpy_s( char * _PDCLIB_restrict s1, rsize_t s1max, const char * _PDCLIB_restrict s2, rsize_t n ); - -/* Append the contents of the character array s2 (including terminating '\0') to - the character array s1 (first character of s2 overwriting the '\0' of s1). - Elements following the terminating null character (if any) take unspecified - values. - Returns zero if successful, non-zero otherwise. - The following conditions will be considered runtime constraint violations: - - s1 or s2 being NULL. - - s1max being > RSIZE_MAX. - - s1max being zero. - - not enough space in s1 for both s1 and the characters copied from s2. - - copying between overlapping objects. - In case of a constraint violation, if s1 is not NULL and s1max is greater - zero and <= RSIZE_MAX, s1[0] will be set to '\0'. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t strcat_s( char * _PDCLIB_restrict s1, rsize_t s1max, const char * _PDCLIB_restrict s2 ); - -/* Append a maximum of n characters from the character array s2 to the - character array s1 (first character of s2 overwriting the '\0' of s1). A - terminating '\0' is ALWAYS appended, even if the full n characters have - already been written. - Elements following the terminating null character (if any) take unspecified - values. - Returns zero if successful, non-zero otherwise. - The following conditions will be considered runtime constraint violations: - - s1 or s2 being NULL. - - s1max or n being > RSIZE_MAX. - - s1max being zero. - - not enough space in s1 for both s1 and the characters copied from s2. - - copying between overlapping objects. - In case of a constraint violation, if s1 is not NULL and s1max is greater - zero and <= RSIZE_MAX, s1[0] will be set to '\0'. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t strncat_s( char * _PDCLIB_restrict s1, rsize_t s1max, const char * _PDCLIB_restrict s2, rsize_t n ); - -/* In a series of subsequent calls, parse a C string into tokens. - On the first call to strtok(), the first argument is a pointer to the to-be- - parsed C string of size *s1max. On subsequent calls, the first argument is - NULL unless you want to start parsing a new string. s2 holds an array of - separator characters which can differ from call to call. Leading separators - are skipped, the first trailing separator overwritten with '\0'. - Returns a pointer to the next token. - The following conditions will be considered runtime constraint violations: - - s1max, s2, or ptr being NULL. - - s1max or n being > RSIZE_MAX. - - s1max being zero. - - not enough space in s1 for both s1 and the characters copied from s2. - - copying between overlapping objects. - In case of a constraint violation, if s1 is not NULL and s1max is greater - zero and <= RSIZE_MAX, s1[0] will be set to '\0'. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC char * strtok_s( char * _PDCLIB_restrict s1, rsize_t * _PDCLIB_restrict s1max, const char * _PDCLIB_restrict s2, char ** _PDCLIB_restrict ptr ); - -/* Write the character c (interpreted as unsigned char) to the first n - characters of the memory area pointed to by s of size smax. - Returns zero if successful, non-zero otherwise. - The following conditions will be considered runtime constraint violations: - - s being NULL. - - smax or n being > RSIZE_MAX. - - n being > smax. - In case of a constraint violation, if s is not NULL and smax is <= RSIZE_MAX - the value of c (interpreted as unsigned char) is written to the first smax - characters of s. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t memset_s( void * s, rsize_t smax, int c, rsize_t n ); - -/* Map an error number to a (locale-specific) error message string. Error - numbers are typically errno values, but any number is mapped to a message. - TODO: PDCLib does not yet support locales. - If the length of the mapped string is < maxsize, the string is copied to s. - Otherwise, if maxsize is greater than zero, as much of the string as does - fit is copied, and s[maxsize-1] set to '\0'. If maxsize is greater than 3, - the partial string is made to end in "...". - Returns zero if the string was copied successfully in full, non-zero - otherwise. - The following conditions will be considered runtime constraint violations: - - s being NULL. - - maxsize being zero or > RSIZE_MAX. - In case of a constraint violation, s is not modified. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t strerror_s( char * s, rsize_t maxsize, errno_t errnum ); - -/* Map an error number to a (locale-specific) error message string, the same - way as strerror_s() would do. Error numbers are typically errno values, - but any number is mapped to a message. - TODO: PDCLib does not yet support locales. - Returns the length of the mapped string. -*/ -_PDCLIB_PUBLIC size_t strerrorlen_s( errno_t errnum ); - -/* Returns the length of the string s (excluding terminating '\0'). - If there is no null character in the first maxsize characters of s, - rerturns maxsize. If s is NULL, returns zero. - At most the first maxsize characters of s shall be accessed by the - function. -*/ -_PDCLIB_PUBLIC size_t strnlen_s( const char * s, size_t maxsize ); - -#endif - -#ifdef __cplusplus -} -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_STRING_H -#include _PDCLIB_EXTEND_STRING_H -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/sys/stat.h b/RockOS/sysroot/usr/include/sys/stat.h deleted file mode 100644 index 7225b36..0000000 --- a/RockOS/sysroot/usr/include/sys/stat.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef _SYS_STAT_H -#define _SYS_STAT_H - -#include - -// Basic POSIX types for i686 execution -typedef uint32_t dev_t; -typedef uint32_t ino_t; -typedef uint32_t mode_t; -typedef uint32_t nlink_t; -typedef uint32_t uid_t; -typedef uint32_t gid_t; -typedef int32_t off_t; -typedef int32_t time_t; - -// The stat layout expected by standard C files -struct stat { - dev_t st_dev; /* ID of device containing file */ - ino_t st_ino; /* Inode number */ - mode_t st_mode; /* File type and mode flags */ - nlink_t st_nlink; /* Number of hard links */ - uid_t st_uid; /* User ID of owner */ - gid_t st_gid; /* Group ID of owner */ - dev_t st_rdev; /* Device ID (if special file) */ - off_t st_size; /* Total size, in bytes */ - time_t st_atime; /* Time of last access */ - time_t st_mtime; /* Time of last modification */ - time_t st_ctime; /* Time of last status change */ -}; - -// Traditional POSIX file permission/type bitmasks -#define S_IFMT 0170000 /* Bitmask for the file type bit fields */ -#define S_IFSOCK 0140000 /* Socket */ -#define S_IFLNK 0120000 /* Symbolic link */ -#define S_IFREG 0100000 /* Regular file */ -#define S_IFBLK 0060000 /* Block device */ -#define S_IFDIR 0040000 /* Directory */ -#define S_IFCHR 0020000 /* Character device */ -#define S_IFIFO 0010000 /* FIFO */ - -#define S_IRUSR 00400 /* Owner has read permission */ -#define S_IWUSR 00200 /* Owner has write permission */ -#define S_IXUSR 00100 /* Owner has execute permission */ -#define S_IRWXU 00700 /* Owner has read, write, and execute permission */ - -// Helper check macros commonly used in PDCLib -#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) -#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) - -#endif /* _SYS_STAT_H */ \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/sys/time.h b/RockOS/sysroot/usr/include/sys/time.h deleted file mode 100644 index de1d7ce..0000000 --- a/RockOS/sysroot/usr/include/sys/time.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef _SYS_TIME_H -#define _SYS_TIME_H - -#include - -// Represents an exact elapsed time signature -struct timeval { - time_t tv_sec; /* Seconds since Unix Epoch */ - int32_t tv_usec; /* Microseconds component */ -}; - -// Represents traditional timezone offsets (largely obsolete but required) -struct timezone { - int tz_minuteswest; /* Minutes west of Greenwich */ - int tz_dsttime; /* Type of DST correction */ -}; - -/* Prototype for time fetching system operation */ -int gettimeofday(struct timeval *restrict tv, void *restrict tz); - -#endif /* _SYS_TIME_H */ \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/sys/times.h b/RockOS/sysroot/usr/include/sys/times.h deleted file mode 100644 index 0ca899e..0000000 --- a/RockOS/sysroot/usr/include/sys/times.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef _SYS_TIMES_H -#define _SYS_TIMES_H - -#include - -/* Structure describing CPU time used by a process and its children */ -struct tms { - clock_t tms_utime; /* User CPU time */ - clock_t tms_stime; /* System CPU time */ - clock_t tms_cutime; /* User CPU time of dead children */ - clock_t tms_cstime; /* System CPU time of dead children */ -}; - -/* Function prototype for timing system call */ -clock_t times(struct tms *buffer); - -#endif /* _SYS_TIMES_H */ \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/sys/types.h b/RockOS/sysroot/usr/include/sys/types.h deleted file mode 100644 index be32cab..0000000 --- a/RockOS/sysroot/usr/include/sys/types.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef _SYS_TYPES_H -#define _SYS_TYPES_H - -#include - -// Standard signed and unsigned size primitives -typedef int32_t ssize_t; -typedef uint32_t size_t; - -// Process and Thread IDs -typedef int32_t pid_t; -typedef int32_t id_t; - -// File system block and reference markers -typedef int32_t blkcnt_t; -typedef int32_t blksize_t; -typedef uint32_t dev_t; -typedef uint32_t gid_t; -typedef uint32_t ino_t; -typedef uint32_t mode_t; -typedef uint32_t nlink_t; -typedef int32_t off_t; -typedef uint32_t uid_t; - -// Clock and Timing fields -typedef int32_t time_t; -typedef int32_t clock_t; - -#endif /* _SYS_TYPES_H */ \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/time.h b/RockOS/sysroot/usr/include/time.h deleted file mode 100644 index 17ae34f..0000000 --- a/RockOS/sysroot/usr/include/time.h +++ /dev/null @@ -1,191 +0,0 @@ -/* Date and time - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_TIME_H -#define _PDCLIB_TIME_H _PDCLIB_TIMEH - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_lib_ext1.h" -#include "pdclib/_PDCLIB_internal.h" - -#ifndef _PDCLIB_SIZE_T_DEFINED -#define _PDCLIB_SIZE_T_DEFINED _PDCLIB_SIZE_T_DEFINED -typedef _PDCLIB_size_t size_t; -#endif - -#ifndef _PDCLIB_NULL_DEFINED -#define _PDCLIB_NULL_DEFINED _PDCLIB_NULL_DEFINED -#define NULL _PDCLIB_NULL -#endif - -/* See comments in _PDCLIB_config.h on the semantics of time_t and clock_t. */ - -typedef _PDCLIB_time_t time_t; -typedef _PDCLIB_clock_t clock_t; - -#define CLOCKS_PER_SEC _PDCLIB_CLOCKS_PER_SEC -#define TIME_UTC _PDCLIB_TIME_UTC - -/* Implementor's note: If you change this structure, and are using Pthread - threading support, check auxiliary/pthread/pthread_readout.c for its - twin. It is imperative that Pthread and PDCLib use identical layouts for - struct timespec, as they are implicitly cast from one to the other. This - cannot be checked for in this header (as we may not include host system - headers here), so the assert()s are in pthread_readout.c (which, in turn, - cannot include *this* header, which is why this admonishment to keep the - definitions in sync exists...). -*/ -struct timespec -{ - time_t tv_sec; - long tv_nsec; -}; - -struct tm -{ - int tm_sec; /* 0-60 */ - int tm_min; /* 0-59 */ - int tm_hour; /* 0-23 */ - int tm_mday; /* 1-31 */ - int tm_mon; /* 0-11 */ - int tm_year; /* years since 1900 */ - int tm_wday; /* 0-6 */ - int tm_yday; /* 0-365 */ - int tm_isdst; /* >0 DST, 0 no DST, <0 information unavailable */ -}; - -/* Returns the number of "clocks" in processor time since the invocation - of the program. Divide by CLOCKS_PER_SEC to get the value in seconds. - Returns -1 if the value cannot be represented in the return type or is - not available. -*/ -_PDCLIB_PUBLIC clock_t clock( void ); - -/* Returns the difference between two calendar times in seconds. */ -_PDCLIB_PUBLIC double difftime( time_t time1, time_t time0 ); - -/* Normalizes the values in the broken-down time pointed to by timeptr. - Returns the calender time specified by the broken-down time. -*/ -_PDCLIB_PUBLIC time_t mktime( struct tm * timeptr ); - -/* Returns the current calender time. If timer is not a NULL pointer, stores - the current calender time at that address as well. -*/ -_PDCLIB_PUBLIC time_t time( time_t * timer ); - -/* Sets the interval pointed to by ts to the current calender time, based - on the specified base. - Returns base, if successful, otherwise zero. -*/ -_PDCLIB_PUBLIC int timespec_get( struct timespec * ts, int base ); - -/* Converts the broken-down time pointed to by timeptr into a string in the - form "Sun Sep 16 01:03:52 1973\n\0". -*/ -_PDCLIB_PUBLIC char * asctime( const struct tm * timeptr ); - -/* Equivalent to asctime( localtime( timer ) ). */ -_PDCLIB_PUBLIC char * ctime( const time_t * timer ); - -/* Converts the calender time pointed to by timer into a broken-down time - expressed as UTC. - Returns a pointer to the broken-down time, or a NULL pointer if it - cannot be represented. -*/ -_PDCLIB_PUBLIC struct tm * gmtime( const time_t * timer ); - -/* Converts the calender time pointed to by timer into a broken-down time - expressed as local time. - Returns a pointer to the broken-down time, or a NULL pointer if if - cannot be represented. -*/ -_PDCLIB_PUBLIC struct tm * localtime( const time_t * timer ); - -/* Writes the broken-down time pointed to by timeptr into the character - array pointed to by s. The string pointed to by format controls the - exact output. No more than maxsize charactrs will be written. - Returns the number of characters written (excluding the terminating - null character), or zero on failure. -*/ -_PDCLIB_PUBLIC size_t strftime( char * _PDCLIB_restrict s, size_t maxsize, const char * _PDCLIB_restrict format, const struct tm * _PDCLIB_restrict timeptr ); - -/* Annex K -- Bounds-checking interfaces */ - -#if ( __STDC_WANT_LIB_EXT1__ + 0 ) != 0 - -#ifndef _PDCLIB_ERRNO_T_DEFINED -#define _PDCLIB_ERRNO_T_DEFINED _PDCLIB_ERRNO_T_DEFINED -typedef int errno_t; -#endif - -#ifndef _PDCLIB_RSIZE_T_DEFINED -#define _PDCLIB_RSIZE_T_DEFINED _PDCLIB_RSIZE_T_DEFINED -typedef _PDCLIB_size_t rsize_t; -#endif - -/* Converts the broken-down time pointed to by timeptr into a string in the - form "Sun Sep 16 01:03:52 1973\n\0", which is stored in buffer s of maxsize. - Returns zero if the time was successfully converted and stored, non-zero - otherwise. - The following conditions will be considered runtime constraint violations: - - s or timeptr being NULL. - - maxsize being < 26 or > RSIZE_MAX. - - the broken-down time pointed to by timeptr not being normalized. - - the year represented by the broken-down time pointed to by timeptr - being < 0 or > 9999. - In case of a constraint violation, the time will not be converted. If - s is not NULL and maxsize is neither zero nor > RSIZE_MAX, s[0] will be - set to '\0'. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC errno_t asctime_s( char * s, rsize_t maxsize, const struct tm * timeptr ); - -/* Equivalent to asctime_s( s, maxsize, localtime( timer ) ). */ -_PDCLIB_PUBLIC errno_t ctime_s( char * s, rsize_t maxsize, const time_t * timer ); - -/* Converts the calender time pointed to by timer into a broken-down time - expressed as UTC, which gets stored in the result struct. - Returns a pointer to the broken-down time, or a NULL pointer if if - cannot be represented or stored. - The following conditions will be considered runtime constraint violations: - - timer or result being NULL. - In case of a constraint violation, the time will not be converted. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC struct tm * gmtime_s( const time_t * _PDCLIB_restrict timer, struct tm * _PDCLIB_restrict result ); - -/* Converts the calender time pointed to by timer into a broken-down time - expressed as local time, which gets stored in the result struct. - Returns a pointer to the broken-down time, or a NULL pointer if if - cannot be represented or stored. - The following conditions will be considered runtime constraint violations: - - timer or result being NULL. - In case of a constraint violation, the time will not be converted. - The currently active constraint violation handler function will be called - (see set_constraint_handler_s()). -*/ -_PDCLIB_PUBLIC struct tm * localtime_s( const time_t * _PDCLIB_restrict timer, struct tm * _PDCLIB_restrict result ); - -#endif - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_TIME_H -#include _PDCLIB_EXTEND_TIME_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/include/unistd.h b/RockOS/sysroot/usr/include/unistd.h deleted file mode 100644 index 35ce2bb..0000000 --- a/RockOS/sysroot/usr/include/unistd.h +++ /dev/null @@ -1,28 +0,0 @@ -#ifndef _UNISTD_H -#define _UNISTD_H - -#include - -/* Standard file descriptors used by streams */ -#define STDIN_FILENO 0 /* Standard input */ -#define STDOUT_FILENO 1 /* Standard output */ -#define STDERR_FILENO 2 /* Standard error output */ - -/* Seek constants for lseek() / _PDCLIB_lseek() */ -#ifndef SEEK_SET -#define SEEK_SET 0 /* Seek from beginning of file */ -#define SEEK_CUR 1 /* Seek from current position */ -#define SEEK_END 2 /* Seek from end of file */ -#endif - -/* Null pointer declaration constant */ -#ifndef NULL -#define NULL ((void *)0) -#endif - -int open(const char *pathname, int flags, ...); -int read(int fd, void *buf, size_t count); -int close(int fd); - - -#endif /* _UNISTD_H */ \ No newline at end of file diff --git a/RockOS/sysroot/usr/include/wctype.h b/RockOS/sysroot/usr/include/wctype.h deleted file mode 100644 index 3776b7a..0000000 --- a/RockOS/sysroot/usr/include/wctype.h +++ /dev/null @@ -1,152 +0,0 @@ -/* Wide character classification and mapping utilities - - This file is part of the Public Domain C Library (PDCLib). - Permission is granted to use, modify, and / or redistribute at will. -*/ - -#ifndef _PDCLIB_WCTYPE_H -#define _PDCLIB_WCTYPE_H _PDCLIB_WCTYPE_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include "pdclib/_PDCLIB_internal.h" - -typedef _PDCLIB_wint_t wint_t; -typedef int wctrans_t; -typedef int wctype_t; - -#ifndef _PDCLIB_WEOF_DEFINED -#define _PDCLIB_WEOF_DEFINED _PDCLIB_WEOF_DEFINED -#define WEOF (wint_t)-1 -#endif - -/* Wide character classification functions */ - -/* Returns iswalpha( wc ) || iswdigit( wc ) */ -_PDCLIB_PUBLIC int iswalnum( wint_t wc ); - -/* Returns true for wide characters for which either isupper( wc ) or - islower( wc ) is true, as well as a set of locale-specific wide - characters which are neither control characters, digits, punctuation, - or whitespace. -*/ -_PDCLIB_PUBLIC int iswalpha( wint_t wc ); - -/* Returns true if the character iswspace() and used for separating words - within a line of text. In the "C" locale, only L' ' and L'\t' are - considered blanks. -*/ -_PDCLIB_PUBLIC int iswblank( wint_t wc ); - -/* Returns true if the wide character is a control character. */ -_PDCLIB_PUBLIC int iswcntrl( wint_t wc ); - -/* Returns true if the wide character is a decimal digit. Locale- - independent. */ -_PDCLIB_PUBLIC int iswdigit( wint_t wc ); - -/* Returns iswprint( wc ) && ! iswspace( wc ). - NOTE: This definition differs from that of isgraph() in , - which considers only ' ', not all isspace() characters. -*/ -_PDCLIB_PUBLIC int iswgraph( wint_t wc ); - -/* Returns true for lowerspace wide characters, as well as a set of - locale-specific wide characters which are neither control charcters, - digits, punctuation, or whitespace. -*/ -_PDCLIB_PUBLIC int iswlower( wint_t wc ); - -/* Returns true for every printing wide character. */ -_PDCLIB_PUBLIC int iswprint( wint_t wc ); - -/* Returns true for a locale-specific set of punctuation characters that - are neither whitespace nor alphanumeric. -*/ -_PDCLIB_PUBLIC int iswpunct( wint_t wc ); - -/* Returns true for a locale-specific set of whitespace characters that - are neither alphanumeric, graphic, or punctuation. -*/ -_PDCLIB_PUBLIC int iswspace( wint_t wc ); - -/* Returns true for upperspace wide characters, as well as a set of - locale-specific wide characters which are neither control charcters, - digits, punctuation, or whitespace. -*/ -_PDCLIB_PUBLIC int iswupper( wint_t wc ); - -/* Returns true if the wide character is a hexadecimal digit. Locale- - independent. */ -_PDCLIB_PUBLIC int iswxdigit( wint_t wc ); - -/* Extensible wide character classification functions */ - -/* Returns true if the wide character wc has the property described by - desc (which was retrieved by a previous call to wctype() without - changing the LC_CTYPE locale setting between the two calls). -*/ -_PDCLIB_PUBLIC int iswctype( wint_t wc, wctype_t desc ); - -/* Returns a description object for a named character property, to be - used as parameter to the iswctype() function. Supported property - names are: - "alnum" -- alphanumeric, as per iswalnum() - "alpha" -- alphabetic, as per iswalpha() - "blank" -- blank, as per iswblank() - "cntrl" -- control, as per iswcntrl() - "digit" -- decimal digit, as per iswdigit() - "graph" -- graphic, as per iswgraph() - "lower" -- lowercase, as per iswlower() - "print" -- printing, as per iswprint() - "punct" -- punctuation, as per iswprint() - "space" -- whitespace, as per iswspace() - "upper" -- uppercase, as per iswupper() - "xdigit" -- hexadecimal digit, as per iswxdigit() - For unsupported properties, the function returns zero. -*/ -_PDCLIB_PUBLIC wctype_t wctype( const char * property ); - -/* Wide character case mapping utilities */ - -/* Converts an uppercase letter to a corresponding lowercase letter. Input for - which no corresponding lowercase letter exists remains unchanged. -*/ -_PDCLIB_PUBLIC wint_t towlower( wint_t wc ); - -/* Converts a lowercase letter to a corresponding uppercase letter. Input for - which no corresponding uppercase letter exists remains unchanged. -*/ -_PDCLIB_PUBLIC wint_t towupper( wint_t wc ); - -/* Extensible wide character case mapping utilities */ - -/* Converts the wide character wc according to the transition described - by desc (which was retrieved by a previous call to wctrans() without - changing the LC_CTYPE locale setting between the two calls). -*/ -_PDCLIB_PUBLIC wint_t towctrans( wint_t wc, wctrans_t desc ); - -/* Returns a description object for a named character transformation, to - be used as parameter to the towctrans() function. Supported transformation - properties are: - "tolower" -- lowercase mapping, as per towlower() - "toupper" -- uppercase mapping, as per towupper() - For unsupported properties, the function returns zero. -*/ -_PDCLIB_PUBLIC wctrans_t wctrans( const char * property ); - -/* Extension hook for downstream projects that want to have non-standard - extensions to standard headers. -*/ -#ifdef _PDCLIB_EXTEND_WCTYPE_H -#include _PDCLIB_EXTEND_WCTYPE_H -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/RockOS/sysroot/usr/lib/rlibc.a b/RockOS/sysroot/usr/lib/rlibc.a deleted file mode 100644 index f367739..0000000 Binary files a/RockOS/sysroot/usr/lib/rlibc.a and /dev/null differ