Compare commits
No commits in common. "7f8bc5317decec4428d4d21b809c1a4cb83acc58" and "ea66b2c2aaac3c9a036e61c728c3aae3726f707d" have entirely different histories.
7f8bc5317d
...
ea66b2c2aa
1
.direnv/flake-profile
Symbolic link
1
.direnv/flake-profile
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
flake-profile-3-link
|
1
.direnv/flake-profile-3-link
Symbolic link
1
.direnv/flake-profile-3-link
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
/nix/store/ml5jibqk9rhd8gfps532ry58njp2j5sd-nix-shell-env
|
742
.gitignore
vendored
742
.gitignore
vendored
|
@ -1,9 +1,737 @@
|
||||||
# ---> Scheme
|
<!DOCTYPE html>
|
||||||
*.ss~
|
<html lang="en-US" data-theme="forgejo-auto">
|
||||||
*.ss#*
|
<head>
|
||||||
.#*.ss
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
*.scm~
|
<title>scheme/.gitignore at main - geir/scheme - Forgejo: Beyond coding. We Forge.</title>
|
||||||
*.scm#*
|
<link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiRm9yZ2VqbzogQmV5b25kIGNvZGluZy4gV2UgRm9yZ2UuIiwic2hvcnRfbmFtZSI6IkZvcmdlam86IEJleW9uZCBjb2RpbmcuIFdlIEZvcmdlLiIsInN0YXJ0X3VybCI6Imh0dHA6Ly9hcHBzOjMwMDAvIiwiaWNvbnMiOlt7InNyYyI6Imh0dHA6Ly9hcHBzOjMwMDAvYXNzZXRzL2ltZy9sb2dvLnBuZyIsInR5cGUiOiJpbWFnZS9wbmciLCJzaXplcyI6IjUxMng1MTIifSx7InNyYyI6Imh0dHA6Ly9hcHBzOjMwMDAvYXNzZXRzL2ltZy9sb2dvLnN2ZyIsInR5cGUiOiJpbWFnZS9zdmcreG1sIiwic2l6ZXMiOiI1MTJ4NTEyIn1dfQ==">
|
||||||
.#*.scm
|
<meta name="author" content="geir">
|
||||||
|
<meta name="description" content="scheme">
|
||||||
|
<meta name="keywords" content="git,forge,forgejo">
|
||||||
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="alternate" type="application/atom+xml" title="" href="/geir/scheme.atom">
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="" href="/geir/scheme.rss">
|
||||||
|
|
||||||
|
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
|
||||||
|
<link rel="alternate icon" href="/assets/img/favicon.png" type="image/png">
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
|
window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
|
window.config = {
|
||||||
|
appUrl: 'http:\/\/apps:3000\/',
|
||||||
|
appSubUrl: '',
|
||||||
|
assetVersionEncoded: encodeURIComponent('7.0.7'),
|
||||||
|
assetUrlPrefix: '\/assets',
|
||||||
|
runModeIsProd: true ,
|
||||||
|
customEmojis: {"codeberg":":codeberg:","forgejo":":forgejo:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"},
|
||||||
|
csrfToken: 'Wk3xB3wdWAAWBNPTK-q3Gasmf7k6MTcyMzk2Njk5NTY4NzI4NzY2Mw',
|
||||||
|
pageData: {},
|
||||||
|
notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000},
|
||||||
|
enableTimeTracking: true ,
|
||||||
|
|
||||||
|
mermaidMaxSourceCharacters: 5000 ,
|
||||||
|
|
||||||
|
i18n: {
|
||||||
|
copy_success: "Copied!",
|
||||||
|
copy_error: "Copy failed",
|
||||||
|
error_occurred: "An error occurred",
|
||||||
|
network_error: "Network error",
|
||||||
|
remove_label_str: "Remove item \"%s\"",
|
||||||
|
modal_confirm: "Confirm",
|
||||||
|
modal_cancel: "Cancel",
|
||||||
|
more_items: "More items",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
window.config.pageData = window.config.pageData || {};
|
||||||
|
</script>
|
||||||
|
<script src="/assets/js/webcomponents.js?v=7.0.7"></script>
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.dropdown:hover > .menu { display: block; }
|
||||||
|
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="scheme/.gitignore at main">
|
||||||
|
<meta property="og:url" content="http://apps:3000//geir/scheme/src/branch/main/.gitignore">
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:type" content="object">
|
||||||
|
|
||||||
|
<meta property="og:image" content="http://apps:3000/avatars/4cd3115db424095e4f0ad9a444686275">
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:site_name" content="Forgejo: Beyond coding. We Forge.">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/assets/css/index.css?v=7.0.7">
|
||||||
|
<link rel="stylesheet" href="/assets/css/theme-forgejo-auto.css?v=7.0.7">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body hx-headers='{"x-csrf-token": "Wk3xB3wdWAAWBNPTK-q3Gasmf7k6MTcyMzk2Njk5NTY4NzI4NzY2Mw"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="full height">
|
||||||
|
<noscript>This website requires JavaScript.</noscript>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav id="navbar" aria-label="Navigation bar">
|
||||||
|
<div class="navbar-left ui secondary menu">
|
||||||
|
|
||||||
|
<a class="item" id="navbar-logo" href="/" aria-label="Home">
|
||||||
|
<img width="30" height="30" src="/assets/img/logo.svg" alt="Logo" aria-hidden="true">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui secondary menu item navbar-mobile-right only-mobile">
|
||||||
|
|
||||||
|
<button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Toggle menu"><svg viewBox="0 0 16 16" class="svg octicon-three-bars" aria-hidden="true" width="16" height="16"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75m0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75M1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5"/></svg></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/explore/repos">Explore</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" target="_blank" rel="noopener noreferrer" href="https://forgejo.org/docs/latest/">Help</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="navbar-right ui secondary menu">
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" rel="nofollow" href="/user/login?redirect_to=%2fgeir%2fscheme%2fsrc%2fbranch%2fmain%2f.gitignore">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-sign-in" aria-hidden="true" width="16" height="16"><path d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 2 13.25Zm6.56 4.5h5.69a.75.75 0 0 1 0 1.5H8.56l1.97 1.97a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L6.22 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.749.749 0 0 1 1.275.326.75.75 0 0 1-.215.734Z"/></svg> Sign In
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="main" aria-label="scheme/.gitignore at main" class="page-content repository file list ">
|
||||||
|
<div class="secondary-nav">
|
||||||
|
|
||||||
|
<div class="ui container">
|
||||||
|
<div class="repo-header">
|
||||||
|
<div class="flex-item tw-items-center">
|
||||||
|
<div class="flex-item-leading">
|
||||||
|
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-repo" aria-hidden="true" width="24" height="24"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="flex-item-main">
|
||||||
|
<div class="flex-item-title gt-font-18">
|
||||||
|
<a class="muted gt-font-normal" href="/geir">geir</a>/<a class="muted" href="/geir/scheme">scheme</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-item-trailing">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="repo-buttons">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="ui compact small basic button" href="/geir/scheme.rss" data-tooltip-content="RSS feed">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="16" height="16"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<form hx-boost="true" hx-target="this" method="post" action="/geir/scheme/action/watch">
|
||||||
|
<div class="ui labeled button" data-tooltip-content="Sign in to watch this repository.">
|
||||||
|
<button type="submit" class="ui compact small basic button" disabled>
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-eye" aria-hidden="true" width="16" height="16"><path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14s-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2M1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5s2.825-.742 3.955-1.715c1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5s-2.825.742-3.955 1.715c-1.124.967-1.954 2.096-2.366 2.717M8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10"/></svg><span class="text not-mobile">Watch</span>
|
||||||
|
|
||||||
|
</button>
|
||||||
|
<a hx-boost="false" class="ui basic label" href="/geir/scheme/watchers">
|
||||||
|
1
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<form hx-boost="true" hx-target="this" method="post" action="/geir/scheme/action/star">
|
||||||
|
<div class="ui labeled button" data-tooltip-content="Sign in to star this repository.">
|
||||||
|
<button type="submit" class="ui compact small basic button" disabled>
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-star" aria-hidden="true" width="16" height="16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z"/></svg><span class="text not-mobile">Star</span>
|
||||||
|
|
||||||
|
</button>
|
||||||
|
<a hx-boost="false" class="ui basic label" href="/geir/scheme/stars">
|
||||||
|
0
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui labeled button
|
||||||
|
|
||||||
|
disabled
|
||||||
|
"
|
||||||
|
|
||||||
|
data-tooltip-content="Sign in to fork this repository."
|
||||||
|
|
||||||
|
>
|
||||||
|
<a class="ui compact small basic button"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
>
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-repo-forked" aria-hidden="true" width="16" height="16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0M5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0m6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0"/></svg><span class="text not-mobile">Fork</span>
|
||||||
|
</a>
|
||||||
|
<div class="ui small modal" id="fork-repo-modal">
|
||||||
|
<div class="header">
|
||||||
|
You've already forked scheme
|
||||||
|
</div>
|
||||||
|
<div class="content tw-text-left">
|
||||||
|
<div class="ui list">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a class="ui basic label" href="/geir/scheme/forks">
|
||||||
|
0
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<overflow-menu class="ui container secondary pointing tabular top attached borderless menu tw-pt-0 tw-my-0">
|
||||||
|
|
||||||
|
<div class="overflow-menu-items">
|
||||||
|
|
||||||
|
<a class="active item" href="/geir/scheme">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> Code
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/issues">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-issue-opened" aria-hidden="true" width="16" height="16"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"/><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0"/></svg> Issues
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/pulls">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg> Pull requests
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/actions">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-play" aria-hidden="true" width="16" height="16"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0m4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215"/></svg> Actions
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/geir/scheme/packages" class="item">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-package" aria-hidden="true" width="16" height="16"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0M7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.25.25 0 0 0-.25 0M2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"/></svg> Packages
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/geir/scheme/projects" class="item">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-project" aria-hidden="true" width="16" height="16"><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0M1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25M11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75m-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3"/></svg> Projects
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/releases">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> Releases
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/wiki">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-book" aria-hidden="true" width="16" height="16"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.74 3.74 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574M8.755 4.75l-.004 7.322a3.75 3.75 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25"/></svg> Wiki
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/activity">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-pulse" aria-hidden="true" width="16" height="16"><path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.75.75 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.75.75 0 0 1 6 2"/></svg> Activity
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</overflow-menu>
|
||||||
|
<div class="ui tabs divider"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ui container ">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="repo-button-row">
|
||||||
|
<div class="tw-flex tw-items-center tw-gap-y-2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="module">
|
||||||
|
const data = {
|
||||||
|
'textReleaseCompare': "Compare",
|
||||||
|
'textCreateTag': "Create tag \u003cstrong\u003e%s\u003c/strong\u003e",
|
||||||
|
'textCreateBranch': "Create branch \u003cstrong\u003e%s\u003c/strong\u003e",
|
||||||
|
'textCreateBranchFrom': "from \"%s\"",
|
||||||
|
'textBranches': "Branches",
|
||||||
|
'textTags': "Tags",
|
||||||
|
'textDefaultBranchLabel': "default",
|
||||||
|
|
||||||
|
'mode': 'branches',
|
||||||
|
'showBranchesInDropdown': true ,
|
||||||
|
'searchFieldPlaceholder': 'Filter branch or tag...',
|
||||||
|
'branchForm': null ,
|
||||||
|
'disableCreateBranch': true ,
|
||||||
|
'setAction': null ,
|
||||||
|
'submitForm': null ,
|
||||||
|
'viewType': "branch",
|
||||||
|
'refName': "main",
|
||||||
|
'commitIdShort': "7f8bc5317d",
|
||||||
|
'tagName': "",
|
||||||
|
'branchName': "main",
|
||||||
|
'noTag': null ,
|
||||||
|
'defaultSelectedRefName': "main",
|
||||||
|
'repoDefaultBranch': "main",
|
||||||
|
'enableFeed': true ,
|
||||||
|
'rssURLPrefix': '\/geir\/scheme/rss/branch/',
|
||||||
|
'branchURLPrefix': '\/geir\/scheme/src/branch/',
|
||||||
|
'branchURLSuffix': '/.gitignore',
|
||||||
|
'tagURLPrefix': '\/geir\/scheme/src/tag/',
|
||||||
|
'tagURLSuffix': '/.gitignore',
|
||||||
|
'repoLink': "/geir/scheme",
|
||||||
|
'treePath': ".gitignore",
|
||||||
|
'branchNameSubURL': "branch/main",
|
||||||
|
'noResults': "No results found.",
|
||||||
|
};
|
||||||
|
|
||||||
|
window.config.pageData.branchDropdownDataList = window.config.pageData.branchDropdownDataList || [];
|
||||||
|
window.config.pageData.branchDropdownDataList.push(data);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="js-branch-tag-selector tw-mr-1">
|
||||||
|
|
||||||
|
<div class="ui dropdown custom">
|
||||||
|
<button class="branch-dropdown-button gt-ellipsis ui basic small compact button tw-flex tw-m-0">
|
||||||
|
<span class="text tw-flex tw-items-center tw-mr-1">
|
||||||
|
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg>
|
||||||
|
|
||||||
|
<strong ref="dropdownRefName" class="tw-ml-2">main</strong>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
<svg viewBox="0 0 16 16" class="dropdown icon svg octicon-triangle-down" aria-hidden="true" width="14" height="14"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="new-pull-request" role="button" class="ui compact basic button" href="/geir/scheme/compare/main...main"
|
||||||
|
data-tooltip-content="Compare">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="breadcrumb repo-path tw-ml-1">
|
||||||
|
<a class="section" href="/geir/scheme/src/branch/main" title="scheme">scheme</a><span class="breadcrumb-divider">/</span><span class="active section" title=".gitignore">.gitignore</span></span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="tw-flex tw-items-center">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab-size-4 non-diff-file-content">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="repo-file-commit-box" class="ui segment list-header tw-mb-4 tw-flex tw-justify-between">
|
||||||
|
<div class="latest-commit">
|
||||||
|
|
||||||
|
|
||||||
|
<img class="ui avatar tw-align-middle tw-mr-1" src="/avatars/4cd3115db424095e4f0ad9a444686275?size=48" title="Geir Okkenhaug Jerstad" width="24" height="24"/>
|
||||||
|
|
||||||
|
<a class="muted author-wrapper" title="Geir Okkenhaug Jerstad" href="/geir"><strong>Geir Okkenhaug Jerstad</strong></a>
|
||||||
|
|
||||||
|
|
||||||
|
<a rel="nofollow" class="ui sha label " href="/geir/scheme/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58">
|
||||||
|
<span class="shortsha">7f8bc5317d</span>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="grey commit-summary" title="Initial commit"><span class="message-wrapper"><a href="/geir/scheme/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58" class="default-link muted">Initial commit</a></span>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="text grey age">
|
||||||
|
<relative-time prefix="" tense="past" datetime="2024-08-18T09:34:45+02:00" data-tooltip-content data-tooltip-interactive="true">2024-08-18 09:34:45 +02:00</relative-time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="file-header ui top attached header tw-flex tw-items-center tw-justify-between tw-flex-wrap">
|
||||||
|
<div class="file-header-left tw-flex tw-items-center tw-py-2 tw-pr-4">
|
||||||
|
|
||||||
|
<div class="file-info text grey normal tw-font-mono">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="file-info-entry">
|
||||||
|
10 lines
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="file-info-entry">
|
||||||
|
59 B
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="file-info-entry">
|
||||||
|
Plaintext
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="file-header-right file-actions tw-flex tw-items-center tw-flex-wrap">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui buttons tw-mr-1">
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/raw/branch/main/.gitignore">Raw</a>
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/src/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58/.gitignore">Permalink</a>
|
||||||
|
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/blame/branch/main/.gitignore">Blame</a>
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/commits/branch/main/.gitignore">History</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a download href="/geir/scheme/raw/branch/main/.gitignore"><span class="btn-octicon" data-tooltip-content="Download file"><svg viewBox="0 0 16 16" class="svg octicon-download" aria-hidden="true" width="16" height="16"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"/><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06z"/></svg></span></a>
|
||||||
|
<a href="#" id="copy-content" class="btn-octicon " data-tooltip-content="Copy content"><svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg></a>
|
||||||
|
|
||||||
|
|
||||||
|
<a class="btn-octicon" href="/geir/scheme/rss/branch/main/.gitignore" data-tooltip-content="RSS feed">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="14" height="14"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="btn-octicon disabled" data-tooltip-content="You must fork this repository to make or propose changes to this file."><svg viewBox="0 0 16 16" class="svg octicon-pencil" aria-hidden="true" width="16" height="16"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.25.25 0 0 0-.064.108l-.558 1.953 1.953-.558a.25.25 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"/></svg></span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="btn-octicon disabled" data-tooltip-content="You must have write access to make or propose changes to this file."><svg viewBox="0 0 16 16" class="svg octicon-trash" aria-hidden="true" width="16" height="16"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75M4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.75 1.75 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15M6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25"/></svg></span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="ui bottom attached table unstackable segment">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="file-view code-view">
|
||||||
|
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tbody>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L1" class="lines-num"><span id="L1" data-line-number="1"></span></td>
|
||||||
|
|
||||||
|
<td rel="L1" class="lines-code chroma"><code class="code-inner"># ---> Scheme
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L2" class="lines-num"><span id="L2" data-line-number="2"></span></td>
|
||||||
|
|
||||||
|
<td rel="L2" class="lines-code chroma"><code class="code-inner">*.ss~
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L3" class="lines-num"><span id="L3" data-line-number="3"></span></td>
|
||||||
|
|
||||||
|
<td rel="L3" class="lines-code chroma"><code class="code-inner">*.ss#*
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L4" class="lines-num"><span id="L4" data-line-number="4"></span></td>
|
||||||
|
|
||||||
|
<td rel="L4" class="lines-code chroma"><code class="code-inner">.#*.ss
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L5" class="lines-num"><span id="L5" data-line-number="5"></span></td>
|
||||||
|
|
||||||
|
<td rel="L5" class="lines-code chroma"><code class="code-inner">
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L6" class="lines-num"><span id="L6" data-line-number="6"></span></td>
|
||||||
|
|
||||||
|
<td rel="L6" class="lines-code chroma"><code class="code-inner">*.scm~
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L7" class="lines-num"><span id="L7" data-line-number="7"></span></td>
|
||||||
|
|
||||||
|
<td rel="L7" class="lines-code chroma"><code class="code-inner">*.scm#*
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L8" class="lines-num"><span id="L8" data-line-number="8"></span></td>
|
||||||
|
|
||||||
|
<td rel="L8" class="lines-code chroma"><code class="code-inner">.#*.scm
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td id="L9" class="lines-num"><span id="L9" data-line-number="9"></span></td>
|
||||||
|
|
||||||
|
<td rel="L9" class="lines-code chroma"><code class="code-inner">
|
||||||
|
</code></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<div class="code-line-menu tippy-target">
|
||||||
|
|
||||||
|
<a class="item ref-in-new-issue" role="menuitem" data-url-issue-new="/geir/scheme/issues/new" data-url-param-body-link="/geir/scheme/src/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58/.gitignore" rel="nofollow noindex">Reference in a new issue</a>
|
||||||
|
|
||||||
|
<a class="item view_git_blame" role="menuitem" href="/geir/scheme/blame/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58/.gitignore">View git blame</a>
|
||||||
|
<a class="item copy-line-permalink" role="menuitem" data-url="/geir/scheme/src/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58/.gitignore">Copy permalink</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="page-footer" role="group" aria-label="Footer">
|
||||||
|
<div class="left-links" role="contentinfo" aria-label="About this software">
|
||||||
|
<a target="_blank" rel="noopener noreferrer" href="https://forgejo.org">Powered by Forgejo</a>
|
||||||
|
|
||||||
|
Version:
|
||||||
|
|
||||||
|
7.0.7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Page: <strong>71ms</strong>
|
||||||
|
Template: <strong>4ms</strong>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-links" role="group" aria-label="Links">
|
||||||
|
<div class="ui dropdown upward language">
|
||||||
|
<span class="flex-text-inline"><svg viewBox="0 0 16 16" class="svg octicon-globe" aria-hidden="true" width="14" height="14"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M5.78 8.75a9.64 9.64 0 0 0 1.363 4.177q.383.64.857 1.215c.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a10 10 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.51 6.51 0 0 0 4.666 5.5q-.184-.271-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948m-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948q.18-.295.353-.552a6.51 6.51 0 0 0-4.666 5.5m10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948q-.18.296-.353.552a6.51 6.51 0 0 0 4.666-5.5Zm2.733-1.5a6.51 6.51 0 0 0-4.666-5.5q.184.272.353.552c.714 1.192 1.436 2.874 1.58 4.948Z"/></svg> English</span>
|
||||||
|
<div class="menu language-menu">
|
||||||
|
|
||||||
|
<a lang="id-ID" data-url="/?lang=id-ID" class="item ">Bahasa Indonesia</a>
|
||||||
|
|
||||||
|
<a lang="de-DE" data-url="/?lang=de-DE" class="item ">Deutsch</a>
|
||||||
|
|
||||||
|
<a lang="en-US" data-url="/?lang=en-US" class="item active selected">English</a>
|
||||||
|
|
||||||
|
<a lang="es-ES" data-url="/?lang=es-ES" class="item ">Español</a>
|
||||||
|
|
||||||
|
<a lang="eo" data-url="/?lang=eo" class="item ">Esperanto</a>
|
||||||
|
|
||||||
|
<a lang="fil" data-url="/?lang=fil" class="item ">Filipino</a>
|
||||||
|
|
||||||
|
<a lang="fr-FR" data-url="/?lang=fr-FR" class="item ">Français</a>
|
||||||
|
|
||||||
|
<a lang="it-IT" data-url="/?lang=it-IT" class="item ">Italiano</a>
|
||||||
|
|
||||||
|
<a lang="lv-LV" data-url="/?lang=lv-LV" class="item ">Latviešu</a>
|
||||||
|
|
||||||
|
<a lang="hu-HU" data-url="/?lang=hu-HU" class="item ">Magyar nyelv</a>
|
||||||
|
|
||||||
|
<a lang="nl-NL" data-url="/?lang=nl-NL" class="item ">Nederlands</a>
|
||||||
|
|
||||||
|
<a lang="pl-PL" data-url="/?lang=pl-PL" class="item ">Polski</a>
|
||||||
|
|
||||||
|
<a lang="pt-PT" data-url="/?lang=pt-PT" class="item ">Português de Portugal</a>
|
||||||
|
|
||||||
|
<a lang="pt-BR" data-url="/?lang=pt-BR" class="item ">Português do Brasil</a>
|
||||||
|
|
||||||
|
<a lang="sl" data-url="/?lang=sl" class="item ">Slovenščina</a>
|
||||||
|
|
||||||
|
<a lang="fi-FI" data-url="/?lang=fi-FI" class="item ">Suomi</a>
|
||||||
|
|
||||||
|
<a lang="sv-SE" data-url="/?lang=sv-SE" class="item ">Svenska</a>
|
||||||
|
|
||||||
|
<a lang="tr-TR" data-url="/?lang=tr-TR" class="item ">Türkçe</a>
|
||||||
|
|
||||||
|
<a lang="cs-CZ" data-url="/?lang=cs-CZ" class="item ">Čeština</a>
|
||||||
|
|
||||||
|
<a lang="el-GR" data-url="/?lang=el-GR" class="item ">Ελληνικά</a>
|
||||||
|
|
||||||
|
<a lang="bg" data-url="/?lang=bg" class="item ">Български</a>
|
||||||
|
|
||||||
|
<a lang="ru-RU" data-url="/?lang=ru-RU" class="item ">Русский</a>
|
||||||
|
|
||||||
|
<a lang="uk-UA" data-url="/?lang=uk-UA" class="item ">Українська</a>
|
||||||
|
|
||||||
|
<a lang="fa-IR" data-url="/?lang=fa-IR" class="item ">فارسی</a>
|
||||||
|
|
||||||
|
<a lang="ja-JP" data-url="/?lang=ja-JP" class="item ">日本語</a>
|
||||||
|
|
||||||
|
<a lang="zh-CN" data-url="/?lang=zh-CN" class="item ">简体中文</a>
|
||||||
|
|
||||||
|
<a lang="zh-TW" data-url="/?lang=zh-TW" class="item ">繁體中文(台灣)</a>
|
||||||
|
|
||||||
|
<a lang="zh-HK" data-url="/?lang=zh-HK" class="item ">繁體中文(香港)</a>
|
||||||
|
|
||||||
|
<a lang="ko-KR" data-url="/?lang=ko-KR" class="item ">한국어</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a href="/assets/licenses.txt">Licenses</a>
|
||||||
|
<a href="/api/swagger">API</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/assets/js/index.js?v=7.0.7" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
645
README.md
645
README.md
|
@ -1,2 +1,645 @@
|
||||||
# scheme
|
<!DOCTYPE html>
|
||||||
|
<html lang="en-US" data-theme="forgejo-auto">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
|
<title>scheme/README.md at main - geir/scheme - Forgejo: Beyond coding. We Forge.</title>
|
||||||
|
<link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiRm9yZ2VqbzogQmV5b25kIGNvZGluZy4gV2UgRm9yZ2UuIiwic2hvcnRfbmFtZSI6IkZvcmdlam86IEJleW9uZCBjb2RpbmcuIFdlIEZvcmdlLiIsInN0YXJ0X3VybCI6Imh0dHA6Ly9hcHBzOjMwMDAvIiwiaWNvbnMiOlt7InNyYyI6Imh0dHA6Ly9hcHBzOjMwMDAvYXNzZXRzL2ltZy9sb2dvLnBuZyIsInR5cGUiOiJpbWFnZS9wbmciLCJzaXplcyI6IjUxMng1MTIifSx7InNyYyI6Imh0dHA6Ly9hcHBzOjMwMDAvYXNzZXRzL2ltZy9sb2dvLnN2ZyIsInR5cGUiOiJpbWFnZS9zdmcreG1sIiwic2l6ZXMiOiI1MTJ4NTEyIn1dfQ==">
|
||||||
|
<meta name="author" content="geir">
|
||||||
|
<meta name="description" content="scheme">
|
||||||
|
<meta name="keywords" content="git,forge,forgejo">
|
||||||
|
<meta name="referrer" content="no-referrer">
|
||||||
|
|
||||||
|
|
||||||
|
<link rel="alternate" type="application/atom+xml" title="" href="/geir/scheme.atom">
|
||||||
|
<link rel="alternate" type="application/rss+xml" title="" href="/geir/scheme.rss">
|
||||||
|
|
||||||
|
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
|
||||||
|
<link rel="alternate icon" href="/assets/img/favicon.png" type="image/png">
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
|
window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
|
window.config = {
|
||||||
|
appUrl: 'http:\/\/apps:3000\/',
|
||||||
|
appSubUrl: '',
|
||||||
|
assetVersionEncoded: encodeURIComponent('7.0.7'),
|
||||||
|
assetUrlPrefix: '\/assets',
|
||||||
|
runModeIsProd: true ,
|
||||||
|
customEmojis: {"codeberg":":codeberg:","forgejo":":forgejo:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"},
|
||||||
|
csrfToken: 'Dx9HQD1gAggly3GvsRZyjkwN7UA6MTcyMzk2Njk0OTQ2MzA3MDM0Mg',
|
||||||
|
pageData: {},
|
||||||
|
notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000},
|
||||||
|
enableTimeTracking: true ,
|
||||||
|
|
||||||
|
mermaidMaxSourceCharacters: 5000 ,
|
||||||
|
|
||||||
|
i18n: {
|
||||||
|
copy_success: "Copied!",
|
||||||
|
copy_error: "Copy failed",
|
||||||
|
error_occurred: "An error occurred",
|
||||||
|
network_error: "Network error",
|
||||||
|
remove_label_str: "Remove item \"%s\"",
|
||||||
|
modal_confirm: "Confirm",
|
||||||
|
modal_cancel: "Cancel",
|
||||||
|
more_items: "More items",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
window.config.pageData = window.config.pageData || {};
|
||||||
|
</script>
|
||||||
|
<script src="/assets/js/webcomponents.js?v=7.0.7"></script>
|
||||||
|
|
||||||
|
<noscript>
|
||||||
|
<style>
|
||||||
|
.dropdown:hover > .menu { display: block; }
|
||||||
|
.ui.secondary.menu .dropdown.item > .menu { margin-top: 0; }
|
||||||
|
</style>
|
||||||
|
</noscript>
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:title" content="scheme/README.md at main">
|
||||||
|
<meta property="og:url" content="http://apps:3000//geir/scheme/src/branch/main/README.md">
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:type" content="object">
|
||||||
|
|
||||||
|
<meta property="og:image" content="http://apps:3000/avatars/4cd3115db424095e4f0ad9a444686275">
|
||||||
|
|
||||||
|
|
||||||
|
<meta property="og:site_name" content="Forgejo: Beyond coding. We Forge.">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="/assets/css/index.css?v=7.0.7">
|
||||||
|
<link rel="stylesheet" href="/assets/css/theme-forgejo-auto.css?v=7.0.7">
|
||||||
|
|
||||||
|
|
||||||
|
</head>
|
||||||
|
<body hx-headers='{"x-csrf-token": "Dx9HQD1gAggly3GvsRZyjkwN7UA6MTcyMzk2Njk0OTQ2MzA3MDM0Mg"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false">
|
||||||
|
|
||||||
|
|
||||||
|
<div class="full height">
|
||||||
|
<noscript>This website requires JavaScript.</noscript>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<nav id="navbar" aria-label="Navigation bar">
|
||||||
|
<div class="navbar-left ui secondary menu">
|
||||||
|
|
||||||
|
<a class="item" id="navbar-logo" href="/" aria-label="Home">
|
||||||
|
<img width="30" height="30" src="/assets/img/logo.svg" alt="Logo" aria-hidden="true">
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui secondary menu item navbar-mobile-right only-mobile">
|
||||||
|
|
||||||
|
<button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Toggle menu"><svg viewBox="0 0 16 16" class="svg octicon-three-bars" aria-hidden="true" width="16" height="16"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75m0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75M1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5"/></svg></button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/explore/repos">Explore</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" target="_blank" rel="noopener noreferrer" href="https://forgejo.org/docs/latest/">Help</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="navbar-right ui secondary menu">
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" rel="nofollow" href="/user/login?redirect_to=%2fgeir%2fscheme%2fsrc%2fbranch%2fmain%2fREADME.md">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-sign-in" aria-hidden="true" width="16" height="16"><path d="M2 2.75C2 1.784 2.784 1 3.75 1h2.5a.75.75 0 0 1 0 1.5h-2.5a.25.25 0 0 0-.25.25v10.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 0 1.5h-2.5A1.75 1.75 0 0 1 2 13.25Zm6.56 4.5h5.69a.75.75 0 0 1 0 1.5H8.56l1.97 1.97a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L6.22 8.53a.75.75 0 0 1 0-1.06l3.25-3.25a.749.749 0 0 1 1.275.326.75.75 0 0 1-.215.734Z"/></svg> Sign In
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div role="main" aria-label="scheme/README.md at main" class="page-content repository file list ">
|
||||||
|
<div class="secondary-nav">
|
||||||
|
|
||||||
|
<div class="ui container">
|
||||||
|
<div class="repo-header">
|
||||||
|
<div class="flex-item tw-items-center">
|
||||||
|
<div class="flex-item-leading">
|
||||||
|
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-repo" aria-hidden="true" width="24" height="24"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="flex-item-main">
|
||||||
|
<div class="flex-item-title gt-font-18">
|
||||||
|
<a class="muted gt-font-normal" href="/geir">geir</a>/<a class="muted" href="/geir/scheme">scheme</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-item-trailing">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="repo-buttons">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="ui compact small basic button" href="/geir/scheme.rss" data-tooltip-content="RSS feed">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="16" height="16"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<form hx-boost="true" hx-target="this" method="post" action="/geir/scheme/action/watch">
|
||||||
|
<div class="ui labeled button" data-tooltip-content="Sign in to watch this repository.">
|
||||||
|
<button type="submit" class="ui compact small basic button" disabled>
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-eye" aria-hidden="true" width="16" height="16"><path d="M8 2c1.981 0 3.671.992 4.933 2.078 1.27 1.091 2.187 2.345 2.637 3.023a1.62 1.62 0 0 1 0 1.798c-.45.678-1.367 1.932-2.637 3.023C11.67 13.008 9.981 14 8 14s-3.671-.992-4.933-2.078C1.797 10.83.88 9.576.43 8.898a1.62 1.62 0 0 1 0-1.798c.45-.677 1.367-1.931 2.637-3.022C4.33 2.992 6.019 2 8 2M1.679 7.932a.12.12 0 0 0 0 .136c.411.622 1.241 1.75 2.366 2.717C5.176 11.758 6.527 12.5 8 12.5s2.825-.742 3.955-1.715c1.124-.967 1.954-2.096 2.366-2.717a.12.12 0 0 0 0-.136c-.412-.621-1.242-1.75-2.366-2.717C10.824 4.242 9.473 3.5 8 3.5s-2.825.742-3.955 1.715c-1.124.967-1.954 2.096-2.366 2.717M8 10a2 2 0 1 1-.001-3.999A2 2 0 0 1 8 10"/></svg><span class="text not-mobile">Watch</span>
|
||||||
|
|
||||||
|
</button>
|
||||||
|
<a hx-boost="false" class="ui basic label" href="/geir/scheme/watchers">
|
||||||
|
1
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
<form hx-boost="true" hx-target="this" method="post" action="/geir/scheme/action/star">
|
||||||
|
<div class="ui labeled button" data-tooltip-content="Sign in to star this repository.">
|
||||||
|
<button type="submit" class="ui compact small basic button" disabled>
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-star" aria-hidden="true" width="16" height="16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25m0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41z"/></svg><span class="text not-mobile">Star</span>
|
||||||
|
|
||||||
|
</button>
|
||||||
|
<a hx-boost="false" class="ui basic label" href="/geir/scheme/stars">
|
||||||
|
0
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui labeled button
|
||||||
|
|
||||||
|
disabled
|
||||||
|
"
|
||||||
|
|
||||||
|
data-tooltip-content="Sign in to fork this repository."
|
||||||
|
|
||||||
|
>
|
||||||
|
<a class="ui compact small basic button"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
>
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-repo-forked" aria-hidden="true" width="16" height="16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0M5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0m6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5m-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0"/></svg><span class="text not-mobile">Fork</span>
|
||||||
|
</a>
|
||||||
|
<div class="ui small modal" id="fork-repo-modal">
|
||||||
|
<div class="header">
|
||||||
|
You've already forked scheme
|
||||||
|
</div>
|
||||||
|
<div class="content tw-text-left">
|
||||||
|
<div class="ui list">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a class="ui basic label" href="/geir/scheme/forks">
|
||||||
|
0
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<overflow-menu class="ui container secondary pointing tabular top attached borderless menu tw-pt-0 tw-my-0">
|
||||||
|
|
||||||
|
<div class="overflow-menu-items">
|
||||||
|
|
||||||
|
<a class="active item" href="/geir/scheme">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> Code
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/issues">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-issue-opened" aria-hidden="true" width="16" height="16"><path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"/><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0"/></svg> Issues
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/pulls">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg> Pull requests
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/actions">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-play" aria-hidden="true" width="16" height="16"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0m4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215"/></svg> Actions
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/geir/scheme/packages" class="item">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-package" aria-hidden="true" width="16" height="16"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0M7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.25.25 0 0 0-.25 0M2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"/></svg> Packages
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a href="/geir/scheme/projects" class="item">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-project" aria-hidden="true" width="16" height="16"><path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0M1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25M11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75m-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3"/></svg> Projects
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/releases">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> Releases
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/wiki">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-book" aria-hidden="true" width="16" height="16"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.74 3.74 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574M8.755 4.75l-.004 7.322a3.75 3.75 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25"/></svg> Wiki
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a class="item" href="/geir/scheme/activity">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-pulse" aria-hidden="true" width="16" height="16"><path d="M6 2c.306 0 .582.187.696.471L10 10.731l1.304-3.26A.75.75 0 0 1 12 7h3.25a.75.75 0 0 1 0 1.5h-2.742l-1.812 4.528a.751.751 0 0 1-1.392 0L6 4.77 4.696 8.03A.75.75 0 0 1 4 8.5H.75a.75.75 0 0 1 0-1.5h2.742l1.812-4.529A.75.75 0 0 1 6 2"/></svg> Activity
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</overflow-menu>
|
||||||
|
<div class="ui tabs divider"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="ui container ">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="repo-button-row">
|
||||||
|
<div class="tw-flex tw-items-center tw-gap-y-2">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script type="module">
|
||||||
|
const data = {
|
||||||
|
'textReleaseCompare': "Compare",
|
||||||
|
'textCreateTag': "Create tag \u003cstrong\u003e%s\u003c/strong\u003e",
|
||||||
|
'textCreateBranch': "Create branch \u003cstrong\u003e%s\u003c/strong\u003e",
|
||||||
|
'textCreateBranchFrom': "from \"%s\"",
|
||||||
|
'textBranches': "Branches",
|
||||||
|
'textTags': "Tags",
|
||||||
|
'textDefaultBranchLabel': "default",
|
||||||
|
|
||||||
|
'mode': 'branches',
|
||||||
|
'showBranchesInDropdown': true ,
|
||||||
|
'searchFieldPlaceholder': 'Filter branch or tag...',
|
||||||
|
'branchForm': null ,
|
||||||
|
'disableCreateBranch': true ,
|
||||||
|
'setAction': null ,
|
||||||
|
'submitForm': null ,
|
||||||
|
'viewType': "branch",
|
||||||
|
'refName': "main",
|
||||||
|
'commitIdShort': "7f8bc5317d",
|
||||||
|
'tagName': "",
|
||||||
|
'branchName': "main",
|
||||||
|
'noTag': null ,
|
||||||
|
'defaultSelectedRefName': "main",
|
||||||
|
'repoDefaultBranch': "main",
|
||||||
|
'enableFeed': true ,
|
||||||
|
'rssURLPrefix': '\/geir\/scheme/rss/branch/',
|
||||||
|
'branchURLPrefix': '\/geir\/scheme/src/branch/',
|
||||||
|
'branchURLSuffix': '/README.md',
|
||||||
|
'tagURLPrefix': '\/geir\/scheme/src/tag/',
|
||||||
|
'tagURLSuffix': '/README.md',
|
||||||
|
'repoLink': "/geir/scheme",
|
||||||
|
'treePath': "README.md",
|
||||||
|
'branchNameSubURL': "branch/main",
|
||||||
|
'noResults': "No results found.",
|
||||||
|
};
|
||||||
|
|
||||||
|
window.config.pageData.branchDropdownDataList = window.config.pageData.branchDropdownDataList || [];
|
||||||
|
window.config.pageData.branchDropdownDataList.push(data);
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="js-branch-tag-selector tw-mr-1">
|
||||||
|
|
||||||
|
<div class="ui dropdown custom">
|
||||||
|
<button class="branch-dropdown-button gt-ellipsis ui basic small compact button tw-flex tw-m-0">
|
||||||
|
<span class="text tw-flex tw-items-center tw-mr-1">
|
||||||
|
|
||||||
|
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg>
|
||||||
|
|
||||||
|
<strong ref="dropdownRefName" class="tw-ml-2">main</strong>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
<svg viewBox="0 0 16 16" class="dropdown icon svg octicon-triangle-down" aria-hidden="true" width="14" height="14"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<a id="new-pull-request" role="button" class="ui compact basic button" href="/geir/scheme/compare/main...main"
|
||||||
|
data-tooltip-content="Compare">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="breadcrumb repo-path tw-ml-1">
|
||||||
|
<a class="section" href="/geir/scheme/src/branch/main" title="scheme">scheme</a><span class="breadcrumb-divider">/</span><span class="active section" title="README.md">README.md</span></span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="tw-flex tw-items-center">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="tab-size-4 non-diff-file-content">
|
||||||
|
|
||||||
|
|
||||||
|
<div id="repo-file-commit-box" class="ui segment list-header tw-mb-4 tw-flex tw-justify-between">
|
||||||
|
<div class="latest-commit">
|
||||||
|
|
||||||
|
|
||||||
|
<img class="ui avatar tw-align-middle tw-mr-1" src="/avatars/4cd3115db424095e4f0ad9a444686275?size=48" title="Geir Okkenhaug Jerstad" width="24" height="24"/>
|
||||||
|
|
||||||
|
<a class="muted author-wrapper" title="Geir Okkenhaug Jerstad" href="/geir"><strong>Geir Okkenhaug Jerstad</strong></a>
|
||||||
|
|
||||||
|
|
||||||
|
<a rel="nofollow" class="ui sha label " href="/geir/scheme/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58">
|
||||||
|
<span class="shortsha">7f8bc5317d</span>
|
||||||
|
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="grey commit-summary" title="Initial commit"><span class="message-wrapper"><a href="/geir/scheme/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58" class="default-link muted">Initial commit</a></span>
|
||||||
|
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="text grey age">
|
||||||
|
<relative-time prefix="" tense="past" datetime="2024-08-18T09:34:45+02:00" data-tooltip-content data-tooltip-interactive="true">2024-08-18 09:34:45 +02:00</relative-time>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<h4 class="file-header ui top attached header tw-flex tw-items-center tw-justify-between tw-flex-wrap">
|
||||||
|
<div class="file-header-left tw-flex tw-items-center tw-py-2 tw-pr-4">
|
||||||
|
|
||||||
|
<div class="file-info text grey normal tw-font-mono">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="file-info-entry">
|
||||||
|
10 B
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="file-header-right file-actions tw-flex tw-items-center tw-flex-wrap">
|
||||||
|
|
||||||
|
<div class="ui compact icon buttons">
|
||||||
|
<a href="?display=source" class="ui mini basic button " data-tooltip-content="View source"><svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="15" height="15"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg></a>
|
||||||
|
<a href="/geir/scheme/src/branch/main/README.md" class="ui mini basic button active" data-tooltip-content="View rendered"><svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="15" height="15"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="ui buttons tw-mr-1">
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/raw/branch/main/README.md">Raw</a>
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/src/commit/7f8bc5317decec4428d4d21b809c1a4cb83acc58/README.md">Permalink</a>
|
||||||
|
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/blame/branch/main/README.md">Blame</a>
|
||||||
|
|
||||||
|
<a class="ui mini basic button" href="/geir/scheme/commits/branch/main/README.md">History</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<a download href="/geir/scheme/raw/branch/main/README.md"><span class="btn-octicon" data-tooltip-content="Download file"><svg viewBox="0 0 16 16" class="svg octicon-download" aria-hidden="true" width="16" height="16"><path d="M2.75 14A1.75 1.75 0 0 1 1 12.25v-2.5a.75.75 0 0 1 1.5 0v2.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25v-2.5a.75.75 0 0 1 1.5 0v2.5A1.75 1.75 0 0 1 13.25 14Z"/><path d="M7.25 7.689V2a.75.75 0 0 1 1.5 0v5.689l1.97-1.969a.749.749 0 1 1 1.06 1.06l-3.25 3.25a.75.75 0 0 1-1.06 0L4.22 6.78a.749.749 0 1 1 1.06-1.06z"/></svg></span></a>
|
||||||
|
<a href="#" id="copy-content" class="btn-octicon " data-link="/geir/scheme/raw/branch/main/README.md" data-tooltip-content="Copy content"><svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg></a>
|
||||||
|
|
||||||
|
|
||||||
|
<a class="btn-octicon" href="/geir/scheme/rss/branch/main/README.md" data-tooltip-content="RSS feed">
|
||||||
|
<svg viewBox="0 0 16 16" class="svg octicon-rss" aria-hidden="true" width="14" height="14"><path d="M2.002 2.725a.75.75 0 0 1 .797-.699C8.79 2.42 13.58 7.21 13.974 13.201a.75.75 0 0 1-1.497.098 10.5 10.5 0 0 0-9.776-9.776.747.747 0 0 1-.7-.798ZM2.84 7.05h-.002a7 7 0 0 1 6.113 6.111.75.75 0 0 1-1.49.178 5.5 5.5 0 0 0-4.8-4.8.75.75 0 0 1 .179-1.489M2 13a1 1 0 1 1 2 0 1 1 0 0 1-2 0"/></svg>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<span class="btn-octicon disabled" data-tooltip-content="You must fork this repository to make or propose changes to this file."><svg viewBox="0 0 16 16" class="svg octicon-pencil" aria-hidden="true" width="16" height="16"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.25.25 0 0 0-.064.108l-.558 1.953 1.953-.558a.25.25 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"/></svg></span>
|
||||||
|
|
||||||
|
|
||||||
|
<span class="btn-octicon disabled" data-tooltip-content="You must have write access to make or propose changes to this file."><svg viewBox="0 0 16 16" class="svg octicon-trash" aria-hidden="true" width="16" height="16"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75M4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.75 1.75 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15M6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25"/></svg></span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</h4>
|
||||||
|
<div class="ui bottom attached table unstackable segment">
|
||||||
|
|
||||||
|
<div class="file-view markup markdown">
|
||||||
|
|
||||||
|
<h1 id="user-content-scheme" dir="auto">scheme</h1>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<footer class="page-footer" role="group" aria-label="Footer">
|
||||||
|
<div class="left-links" role="contentinfo" aria-label="About this software">
|
||||||
|
<a target="_blank" rel="noopener noreferrer" href="https://forgejo.org">Powered by Forgejo</a>
|
||||||
|
|
||||||
|
Version:
|
||||||
|
|
||||||
|
7.0.7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Page: <strong>28ms</strong>
|
||||||
|
Template: <strong>4ms</strong>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="right-links" role="group" aria-label="Links">
|
||||||
|
<div class="ui dropdown upward language">
|
||||||
|
<span class="flex-text-inline"><svg viewBox="0 0 16 16" class="svg octicon-globe" aria-hidden="true" width="14" height="14"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M5.78 8.75a9.64 9.64 0 0 0 1.363 4.177q.383.64.857 1.215c.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a10 10 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.51 6.51 0 0 0 4.666 5.5q-.184-.271-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948m-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948q.18-.295.353-.552a6.51 6.51 0 0 0-4.666 5.5m10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948q-.18.296-.353.552a6.51 6.51 0 0 0 4.666-5.5Zm2.733-1.5a6.51 6.51 0 0 0-4.666-5.5q.184.272.353.552c.714 1.192 1.436 2.874 1.58 4.948Z"/></svg> English</span>
|
||||||
|
<div class="menu language-menu">
|
||||||
|
|
||||||
|
<a lang="id-ID" data-url="/?lang=id-ID" class="item ">Bahasa Indonesia</a>
|
||||||
|
|
||||||
|
<a lang="de-DE" data-url="/?lang=de-DE" class="item ">Deutsch</a>
|
||||||
|
|
||||||
|
<a lang="en-US" data-url="/?lang=en-US" class="item active selected">English</a>
|
||||||
|
|
||||||
|
<a lang="es-ES" data-url="/?lang=es-ES" class="item ">Español</a>
|
||||||
|
|
||||||
|
<a lang="eo" data-url="/?lang=eo" class="item ">Esperanto</a>
|
||||||
|
|
||||||
|
<a lang="fil" data-url="/?lang=fil" class="item ">Filipino</a>
|
||||||
|
|
||||||
|
<a lang="fr-FR" data-url="/?lang=fr-FR" class="item ">Français</a>
|
||||||
|
|
||||||
|
<a lang="it-IT" data-url="/?lang=it-IT" class="item ">Italiano</a>
|
||||||
|
|
||||||
|
<a lang="lv-LV" data-url="/?lang=lv-LV" class="item ">Latviešu</a>
|
||||||
|
|
||||||
|
<a lang="hu-HU" data-url="/?lang=hu-HU" class="item ">Magyar nyelv</a>
|
||||||
|
|
||||||
|
<a lang="nl-NL" data-url="/?lang=nl-NL" class="item ">Nederlands</a>
|
||||||
|
|
||||||
|
<a lang="pl-PL" data-url="/?lang=pl-PL" class="item ">Polski</a>
|
||||||
|
|
||||||
|
<a lang="pt-PT" data-url="/?lang=pt-PT" class="item ">Português de Portugal</a>
|
||||||
|
|
||||||
|
<a lang="pt-BR" data-url="/?lang=pt-BR" class="item ">Português do Brasil</a>
|
||||||
|
|
||||||
|
<a lang="sl" data-url="/?lang=sl" class="item ">Slovenščina</a>
|
||||||
|
|
||||||
|
<a lang="fi-FI" data-url="/?lang=fi-FI" class="item ">Suomi</a>
|
||||||
|
|
||||||
|
<a lang="sv-SE" data-url="/?lang=sv-SE" class="item ">Svenska</a>
|
||||||
|
|
||||||
|
<a lang="tr-TR" data-url="/?lang=tr-TR" class="item ">Türkçe</a>
|
||||||
|
|
||||||
|
<a lang="cs-CZ" data-url="/?lang=cs-CZ" class="item ">Čeština</a>
|
||||||
|
|
||||||
|
<a lang="el-GR" data-url="/?lang=el-GR" class="item ">Ελληνικά</a>
|
||||||
|
|
||||||
|
<a lang="bg" data-url="/?lang=bg" class="item ">Български</a>
|
||||||
|
|
||||||
|
<a lang="ru-RU" data-url="/?lang=ru-RU" class="item ">Русский</a>
|
||||||
|
|
||||||
|
<a lang="uk-UA" data-url="/?lang=uk-UA" class="item ">Українська</a>
|
||||||
|
|
||||||
|
<a lang="fa-IR" data-url="/?lang=fa-IR" class="item ">فارسی</a>
|
||||||
|
|
||||||
|
<a lang="ja-JP" data-url="/?lang=ja-JP" class="item ">日本語</a>
|
||||||
|
|
||||||
|
<a lang="zh-CN" data-url="/?lang=zh-CN" class="item ">简体中文</a>
|
||||||
|
|
||||||
|
<a lang="zh-TW" data-url="/?lang=zh-TW" class="item ">繁體中文(台灣)</a>
|
||||||
|
|
||||||
|
<a lang="zh-HK" data-url="/?lang=zh-HK" class="item ">繁體中文(香港)</a>
|
||||||
|
|
||||||
|
<a lang="ko-KR" data-url="/?lang=ko-KR" class="item ">한국어</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<a href="/assets/licenses.txt">Licenses</a>
|
||||||
|
<a href="/api/swagger">API</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
|
||||||
|
|
||||||
|
<script src="/assets/js/index.js?v=7.0.7" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script>
|
||||||
|
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
|
11
hello.scm
Normal file
11
hello.scm
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
(define factorial
|
||||||
|
(lambda (x)
|
||||||
|
(if (< x 1)
|
||||||
|
1
|
||||||
|
(* x (factorial (- x 1)))
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(display "Hello World!\nFactorial of 5 is: ")
|
||||||
|
(display (factorial 5))
|
|
@ -0,0 +1,89 @@
|
||||||
|
// -*- C++ -*- compatibility header.
|
||||||
|
|
||||||
|
// Copyright (C) 2002-2023 Free Software Foundation, Inc.
|
||||||
|
//
|
||||||
|
// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
// terms of the GNU General Public License as published by the
|
||||||
|
// Free Software Foundation; either version 3, or (at your option)
|
||||||
|
// any later version.
|
||||||
|
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
|
// Under Section 7 of GPL version 3, you are granted additional
|
||||||
|
// permissions described in the GCC Runtime Library Exception, version
|
||||||
|
// 3.1, as published by the Free Software Foundation.
|
||||||
|
|
||||||
|
// You should have received a copy of the GNU General Public License and
|
||||||
|
// a copy of the GCC Runtime Library Exception along with this program;
|
||||||
|
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||||
|
// <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
/** @file stdlib.h
|
||||||
|
* This is a Standard C++ Library header.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS
|
||||||
|
# include_next <stdlib.h>
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifndef _GLIBCXX_STDLIB_H
|
||||||
|
#define _GLIBCXX_STDLIB_H 1
|
||||||
|
|
||||||
|
# include <cstdlib>
|
||||||
|
|
||||||
|
using std::abort;
|
||||||
|
using std::atexit;
|
||||||
|
using std::exit;
|
||||||
|
#if __cplusplus >= 201103L
|
||||||
|
# ifdef _GLIBCXX_HAVE_AT_QUICK_EXIT
|
||||||
|
using std::at_quick_exit;
|
||||||
|
# endif
|
||||||
|
# ifdef _GLIBCXX_HAVE_QUICK_EXIT
|
||||||
|
using std::quick_exit;
|
||||||
|
# endif
|
||||||
|
# if _GLIBCXX_USE_C99_STDLIB
|
||||||
|
using std::_Exit;
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if _GLIBCXX_HOSTED
|
||||||
|
using std::div_t;
|
||||||
|
using std::ldiv_t;
|
||||||
|
|
||||||
|
using std::abs;
|
||||||
|
using std::atof;
|
||||||
|
using std::atoi;
|
||||||
|
using std::atol;
|
||||||
|
using std::bsearch;
|
||||||
|
using std::calloc;
|
||||||
|
using std::div;
|
||||||
|
using std::free;
|
||||||
|
using std::getenv;
|
||||||
|
using std::labs;
|
||||||
|
using std::ldiv;
|
||||||
|
using std::malloc;
|
||||||
|
#ifdef _GLIBCXX_HAVE_MBSTATE_T
|
||||||
|
using std::mblen;
|
||||||
|
using std::mbstowcs;
|
||||||
|
using std::mbtowc;
|
||||||
|
#endif // _GLIBCXX_HAVE_MBSTATE_T
|
||||||
|
using std::qsort;
|
||||||
|
using std::rand;
|
||||||
|
using std::realloc;
|
||||||
|
using std::srand;
|
||||||
|
using std::strtod;
|
||||||
|
using std::strtol;
|
||||||
|
using std::strtoul;
|
||||||
|
using std::system;
|
||||||
|
#ifdef _GLIBCXX_USE_WCHAR_T
|
||||||
|
using std::wcstombs;
|
||||||
|
using std::wctomb;
|
||||||
|
#endif // _GLIBCXX_USE_WCHAR_T
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif // _GLIBCXX_STDLIB_H
|
||||||
|
#endif // __cplusplus
|
Binary file not shown.
|
@ -0,0 +1,40 @@
|
||||||
|
/* Copyright (C) 1992-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _ALLOCA_H
|
||||||
|
#define _ALLOCA_H 1
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
#define __need_size_t
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
/* Remove any previous definition. */
|
||||||
|
#undef alloca
|
||||||
|
|
||||||
|
/* Allocate a block that will be freed when the calling function exits. */
|
||||||
|
extern void *alloca (size_t __size) __THROW;
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
# define alloca(size) __builtin_alloca (size)
|
||||||
|
#endif /* GCC. */
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif /* alloca.h */
|
Binary file not shown.
|
@ -0,0 +1,35 @@
|
||||||
|
/* Monotonically increasing wide counters (at least 62 bits).
|
||||||
|
Copyright (C) 2016-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_ATOMIC_WIDE_COUNTER_H
|
||||||
|
#define _BITS_ATOMIC_WIDE_COUNTER_H
|
||||||
|
|
||||||
|
/* Counter that is monotonically increasing (by less than 2**31 per
|
||||||
|
increment), with a single writer, and an arbitrary number of
|
||||||
|
readers. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
__extension__ unsigned long long int __value64;
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
unsigned int __low;
|
||||||
|
unsigned int __high;
|
||||||
|
} __value32;
|
||||||
|
} __atomic_wide_counter;
|
||||||
|
|
||||||
|
#endif /* _BITS_ATOMIC_WIDE_COUNTER_H */
|
Binary file not shown.
|
@ -0,0 +1,79 @@
|
||||||
|
/* Macros and inline functions to swap the order of bytes in integer values.
|
||||||
|
Copyright (C) 1997-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
|
||||||
|
# error "Never use <bits/byteswap.h> directly; include <byteswap.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_BYTESWAP_H
|
||||||
|
#define _BITS_BYTESWAP_H 1
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Swap bytes in 16-bit value. */
|
||||||
|
#define __bswap_constant_16(x) \
|
||||||
|
((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
|
||||||
|
|
||||||
|
static __inline __uint16_t
|
||||||
|
__bswap_16 (__uint16_t __bsx)
|
||||||
|
{
|
||||||
|
#if __GNUC_PREREQ (4, 8)
|
||||||
|
return __builtin_bswap16 (__bsx);
|
||||||
|
#else
|
||||||
|
return __bswap_constant_16 (__bsx);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Swap bytes in 32-bit value. */
|
||||||
|
#define __bswap_constant_32(x) \
|
||||||
|
((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \
|
||||||
|
| (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
|
||||||
|
|
||||||
|
static __inline __uint32_t
|
||||||
|
__bswap_32 (__uint32_t __bsx)
|
||||||
|
{
|
||||||
|
#if __GNUC_PREREQ (4, 3)
|
||||||
|
return __builtin_bswap32 (__bsx);
|
||||||
|
#else
|
||||||
|
return __bswap_constant_32 (__bsx);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Swap bytes in 64-bit value. */
|
||||||
|
#define __bswap_constant_64(x) \
|
||||||
|
((((x) & 0xff00000000000000ull) >> 56) \
|
||||||
|
| (((x) & 0x00ff000000000000ull) >> 40) \
|
||||||
|
| (((x) & 0x0000ff0000000000ull) >> 24) \
|
||||||
|
| (((x) & 0x000000ff00000000ull) >> 8) \
|
||||||
|
| (((x) & 0x00000000ff000000ull) << 8) \
|
||||||
|
| (((x) & 0x0000000000ff0000ull) << 24) \
|
||||||
|
| (((x) & 0x000000000000ff00ull) << 40) \
|
||||||
|
| (((x) & 0x00000000000000ffull) << 56))
|
||||||
|
|
||||||
|
__extension__ static __inline __uint64_t
|
||||||
|
__bswap_64 (__uint64_t __bsx)
|
||||||
|
{
|
||||||
|
#if __GNUC_PREREQ (4, 3)
|
||||||
|
return __builtin_bswap64 (__bsx);
|
||||||
|
#else
|
||||||
|
return __bswap_constant_64 (__bsx);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _BITS_BYTESWAP_H */
|
Binary file not shown.
|
@ -0,0 +1,681 @@
|
||||||
|
/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
|
||||||
|
Copyright (C) 1993-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _UNISTD_H
|
||||||
|
# error "Never use <bits/confname.h> directly; include <unistd.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Values for the NAME argument to `pathconf' and `fpathconf'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
_PC_LINK_MAX,
|
||||||
|
#define _PC_LINK_MAX _PC_LINK_MAX
|
||||||
|
_PC_MAX_CANON,
|
||||||
|
#define _PC_MAX_CANON _PC_MAX_CANON
|
||||||
|
_PC_MAX_INPUT,
|
||||||
|
#define _PC_MAX_INPUT _PC_MAX_INPUT
|
||||||
|
_PC_NAME_MAX,
|
||||||
|
#define _PC_NAME_MAX _PC_NAME_MAX
|
||||||
|
_PC_PATH_MAX,
|
||||||
|
#define _PC_PATH_MAX _PC_PATH_MAX
|
||||||
|
_PC_PIPE_BUF,
|
||||||
|
#define _PC_PIPE_BUF _PC_PIPE_BUF
|
||||||
|
_PC_CHOWN_RESTRICTED,
|
||||||
|
#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
|
||||||
|
_PC_NO_TRUNC,
|
||||||
|
#define _PC_NO_TRUNC _PC_NO_TRUNC
|
||||||
|
_PC_VDISABLE,
|
||||||
|
#define _PC_VDISABLE _PC_VDISABLE
|
||||||
|
_PC_SYNC_IO,
|
||||||
|
#define _PC_SYNC_IO _PC_SYNC_IO
|
||||||
|
_PC_ASYNC_IO,
|
||||||
|
#define _PC_ASYNC_IO _PC_ASYNC_IO
|
||||||
|
_PC_PRIO_IO,
|
||||||
|
#define _PC_PRIO_IO _PC_PRIO_IO
|
||||||
|
_PC_SOCK_MAXBUF,
|
||||||
|
#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
|
||||||
|
_PC_FILESIZEBITS,
|
||||||
|
#define _PC_FILESIZEBITS _PC_FILESIZEBITS
|
||||||
|
_PC_REC_INCR_XFER_SIZE,
|
||||||
|
#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
|
||||||
|
_PC_REC_MAX_XFER_SIZE,
|
||||||
|
#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
|
||||||
|
_PC_REC_MIN_XFER_SIZE,
|
||||||
|
#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
|
||||||
|
_PC_REC_XFER_ALIGN,
|
||||||
|
#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
|
||||||
|
_PC_ALLOC_SIZE_MIN,
|
||||||
|
#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
|
||||||
|
_PC_SYMLINK_MAX,
|
||||||
|
#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
|
||||||
|
_PC_2_SYMLINKS
|
||||||
|
#define _PC_2_SYMLINKS _PC_2_SYMLINKS
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Values for the argument to `sysconf'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
_SC_ARG_MAX,
|
||||||
|
#define _SC_ARG_MAX _SC_ARG_MAX
|
||||||
|
_SC_CHILD_MAX,
|
||||||
|
#define _SC_CHILD_MAX _SC_CHILD_MAX
|
||||||
|
_SC_CLK_TCK,
|
||||||
|
#define _SC_CLK_TCK _SC_CLK_TCK
|
||||||
|
_SC_NGROUPS_MAX,
|
||||||
|
#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
|
||||||
|
_SC_OPEN_MAX,
|
||||||
|
#define _SC_OPEN_MAX _SC_OPEN_MAX
|
||||||
|
_SC_STREAM_MAX,
|
||||||
|
#define _SC_STREAM_MAX _SC_STREAM_MAX
|
||||||
|
_SC_TZNAME_MAX,
|
||||||
|
#define _SC_TZNAME_MAX _SC_TZNAME_MAX
|
||||||
|
_SC_JOB_CONTROL,
|
||||||
|
#define _SC_JOB_CONTROL _SC_JOB_CONTROL
|
||||||
|
_SC_SAVED_IDS,
|
||||||
|
#define _SC_SAVED_IDS _SC_SAVED_IDS
|
||||||
|
_SC_REALTIME_SIGNALS,
|
||||||
|
#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
|
||||||
|
_SC_PRIORITY_SCHEDULING,
|
||||||
|
#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
|
||||||
|
_SC_TIMERS,
|
||||||
|
#define _SC_TIMERS _SC_TIMERS
|
||||||
|
_SC_ASYNCHRONOUS_IO,
|
||||||
|
#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
|
||||||
|
_SC_PRIORITIZED_IO,
|
||||||
|
#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
|
||||||
|
_SC_SYNCHRONIZED_IO,
|
||||||
|
#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
|
||||||
|
_SC_FSYNC,
|
||||||
|
#define _SC_FSYNC _SC_FSYNC
|
||||||
|
_SC_MAPPED_FILES,
|
||||||
|
#define _SC_MAPPED_FILES _SC_MAPPED_FILES
|
||||||
|
_SC_MEMLOCK,
|
||||||
|
#define _SC_MEMLOCK _SC_MEMLOCK
|
||||||
|
_SC_MEMLOCK_RANGE,
|
||||||
|
#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
|
||||||
|
_SC_MEMORY_PROTECTION,
|
||||||
|
#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
|
||||||
|
_SC_MESSAGE_PASSING,
|
||||||
|
#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
|
||||||
|
_SC_SEMAPHORES,
|
||||||
|
#define _SC_SEMAPHORES _SC_SEMAPHORES
|
||||||
|
_SC_SHARED_MEMORY_OBJECTS,
|
||||||
|
#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
|
||||||
|
_SC_AIO_LISTIO_MAX,
|
||||||
|
#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
|
||||||
|
_SC_AIO_MAX,
|
||||||
|
#define _SC_AIO_MAX _SC_AIO_MAX
|
||||||
|
_SC_AIO_PRIO_DELTA_MAX,
|
||||||
|
#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
|
||||||
|
_SC_DELAYTIMER_MAX,
|
||||||
|
#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
|
||||||
|
_SC_MQ_OPEN_MAX,
|
||||||
|
#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
|
||||||
|
_SC_MQ_PRIO_MAX,
|
||||||
|
#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
|
||||||
|
_SC_VERSION,
|
||||||
|
#define _SC_VERSION _SC_VERSION
|
||||||
|
_SC_PAGESIZE,
|
||||||
|
#define _SC_PAGESIZE _SC_PAGESIZE
|
||||||
|
#define _SC_PAGE_SIZE _SC_PAGESIZE
|
||||||
|
_SC_RTSIG_MAX,
|
||||||
|
#define _SC_RTSIG_MAX _SC_RTSIG_MAX
|
||||||
|
_SC_SEM_NSEMS_MAX,
|
||||||
|
#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
|
||||||
|
_SC_SEM_VALUE_MAX,
|
||||||
|
#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
|
||||||
|
_SC_SIGQUEUE_MAX,
|
||||||
|
#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
|
||||||
|
_SC_TIMER_MAX,
|
||||||
|
#define _SC_TIMER_MAX _SC_TIMER_MAX
|
||||||
|
|
||||||
|
/* Values for the argument to `sysconf'
|
||||||
|
corresponding to _POSIX2_* symbols. */
|
||||||
|
_SC_BC_BASE_MAX,
|
||||||
|
#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
|
||||||
|
_SC_BC_DIM_MAX,
|
||||||
|
#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
|
||||||
|
_SC_BC_SCALE_MAX,
|
||||||
|
#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
|
||||||
|
_SC_BC_STRING_MAX,
|
||||||
|
#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
|
||||||
|
_SC_COLL_WEIGHTS_MAX,
|
||||||
|
#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
|
||||||
|
_SC_EQUIV_CLASS_MAX,
|
||||||
|
#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
|
||||||
|
_SC_EXPR_NEST_MAX,
|
||||||
|
#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
|
||||||
|
_SC_LINE_MAX,
|
||||||
|
#define _SC_LINE_MAX _SC_LINE_MAX
|
||||||
|
_SC_RE_DUP_MAX,
|
||||||
|
#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
|
||||||
|
_SC_CHARCLASS_NAME_MAX,
|
||||||
|
#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
|
||||||
|
|
||||||
|
_SC_2_VERSION,
|
||||||
|
#define _SC_2_VERSION _SC_2_VERSION
|
||||||
|
_SC_2_C_BIND,
|
||||||
|
#define _SC_2_C_BIND _SC_2_C_BIND
|
||||||
|
_SC_2_C_DEV,
|
||||||
|
#define _SC_2_C_DEV _SC_2_C_DEV
|
||||||
|
_SC_2_FORT_DEV,
|
||||||
|
#define _SC_2_FORT_DEV _SC_2_FORT_DEV
|
||||||
|
_SC_2_FORT_RUN,
|
||||||
|
#define _SC_2_FORT_RUN _SC_2_FORT_RUN
|
||||||
|
_SC_2_SW_DEV,
|
||||||
|
#define _SC_2_SW_DEV _SC_2_SW_DEV
|
||||||
|
_SC_2_LOCALEDEF,
|
||||||
|
#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
|
||||||
|
|
||||||
|
_SC_PII,
|
||||||
|
#define _SC_PII _SC_PII
|
||||||
|
_SC_PII_XTI,
|
||||||
|
#define _SC_PII_XTI _SC_PII_XTI
|
||||||
|
_SC_PII_SOCKET,
|
||||||
|
#define _SC_PII_SOCKET _SC_PII_SOCKET
|
||||||
|
_SC_PII_INTERNET,
|
||||||
|
#define _SC_PII_INTERNET _SC_PII_INTERNET
|
||||||
|
_SC_PII_OSI,
|
||||||
|
#define _SC_PII_OSI _SC_PII_OSI
|
||||||
|
_SC_POLL,
|
||||||
|
#define _SC_POLL _SC_POLL
|
||||||
|
_SC_SELECT,
|
||||||
|
#define _SC_SELECT _SC_SELECT
|
||||||
|
_SC_UIO_MAXIOV,
|
||||||
|
#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
|
||||||
|
_SC_IOV_MAX = _SC_UIO_MAXIOV,
|
||||||
|
#define _SC_IOV_MAX _SC_IOV_MAX
|
||||||
|
_SC_PII_INTERNET_STREAM,
|
||||||
|
#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
|
||||||
|
_SC_PII_INTERNET_DGRAM,
|
||||||
|
#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
|
||||||
|
_SC_PII_OSI_COTS,
|
||||||
|
#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
|
||||||
|
_SC_PII_OSI_CLTS,
|
||||||
|
#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
|
||||||
|
_SC_PII_OSI_M,
|
||||||
|
#define _SC_PII_OSI_M _SC_PII_OSI_M
|
||||||
|
_SC_T_IOV_MAX,
|
||||||
|
#define _SC_T_IOV_MAX _SC_T_IOV_MAX
|
||||||
|
|
||||||
|
/* Values according to POSIX 1003.1c (POSIX threads). */
|
||||||
|
_SC_THREADS,
|
||||||
|
#define _SC_THREADS _SC_THREADS
|
||||||
|
_SC_THREAD_SAFE_FUNCTIONS,
|
||||||
|
#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
|
||||||
|
_SC_GETGR_R_SIZE_MAX,
|
||||||
|
#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
|
||||||
|
_SC_GETPW_R_SIZE_MAX,
|
||||||
|
#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
|
||||||
|
_SC_LOGIN_NAME_MAX,
|
||||||
|
#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
|
||||||
|
_SC_TTY_NAME_MAX,
|
||||||
|
#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
|
||||||
|
_SC_THREAD_DESTRUCTOR_ITERATIONS,
|
||||||
|
#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||||
|
_SC_THREAD_KEYS_MAX,
|
||||||
|
#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
|
||||||
|
_SC_THREAD_STACK_MIN,
|
||||||
|
#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
|
||||||
|
_SC_THREAD_THREADS_MAX,
|
||||||
|
#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
|
||||||
|
_SC_THREAD_ATTR_STACKADDR,
|
||||||
|
#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
|
||||||
|
_SC_THREAD_ATTR_STACKSIZE,
|
||||||
|
#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
|
||||||
|
_SC_THREAD_PRIORITY_SCHEDULING,
|
||||||
|
#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
|
||||||
|
_SC_THREAD_PRIO_INHERIT,
|
||||||
|
#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
|
||||||
|
_SC_THREAD_PRIO_PROTECT,
|
||||||
|
#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
|
||||||
|
_SC_THREAD_PROCESS_SHARED,
|
||||||
|
#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
|
||||||
|
|
||||||
|
_SC_NPROCESSORS_CONF,
|
||||||
|
#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
|
||||||
|
_SC_NPROCESSORS_ONLN,
|
||||||
|
#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
|
||||||
|
_SC_PHYS_PAGES,
|
||||||
|
#define _SC_PHYS_PAGES _SC_PHYS_PAGES
|
||||||
|
_SC_AVPHYS_PAGES,
|
||||||
|
#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
|
||||||
|
_SC_ATEXIT_MAX,
|
||||||
|
#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
|
||||||
|
_SC_PASS_MAX,
|
||||||
|
#define _SC_PASS_MAX _SC_PASS_MAX
|
||||||
|
|
||||||
|
_SC_XOPEN_VERSION,
|
||||||
|
#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
|
||||||
|
_SC_XOPEN_XCU_VERSION,
|
||||||
|
#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
|
||||||
|
_SC_XOPEN_UNIX,
|
||||||
|
#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
|
||||||
|
_SC_XOPEN_CRYPT,
|
||||||
|
#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
|
||||||
|
_SC_XOPEN_ENH_I18N,
|
||||||
|
#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
|
||||||
|
_SC_XOPEN_SHM,
|
||||||
|
#define _SC_XOPEN_SHM _SC_XOPEN_SHM
|
||||||
|
|
||||||
|
_SC_2_CHAR_TERM,
|
||||||
|
#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
|
||||||
|
_SC_2_C_VERSION,
|
||||||
|
#define _SC_2_C_VERSION _SC_2_C_VERSION
|
||||||
|
_SC_2_UPE,
|
||||||
|
#define _SC_2_UPE _SC_2_UPE
|
||||||
|
|
||||||
|
_SC_XOPEN_XPG2,
|
||||||
|
#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
|
||||||
|
_SC_XOPEN_XPG3,
|
||||||
|
#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
|
||||||
|
_SC_XOPEN_XPG4,
|
||||||
|
#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
|
||||||
|
|
||||||
|
_SC_CHAR_BIT,
|
||||||
|
#define _SC_CHAR_BIT _SC_CHAR_BIT
|
||||||
|
_SC_CHAR_MAX,
|
||||||
|
#define _SC_CHAR_MAX _SC_CHAR_MAX
|
||||||
|
_SC_CHAR_MIN,
|
||||||
|
#define _SC_CHAR_MIN _SC_CHAR_MIN
|
||||||
|
_SC_INT_MAX,
|
||||||
|
#define _SC_INT_MAX _SC_INT_MAX
|
||||||
|
_SC_INT_MIN,
|
||||||
|
#define _SC_INT_MIN _SC_INT_MIN
|
||||||
|
_SC_LONG_BIT,
|
||||||
|
#define _SC_LONG_BIT _SC_LONG_BIT
|
||||||
|
_SC_WORD_BIT,
|
||||||
|
#define _SC_WORD_BIT _SC_WORD_BIT
|
||||||
|
_SC_MB_LEN_MAX,
|
||||||
|
#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
|
||||||
|
_SC_NZERO,
|
||||||
|
#define _SC_NZERO _SC_NZERO
|
||||||
|
_SC_SSIZE_MAX,
|
||||||
|
#define _SC_SSIZE_MAX _SC_SSIZE_MAX
|
||||||
|
_SC_SCHAR_MAX,
|
||||||
|
#define _SC_SCHAR_MAX _SC_SCHAR_MAX
|
||||||
|
_SC_SCHAR_MIN,
|
||||||
|
#define _SC_SCHAR_MIN _SC_SCHAR_MIN
|
||||||
|
_SC_SHRT_MAX,
|
||||||
|
#define _SC_SHRT_MAX _SC_SHRT_MAX
|
||||||
|
_SC_SHRT_MIN,
|
||||||
|
#define _SC_SHRT_MIN _SC_SHRT_MIN
|
||||||
|
_SC_UCHAR_MAX,
|
||||||
|
#define _SC_UCHAR_MAX _SC_UCHAR_MAX
|
||||||
|
_SC_UINT_MAX,
|
||||||
|
#define _SC_UINT_MAX _SC_UINT_MAX
|
||||||
|
_SC_ULONG_MAX,
|
||||||
|
#define _SC_ULONG_MAX _SC_ULONG_MAX
|
||||||
|
_SC_USHRT_MAX,
|
||||||
|
#define _SC_USHRT_MAX _SC_USHRT_MAX
|
||||||
|
|
||||||
|
_SC_NL_ARGMAX,
|
||||||
|
#define _SC_NL_ARGMAX _SC_NL_ARGMAX
|
||||||
|
_SC_NL_LANGMAX,
|
||||||
|
#define _SC_NL_LANGMAX _SC_NL_LANGMAX
|
||||||
|
_SC_NL_MSGMAX,
|
||||||
|
#define _SC_NL_MSGMAX _SC_NL_MSGMAX
|
||||||
|
_SC_NL_NMAX,
|
||||||
|
#define _SC_NL_NMAX _SC_NL_NMAX
|
||||||
|
_SC_NL_SETMAX,
|
||||||
|
#define _SC_NL_SETMAX _SC_NL_SETMAX
|
||||||
|
_SC_NL_TEXTMAX,
|
||||||
|
#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
|
||||||
|
|
||||||
|
_SC_XBS5_ILP32_OFF32,
|
||||||
|
#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
|
||||||
|
_SC_XBS5_ILP32_OFFBIG,
|
||||||
|
#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
|
||||||
|
_SC_XBS5_LP64_OFF64,
|
||||||
|
#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
|
||||||
|
_SC_XBS5_LPBIG_OFFBIG,
|
||||||
|
#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
|
||||||
|
|
||||||
|
_SC_XOPEN_LEGACY,
|
||||||
|
#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
|
||||||
|
_SC_XOPEN_REALTIME,
|
||||||
|
#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
|
||||||
|
_SC_XOPEN_REALTIME_THREADS,
|
||||||
|
#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
|
||||||
|
|
||||||
|
_SC_ADVISORY_INFO,
|
||||||
|
#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
|
||||||
|
_SC_BARRIERS,
|
||||||
|
#define _SC_BARRIERS _SC_BARRIERS
|
||||||
|
_SC_BASE,
|
||||||
|
#define _SC_BASE _SC_BASE
|
||||||
|
_SC_C_LANG_SUPPORT,
|
||||||
|
#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
|
||||||
|
_SC_C_LANG_SUPPORT_R,
|
||||||
|
#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
|
||||||
|
_SC_CLOCK_SELECTION,
|
||||||
|
#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
|
||||||
|
_SC_CPUTIME,
|
||||||
|
#define _SC_CPUTIME _SC_CPUTIME
|
||||||
|
_SC_THREAD_CPUTIME,
|
||||||
|
#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
|
||||||
|
_SC_DEVICE_IO,
|
||||||
|
#define _SC_DEVICE_IO _SC_DEVICE_IO
|
||||||
|
_SC_DEVICE_SPECIFIC,
|
||||||
|
#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
|
||||||
|
_SC_DEVICE_SPECIFIC_R,
|
||||||
|
#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
|
||||||
|
_SC_FD_MGMT,
|
||||||
|
#define _SC_FD_MGMT _SC_FD_MGMT
|
||||||
|
_SC_FIFO,
|
||||||
|
#define _SC_FIFO _SC_FIFO
|
||||||
|
_SC_PIPE,
|
||||||
|
#define _SC_PIPE _SC_PIPE
|
||||||
|
_SC_FILE_ATTRIBUTES,
|
||||||
|
#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
|
||||||
|
_SC_FILE_LOCKING,
|
||||||
|
#define _SC_FILE_LOCKING _SC_FILE_LOCKING
|
||||||
|
_SC_FILE_SYSTEM,
|
||||||
|
#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
|
||||||
|
_SC_MONOTONIC_CLOCK,
|
||||||
|
#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
|
||||||
|
_SC_MULTI_PROCESS,
|
||||||
|
#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
|
||||||
|
_SC_SINGLE_PROCESS,
|
||||||
|
#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
|
||||||
|
_SC_NETWORKING,
|
||||||
|
#define _SC_NETWORKING _SC_NETWORKING
|
||||||
|
_SC_READER_WRITER_LOCKS,
|
||||||
|
#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
|
||||||
|
_SC_SPIN_LOCKS,
|
||||||
|
#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
|
||||||
|
_SC_REGEXP,
|
||||||
|
#define _SC_REGEXP _SC_REGEXP
|
||||||
|
_SC_REGEX_VERSION,
|
||||||
|
#define _SC_REGEX_VERSION _SC_REGEX_VERSION
|
||||||
|
_SC_SHELL,
|
||||||
|
#define _SC_SHELL _SC_SHELL
|
||||||
|
_SC_SIGNALS,
|
||||||
|
#define _SC_SIGNALS _SC_SIGNALS
|
||||||
|
_SC_SPAWN,
|
||||||
|
#define _SC_SPAWN _SC_SPAWN
|
||||||
|
_SC_SPORADIC_SERVER,
|
||||||
|
#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
|
||||||
|
_SC_THREAD_SPORADIC_SERVER,
|
||||||
|
#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
|
||||||
|
_SC_SYSTEM_DATABASE,
|
||||||
|
#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
|
||||||
|
_SC_SYSTEM_DATABASE_R,
|
||||||
|
#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
|
||||||
|
_SC_TIMEOUTS,
|
||||||
|
#define _SC_TIMEOUTS _SC_TIMEOUTS
|
||||||
|
_SC_TYPED_MEMORY_OBJECTS,
|
||||||
|
#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
|
||||||
|
_SC_USER_GROUPS,
|
||||||
|
#define _SC_USER_GROUPS _SC_USER_GROUPS
|
||||||
|
_SC_USER_GROUPS_R,
|
||||||
|
#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
|
||||||
|
_SC_2_PBS,
|
||||||
|
#define _SC_2_PBS _SC_2_PBS
|
||||||
|
_SC_2_PBS_ACCOUNTING,
|
||||||
|
#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
|
||||||
|
_SC_2_PBS_LOCATE,
|
||||||
|
#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
|
||||||
|
_SC_2_PBS_MESSAGE,
|
||||||
|
#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
|
||||||
|
_SC_2_PBS_TRACK,
|
||||||
|
#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
|
||||||
|
_SC_SYMLOOP_MAX,
|
||||||
|
#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
|
||||||
|
_SC_STREAMS,
|
||||||
|
#define _SC_STREAMS _SC_STREAMS
|
||||||
|
_SC_2_PBS_CHECKPOINT,
|
||||||
|
#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
|
||||||
|
|
||||||
|
_SC_V6_ILP32_OFF32,
|
||||||
|
#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
|
||||||
|
_SC_V6_ILP32_OFFBIG,
|
||||||
|
#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
|
||||||
|
_SC_V6_LP64_OFF64,
|
||||||
|
#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
|
||||||
|
_SC_V6_LPBIG_OFFBIG,
|
||||||
|
#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
|
||||||
|
|
||||||
|
_SC_HOST_NAME_MAX,
|
||||||
|
#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
|
||||||
|
_SC_TRACE,
|
||||||
|
#define _SC_TRACE _SC_TRACE
|
||||||
|
_SC_TRACE_EVENT_FILTER,
|
||||||
|
#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
|
||||||
|
_SC_TRACE_INHERIT,
|
||||||
|
#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
|
||||||
|
_SC_TRACE_LOG,
|
||||||
|
#define _SC_TRACE_LOG _SC_TRACE_LOG
|
||||||
|
|
||||||
|
_SC_LEVEL1_ICACHE_SIZE,
|
||||||
|
#define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE
|
||||||
|
_SC_LEVEL1_ICACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC
|
||||||
|
_SC_LEVEL1_ICACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE
|
||||||
|
_SC_LEVEL1_DCACHE_SIZE,
|
||||||
|
#define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE
|
||||||
|
_SC_LEVEL1_DCACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC
|
||||||
|
_SC_LEVEL1_DCACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE
|
||||||
|
_SC_LEVEL2_CACHE_SIZE,
|
||||||
|
#define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE
|
||||||
|
_SC_LEVEL2_CACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC
|
||||||
|
_SC_LEVEL2_CACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE
|
||||||
|
_SC_LEVEL3_CACHE_SIZE,
|
||||||
|
#define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE
|
||||||
|
_SC_LEVEL3_CACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC
|
||||||
|
_SC_LEVEL3_CACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE
|
||||||
|
_SC_LEVEL4_CACHE_SIZE,
|
||||||
|
#define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE
|
||||||
|
_SC_LEVEL4_CACHE_ASSOC,
|
||||||
|
#define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC
|
||||||
|
_SC_LEVEL4_CACHE_LINESIZE,
|
||||||
|
#define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE
|
||||||
|
/* Leave room here, maybe we need a few more cache levels some day. */
|
||||||
|
|
||||||
|
_SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
|
||||||
|
#define _SC_IPV6 _SC_IPV6
|
||||||
|
_SC_RAW_SOCKETS,
|
||||||
|
#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
|
||||||
|
|
||||||
|
_SC_V7_ILP32_OFF32,
|
||||||
|
#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32
|
||||||
|
_SC_V7_ILP32_OFFBIG,
|
||||||
|
#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG
|
||||||
|
_SC_V7_LP64_OFF64,
|
||||||
|
#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64
|
||||||
|
_SC_V7_LPBIG_OFFBIG,
|
||||||
|
#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG
|
||||||
|
|
||||||
|
_SC_SS_REPL_MAX,
|
||||||
|
#define _SC_SS_REPL_MAX _SC_SS_REPL_MAX
|
||||||
|
|
||||||
|
_SC_TRACE_EVENT_NAME_MAX,
|
||||||
|
#define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX
|
||||||
|
_SC_TRACE_NAME_MAX,
|
||||||
|
#define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX
|
||||||
|
_SC_TRACE_SYS_MAX,
|
||||||
|
#define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX
|
||||||
|
_SC_TRACE_USER_EVENT_MAX,
|
||||||
|
#define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX
|
||||||
|
|
||||||
|
_SC_XOPEN_STREAMS,
|
||||||
|
#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS
|
||||||
|
|
||||||
|
_SC_THREAD_ROBUST_PRIO_INHERIT,
|
||||||
|
#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
|
||||||
|
_SC_THREAD_ROBUST_PRIO_PROTECT,
|
||||||
|
#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
|
||||||
|
|
||||||
|
_SC_MINSIGSTKSZ,
|
||||||
|
#define _SC_MINSIGSTKSZ _SC_MINSIGSTKSZ
|
||||||
|
|
||||||
|
_SC_SIGSTKSZ
|
||||||
|
#define _SC_SIGSTKSZ _SC_SIGSTKSZ
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Values for the NAME argument to `confstr'. */
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
_CS_PATH, /* The default search path. */
|
||||||
|
#define _CS_PATH _CS_PATH
|
||||||
|
|
||||||
|
_CS_V6_WIDTH_RESTRICTED_ENVS,
|
||||||
|
#define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||||
|
#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
|
||||||
|
|
||||||
|
_CS_GNU_LIBC_VERSION,
|
||||||
|
#define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION
|
||||||
|
_CS_GNU_LIBPTHREAD_VERSION,
|
||||||
|
#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
|
||||||
|
|
||||||
|
_CS_V5_WIDTH_RESTRICTED_ENVS,
|
||||||
|
#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
|
||||||
|
#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
|
||||||
|
|
||||||
|
_CS_V7_WIDTH_RESTRICTED_ENVS,
|
||||||
|
#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
|
||||||
|
#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
|
||||||
|
|
||||||
|
_CS_LFS_CFLAGS = 1000,
|
||||||
|
#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
|
||||||
|
_CS_LFS_LDFLAGS,
|
||||||
|
#define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
|
||||||
|
_CS_LFS_LIBS,
|
||||||
|
#define _CS_LFS_LIBS _CS_LFS_LIBS
|
||||||
|
_CS_LFS_LINTFLAGS,
|
||||||
|
#define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
|
||||||
|
_CS_LFS64_CFLAGS,
|
||||||
|
#define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
|
||||||
|
_CS_LFS64_LDFLAGS,
|
||||||
|
#define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
|
||||||
|
_CS_LFS64_LIBS,
|
||||||
|
#define _CS_LFS64_LIBS _CS_LFS64_LIBS
|
||||||
|
_CS_LFS64_LINTFLAGS,
|
||||||
|
#define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFF32_LDFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFF32_LIBS,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
|
||||||
|
_CS_XBS5_ILP32_OFF32_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_LIBS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
|
||||||
|
_CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
|
||||||
|
_CS_XBS5_LP64_OFF64_CFLAGS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
|
||||||
|
_CS_XBS5_LP64_OFF64_LDFLAGS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
|
||||||
|
_CS_XBS5_LP64_OFF64_LIBS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
|
||||||
|
_CS_XBS5_LP64_OFF64_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_LIBS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
|
||||||
|
_CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_LIBS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
|
||||||
|
_CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_LIBS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
|
||||||
|
_CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_LIBS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
|
||||||
|
_CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_LIBS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
|
||||||
|
_CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
|
||||||
|
_CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
|
||||||
|
#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
|
||||||
|
|
||||||
|
_CS_V6_ENV,
|
||||||
|
#define _CS_V6_ENV _CS_V6_ENV
|
||||||
|
_CS_V7_ENV
|
||||||
|
#define _CS_V7_ENV _CS_V7_ENV
|
||||||
|
};
|
Binary file not shown.
|
@ -0,0 +1,49 @@
|
||||||
|
/* Endian macros for string.h functions
|
||||||
|
Copyright (C) 1992-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_ENDIAN_H
|
||||||
|
#define _BITS_ENDIAN_H 1
|
||||||
|
|
||||||
|
/* Definitions for byte order, according to significance of bytes,
|
||||||
|
from low addresses to high addresses. The value is what you get by
|
||||||
|
putting '4' in the most significant byte, '3' in the second most
|
||||||
|
significant byte, '2' in the second least significant byte, and '1'
|
||||||
|
in the least significant byte, and then writing down one digit for
|
||||||
|
each byte, starting with the byte at the lowest address at the left,
|
||||||
|
and proceeding to the byte with the highest address at the right. */
|
||||||
|
|
||||||
|
#define __LITTLE_ENDIAN 1234
|
||||||
|
#define __BIG_ENDIAN 4321
|
||||||
|
#define __PDP_ENDIAN 3412
|
||||||
|
|
||||||
|
/* This file defines `__BYTE_ORDER' for the particular machine. */
|
||||||
|
#include <bits/endianness.h>
|
||||||
|
|
||||||
|
/* Some machines may need to use a different endianness for floating point
|
||||||
|
values. */
|
||||||
|
#ifndef __FLOAT_WORD_ORDER
|
||||||
|
# define __FLOAT_WORD_ORDER __BYTE_ORDER
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if __BYTE_ORDER == __LITTLE_ENDIAN
|
||||||
|
# define __LONG_LONG_PAIR(HI, LO) LO, HI
|
||||||
|
#elif __BYTE_ORDER == __BIG_ENDIAN
|
||||||
|
# define __LONG_LONG_PAIR(HI, LO) HI, LO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/endian.h */
|
Binary file not shown.
|
@ -0,0 +1,11 @@
|
||||||
|
#ifndef _BITS_ENDIANNESS_H
|
||||||
|
#define _BITS_ENDIANNESS_H 1
|
||||||
|
|
||||||
|
#ifndef _BITS_ENDIAN_H
|
||||||
|
# error "Never use <bits/endianness.h> directly; include <endian.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* i386/x86_64 are little-endian. */
|
||||||
|
#define __BYTE_ORDER __LITTLE_ENDIAN
|
||||||
|
|
||||||
|
#endif /* bits/endianness.h */
|
Binary file not shown.
|
@ -0,0 +1,105 @@
|
||||||
|
/* Copyright (C) 1999-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _UNISTD_H
|
||||||
|
# error "Never include this file directly. Use <unistd.h> instead"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
/* This header should define the following symbols under the described
|
||||||
|
situations. A value `1' means that the model is always supported,
|
||||||
|
`-1' means it is never supported. Undefined means it cannot be
|
||||||
|
statically decided.
|
||||||
|
|
||||||
|
_POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
|
||||||
|
_POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
|
||||||
|
|
||||||
|
_POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
|
||||||
|
_POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
|
||||||
|
|
||||||
|
The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
|
||||||
|
_POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
|
||||||
|
_XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
|
||||||
|
used in previous versions of the Unix standard and are available
|
||||||
|
only for compatibility.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if __WORDSIZE == 64
|
||||||
|
|
||||||
|
/* Environments with 32-bit wide pointers are optionally provided.
|
||||||
|
Therefore following macros aren't defined:
|
||||||
|
# undef _POSIX_V7_ILP32_OFF32
|
||||||
|
# undef _POSIX_V7_ILP32_OFFBIG
|
||||||
|
# undef _POSIX_V6_ILP32_OFF32
|
||||||
|
# undef _POSIX_V6_ILP32_OFFBIG
|
||||||
|
# undef _XBS5_ILP32_OFF32
|
||||||
|
# undef _XBS5_ILP32_OFFBIG
|
||||||
|
and users need to check at runtime. */
|
||||||
|
|
||||||
|
/* We also have no use (for now) for an environment with bigger pointers
|
||||||
|
and offsets. */
|
||||||
|
# define _POSIX_V7_LPBIG_OFFBIG -1
|
||||||
|
# define _POSIX_V6_LPBIG_OFFBIG -1
|
||||||
|
# define _XBS5_LPBIG_OFFBIG -1
|
||||||
|
|
||||||
|
/* By default we have 64-bit wide `long int', pointers and `off_t'. */
|
||||||
|
# define _POSIX_V7_LP64_OFF64 1
|
||||||
|
# define _POSIX_V6_LP64_OFF64 1
|
||||||
|
# define _XBS5_LP64_OFF64 1
|
||||||
|
|
||||||
|
#else /* __WORDSIZE == 32 */
|
||||||
|
|
||||||
|
/* We have 32-bit wide `int', `long int' and pointers and all platforms
|
||||||
|
support LFS. -mx32 has 64-bit wide `off_t'. */
|
||||||
|
# define _POSIX_V7_ILP32_OFFBIG 1
|
||||||
|
# define _POSIX_V6_ILP32_OFFBIG 1
|
||||||
|
# define _XBS5_ILP32_OFFBIG 1
|
||||||
|
|
||||||
|
# ifndef __x86_64__
|
||||||
|
/* -m32 has 32-bit wide `off_t'. */
|
||||||
|
# define _POSIX_V7_ILP32_OFF32 1
|
||||||
|
# define _POSIX_V6_ILP32_OFF32 1
|
||||||
|
# define _XBS5_ILP32_OFF32 1
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* We optionally provide an environment with the above size but an 64-bit
|
||||||
|
side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
|
||||||
|
|
||||||
|
/* Environments with 64-bit wide pointers can be provided,
|
||||||
|
so these macros aren't defined:
|
||||||
|
# undef _POSIX_V7_LP64_OFF64
|
||||||
|
# undef _POSIX_V7_LPBIG_OFFBIG
|
||||||
|
# undef _POSIX_V6_LP64_OFF64
|
||||||
|
# undef _POSIX_V6_LPBIG_OFFBIG
|
||||||
|
# undef _XBS5_LP64_OFF64
|
||||||
|
# undef _XBS5_LPBIG_OFFBIG
|
||||||
|
and sysconf tests for it at runtime. */
|
||||||
|
|
||||||
|
#endif /* __WORDSIZE == 32 */
|
||||||
|
|
||||||
|
#define __ILP32_OFF32_CFLAGS "-m32"
|
||||||
|
#define __ILP32_OFF32_LDFLAGS "-m32"
|
||||||
|
#if defined __x86_64__ && defined __ILP32__
|
||||||
|
# define __ILP32_OFFBIG_CFLAGS "-mx32"
|
||||||
|
# define __ILP32_OFFBIG_LDFLAGS "-mx32"
|
||||||
|
#else
|
||||||
|
# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||||
|
# define __ILP32_OFFBIG_LDFLAGS "-m32"
|
||||||
|
#endif
|
||||||
|
#define __LP64_OFF64_CFLAGS "-m64"
|
||||||
|
#define __LP64_OFF64_LDFLAGS "-m64"
|
Binary file not shown.
|
@ -0,0 +1,329 @@
|
||||||
|
/* Macros to control TS 18661-3 glibc features where the same
|
||||||
|
definitions are appropriate for all platforms.
|
||||||
|
Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_FLOATN_COMMON_H
|
||||||
|
#define _BITS_FLOATN_COMMON_H
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
#include <bits/long-double.h>
|
||||||
|
|
||||||
|
/* This header should be included at the bottom of each bits/floatn.h.
|
||||||
|
It defines the following macros for each _FloatN and _FloatNx type,
|
||||||
|
where the same definitions, or definitions based only on the macros
|
||||||
|
in bits/floatn.h, are appropriate for all glibc configurations. */
|
||||||
|
|
||||||
|
/* Defined to 1 if the current compiler invocation provides a
|
||||||
|
floating-point type with the right format for this type, and this
|
||||||
|
glibc includes corresponding *fN or *fNx interfaces for it. */
|
||||||
|
#define __HAVE_FLOAT16 0
|
||||||
|
#define __HAVE_FLOAT32 1
|
||||||
|
#define __HAVE_FLOAT64 1
|
||||||
|
#define __HAVE_FLOAT32X 1
|
||||||
|
#define __HAVE_FLOAT128X 0
|
||||||
|
|
||||||
|
/* Defined to 1 if the corresponding __HAVE_<type> macro is 1 and the
|
||||||
|
type is the first with its format in the sequence of (the default
|
||||||
|
choices for) float, double, long double, _Float16, _Float32,
|
||||||
|
_Float64, _Float128, _Float32x, _Float64x, _Float128x for this
|
||||||
|
glibc; that is, if functions present once per floating-point format
|
||||||
|
rather than once per type are present for this type.
|
||||||
|
|
||||||
|
All configurations supported by glibc have _Float32 the same format
|
||||||
|
as float, _Float64 and _Float32x the same format as double, the
|
||||||
|
_Float64x the same format as either long double or _Float128. No
|
||||||
|
configurations support _Float128x or, as of GCC 7, have compiler
|
||||||
|
support for a type meeting the requirements for _Float128x. */
|
||||||
|
#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16
|
||||||
|
#define __HAVE_DISTINCT_FLOAT32 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT64 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT32X 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT64X 0
|
||||||
|
#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X
|
||||||
|
|
||||||
|
/* Defined to 1 if the corresponding _FloatN type is not binary compatible
|
||||||
|
with the corresponding ISO C type in the current compilation unit as
|
||||||
|
opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
|
||||||
|
in glibc. */
|
||||||
|
#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \
|
||||||
|
&& __LDBL_MANT_DIG__ != 113)
|
||||||
|
|
||||||
|
/* Defined to 1 if any _FloatN or _FloatNx types that are not
|
||||||
|
ABI-distinct are however distinct types at the C language level (so
|
||||||
|
for the purposes of __builtin_types_compatible_p and _Generic). */
|
||||||
|
#if __GNUC_PREREQ (7, 0) && !defined __cplusplus
|
||||||
|
# define __HAVE_FLOATN_NOT_TYPEDEF 1
|
||||||
|
#else
|
||||||
|
# define __HAVE_FLOATN_NOT_TYPEDEF 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLER__
|
||||||
|
|
||||||
|
/* Defined to concatenate the literal suffix to be used with _FloatN
|
||||||
|
or _FloatNx types, if __HAVE_<type> is 1. The corresponding
|
||||||
|
literal suffixes exist since GCC 7, for C only. */
|
||||||
|
# if __HAVE_FLOAT16
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
/* No corresponding suffix available for this type. */
|
||||||
|
# define __f16(x) ((_Float16) x##f)
|
||||||
|
# else
|
||||||
|
# define __f16(x) x##f16
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# define __f32(x) x##f
|
||||||
|
# else
|
||||||
|
# define __f32(x) x##f32
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define __f64(x) x##l
|
||||||
|
# else
|
||||||
|
# define __f64(x) x
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __f64(x) x##f64
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# define __f32x(x) x
|
||||||
|
# else
|
||||||
|
# define __f32x(x) x##f32x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# define __f64x(x) x##l
|
||||||
|
# else
|
||||||
|
# define __f64x(x) __f128 (x)
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __f64x(x) x##f64x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT128X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# error "_Float128X supported but no constant suffix"
|
||||||
|
# else
|
||||||
|
# define __f128x(x) x##f128x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Defined to a complex type if __HAVE_<type> is 1. */
|
||||||
|
# if __HAVE_FLOAT16
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__)));
|
||||||
|
# define __CFLOAT16 __cfloat16
|
||||||
|
# else
|
||||||
|
# define __CFLOAT16 _Complex _Float16
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# define __CFLOAT32 _Complex float
|
||||||
|
# else
|
||||||
|
# define __CFLOAT32 _Complex _Float32
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
# define __CFLOAT64 _Complex long double
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64 _Complex double
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64 _Complex _Float64
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# define __CFLOAT32X _Complex double
|
||||||
|
# else
|
||||||
|
# define __CFLOAT32X _Complex _Float32x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# define __CFLOAT64X _Complex long double
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64X __CFLOAT128
|
||||||
|
# endif
|
||||||
|
# else
|
||||||
|
# define __CFLOAT64X _Complex _Float64x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT128X
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# error "_Float128X supported but no complex type"
|
||||||
|
# else
|
||||||
|
# define __CFLOAT128X _Complex _Float128x
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* The remaining of this file provides support for older compilers. */
|
||||||
|
# if __HAVE_FLOAT16
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef float _Float16 __attribute__ ((__mode__ (__HF__)));
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ())
|
||||||
|
# define __builtin_inff16() ((_Float16) __builtin_inf ())
|
||||||
|
# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x))
|
||||||
|
# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef float _Float32;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf32() (__builtin_huge_valf ())
|
||||||
|
# define __builtin_inff32() (__builtin_inff ())
|
||||||
|
# define __builtin_nanf32(x) (__builtin_nanf (x))
|
||||||
|
# define __builtin_nansf32(x) (__builtin_nansf (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64
|
||||||
|
|
||||||
|
/* If double, long double and _Float64 all have the same set of
|
||||||
|
values, TS 18661-3 requires the usual arithmetic conversions on
|
||||||
|
long double and _Float64 to produce _Float64. For this to be the
|
||||||
|
case when building with a compiler without a distinct _Float64
|
||||||
|
type, _Float64 must be a typedef for long double, not for
|
||||||
|
double. */
|
||||||
|
|
||||||
|
# ifdef __NO_LONG_DOUBLE_MATH
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef long double _Float64;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64() (__builtin_huge_vall ())
|
||||||
|
# define __builtin_inff64() (__builtin_infl ())
|
||||||
|
# define __builtin_nanf64(x) (__builtin_nanl (x))
|
||||||
|
# define __builtin_nansf64(x) (__builtin_nansl (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef double _Float64;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64() (__builtin_huge_val ())
|
||||||
|
# define __builtin_inff64() (__builtin_inf ())
|
||||||
|
# define __builtin_nanf64(x) (__builtin_nan (x))
|
||||||
|
# define __builtin_nansf64(x) (__builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT32X
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef double _Float32x;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf32x() (__builtin_huge_val ())
|
||||||
|
# define __builtin_inff32x() (__builtin_inf ())
|
||||||
|
# define __builtin_nanf32x(x) (__builtin_nan (x))
|
||||||
|
# define __builtin_nansf32x(x) (__builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef long double _Float64x;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64x() (__builtin_huge_vall ())
|
||||||
|
# define __builtin_inff64x() (__builtin_infl ())
|
||||||
|
# define __builtin_nanf64x(x) (__builtin_nanl (x))
|
||||||
|
# define __builtin_nansf64x(x) (__builtin_nansl (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# else
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef _Float128 _Float64x;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf64x() (__builtin_huge_valf128 ())
|
||||||
|
# define __builtin_inff64x() (__builtin_inff128 ())
|
||||||
|
# define __builtin_nanf64x(x) (__builtin_nanf128 (x))
|
||||||
|
# define __builtin_nansf64x(x) (__builtin_nansf128 (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if __HAVE_FLOAT128X
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
# error "_Float128x supported but no type"
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ())
|
||||||
|
# define __builtin_inff128x() ((_Float128x) __builtin_inf ())
|
||||||
|
# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x))
|
||||||
|
# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /* !__ASSEMBLER__. */
|
||||||
|
|
||||||
|
#endif /* _BITS_FLOATN_COMMON_H */
|
Binary file not shown.
|
@ -0,0 +1,121 @@
|
||||||
|
/* Macros to control TS 18661-3 glibc features on x86.
|
||||||
|
Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_FLOATN_H
|
||||||
|
#define _BITS_FLOATN_H
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
/* Defined to 1 if the current compiler invocation provides a
|
||||||
|
floating-point type with the IEEE 754 binary128 format, and this
|
||||||
|
glibc includes corresponding *f128 interfaces for it. The required
|
||||||
|
libgcc support was added some time after the basic compiler
|
||||||
|
support, for x86_64 and x86. */
|
||||||
|
#if (defined __x86_64__ \
|
||||||
|
? __GNUC_PREREQ (4, 3) \
|
||||||
|
: (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
|
||||||
|
# define __HAVE_FLOAT128 1
|
||||||
|
#else
|
||||||
|
# define __HAVE_FLOAT128 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
|
||||||
|
from the default float, double and long double types in this glibc. */
|
||||||
|
#if __HAVE_FLOAT128
|
||||||
|
# define __HAVE_DISTINCT_FLOAT128 1
|
||||||
|
#else
|
||||||
|
# define __HAVE_DISTINCT_FLOAT128 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Defined to 1 if the current compiler invocation provides a
|
||||||
|
floating-point type with the right format for _Float64x, and this
|
||||||
|
glibc includes corresponding *f64x interfaces for it. */
|
||||||
|
#define __HAVE_FLOAT64X 1
|
||||||
|
|
||||||
|
/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
|
||||||
|
of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
|
||||||
|
the format of _Float128, which must be different from that of long
|
||||||
|
double. */
|
||||||
|
#define __HAVE_FLOAT64X_LONG_DOUBLE 1
|
||||||
|
|
||||||
|
#ifndef __ASSEMBLER__
|
||||||
|
|
||||||
|
/* Defined to concatenate the literal suffix to be used with _Float128
|
||||||
|
types, if __HAVE_FLOAT128 is 1. */
|
||||||
|
# if __HAVE_FLOAT128
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
/* The literal suffix f128 exists only since GCC 7.0. */
|
||||||
|
# define __f128(x) x##q
|
||||||
|
# else
|
||||||
|
# define __f128(x) x##f128
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
|
||||||
|
# if __HAVE_FLOAT128
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
/* Add a typedef for older GCC compilers which don't natively support
|
||||||
|
_Complex _Float128. */
|
||||||
|
typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
|
||||||
|
# define __CFLOAT128 __cfloat128
|
||||||
|
# else
|
||||||
|
# define __CFLOAT128 _Complex _Float128
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* The remaining of this file provides support for older compilers. */
|
||||||
|
# if __HAVE_FLOAT128
|
||||||
|
|
||||||
|
/* The type _Float128 exists only since GCC 7.0. */
|
||||||
|
# if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
|
||||||
|
typedef __float128 _Float128;
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* Older GCC has only a subset of built-in functions for _Float128 on
|
||||||
|
x86, and __builtin_infq is not usable in static initializers.
|
||||||
|
Converting a narrower sNaN to _Float128 produces a quiet NaN, so
|
||||||
|
attempts to use _Float128 sNaNs will not work properly with older
|
||||||
|
compilers. */
|
||||||
|
# if !__GNUC_PREREQ (7, 0)
|
||||||
|
# define __builtin_copysignf128 __builtin_copysignq
|
||||||
|
# define __builtin_fabsf128 __builtin_fabsq
|
||||||
|
# define __builtin_inff128() ((_Float128) __builtin_inf ())
|
||||||
|
# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
|
||||||
|
# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
|
||||||
|
# endif
|
||||||
|
|
||||||
|
/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
|
||||||
|
e.g.: __builtin_signbitf128, before GCC 6. However, there has never
|
||||||
|
been a __builtin_signbitf128 in GCC and the type-generic builtin is
|
||||||
|
only available since GCC 6. */
|
||||||
|
# if !__GNUC_PREREQ (6, 0)
|
||||||
|
# define __builtin_signbitf128 __signbitf128
|
||||||
|
# endif
|
||||||
|
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#endif /* !__ASSEMBLER__. */
|
||||||
|
|
||||||
|
#include <bits/floatn-common.h>
|
||||||
|
|
||||||
|
#endif /* _BITS_FLOATN_H */
|
Binary file not shown.
|
@ -0,0 +1,96 @@
|
||||||
|
/* Declarations for getopt (basic, portable features only).
|
||||||
|
Copyright (C) 1989-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library and is also part of gnulib.
|
||||||
|
Patches to this file should be submitted to both projects.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _GETOPT_CORE_H
|
||||||
|
#define _GETOPT_CORE_H 1
|
||||||
|
|
||||||
|
/* This header should not be used directly; include getopt.h or
|
||||||
|
unistd.h instead. Unlike most bits headers, it does not have
|
||||||
|
a protective #error, because the guard macro for getopt.h in
|
||||||
|
gnulib is not fixed. */
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
/* For communication from 'getopt' to the caller.
|
||||||
|
When 'getopt' finds an option that takes an argument,
|
||||||
|
the argument value is returned here.
|
||||||
|
Also, when 'ordering' is RETURN_IN_ORDER,
|
||||||
|
each non-option ARGV-element is returned here. */
|
||||||
|
|
||||||
|
extern char *optarg;
|
||||||
|
|
||||||
|
/* Index in ARGV of the next element to be scanned.
|
||||||
|
This is used for communication to and from the caller
|
||||||
|
and for communication between successive calls to 'getopt'.
|
||||||
|
|
||||||
|
On entry to 'getopt', zero means this is the first call; initialize.
|
||||||
|
|
||||||
|
When 'getopt' returns -1, this is the index of the first of the
|
||||||
|
non-option elements that the caller should itself scan.
|
||||||
|
|
||||||
|
Otherwise, 'optind' communicates from one call to the next
|
||||||
|
how much of ARGV has been scanned so far. */
|
||||||
|
|
||||||
|
extern int optind;
|
||||||
|
|
||||||
|
/* Callers store zero here to inhibit the error message 'getopt' prints
|
||||||
|
for unrecognized options. */
|
||||||
|
|
||||||
|
extern int opterr;
|
||||||
|
|
||||||
|
/* Set to an option character which was unrecognized. */
|
||||||
|
|
||||||
|
extern int optopt;
|
||||||
|
|
||||||
|
/* Get definitions and prototypes for functions to process the
|
||||||
|
arguments in ARGV (ARGC of them, minus the program name) for
|
||||||
|
options given in OPTS.
|
||||||
|
|
||||||
|
Return the option character from OPTS just read. Return -1 when
|
||||||
|
there are no more options. For unrecognized options, or options
|
||||||
|
missing arguments, 'optopt' is set to the option letter, and '?' is
|
||||||
|
returned.
|
||||||
|
|
||||||
|
The OPTS string is a list of characters which are recognized option
|
||||||
|
letters, optionally followed by colons, specifying that that letter
|
||||||
|
takes an argument, to be placed in 'optarg'.
|
||||||
|
|
||||||
|
If a letter in OPTS is followed by two colons, its argument is
|
||||||
|
optional. This behavior is specific to the GNU 'getopt'.
|
||||||
|
|
||||||
|
The argument '--' causes premature termination of argument
|
||||||
|
scanning, explicitly telling 'getopt' that there are no more
|
||||||
|
options.
|
||||||
|
|
||||||
|
If OPTS begins with '-', then non-option arguments are treated as
|
||||||
|
arguments to the option '\1'. This behavior is specific to the GNU
|
||||||
|
'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in
|
||||||
|
the environment, then do not permute arguments.
|
||||||
|
|
||||||
|
For standards compliance, the 'argv' argument has the type
|
||||||
|
char *const *, but this is inaccurate; if argument permutation is
|
||||||
|
enabled, the argv array (not the strings it points to) must be
|
||||||
|
writable. */
|
||||||
|
|
||||||
|
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
|
||||||
|
__THROW __nonnull ((2, 3));
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif /* getopt_core.h */
|
Binary file not shown.
|
@ -0,0 +1,51 @@
|
||||||
|
/* Declarations for getopt (POSIX compatibility shim).
|
||||||
|
Copyright (C) 1989-2024 Free Software Foundation, Inc.
|
||||||
|
Unlike the bulk of the getopt implementation, this file is NOT part
|
||||||
|
of gnulib.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _GETOPT_POSIX_H
|
||||||
|
#define _GETOPT_POSIX_H 1
|
||||||
|
|
||||||
|
#if !defined _UNISTD_H && !defined _STDIO_H
|
||||||
|
#error "Never include getopt_posix.h directly; use unistd.h instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <bits/getopt_core.h>
|
||||||
|
|
||||||
|
__BEGIN_DECLS
|
||||||
|
|
||||||
|
#if defined __USE_POSIX2 && !defined __USE_POSIX_IMPLICITLY \
|
||||||
|
&& !defined __USE_GNU && !defined _GETOPT_H
|
||||||
|
/* GNU getopt has more functionality than POSIX getopt. When we are
|
||||||
|
explicitly conforming to POSIX and not GNU, and getopt.h (which is
|
||||||
|
not part of POSIX) has not been included, the extra functionality
|
||||||
|
is disabled. */
|
||||||
|
# ifdef __REDIRECT
|
||||||
|
extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv,
|
||||||
|
const char *__shortopts),
|
||||||
|
__posix_getopt);
|
||||||
|
# else
|
||||||
|
extern int __posix_getopt (int ___argc, char *const *___argv,
|
||||||
|
const char *__shortopts)
|
||||||
|
__THROW __nonnull ((2, 3));
|
||||||
|
# define getopt __posix_getopt
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
__END_DECLS
|
||||||
|
|
||||||
|
#endif /* getopt_posix.h */
|
Binary file not shown.
|
@ -0,0 +1,110 @@
|
||||||
|
/* Handle feature test macros at the start of a header.
|
||||||
|
Copyright (C) 2016-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* This header is internal to glibc and should not be included outside
|
||||||
|
of glibc headers. Headers including it must define
|
||||||
|
__GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header
|
||||||
|
cannot have multiple include guards because ISO C feature test
|
||||||
|
macros depend on the definition of the macro when an affected
|
||||||
|
header is included, not when the first system header is
|
||||||
|
included. */
|
||||||
|
|
||||||
|
#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||||
|
# error "Never include <bits/libc-header-start.h> directly."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
|
||||||
|
/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
|
||||||
|
macro. */
|
||||||
|
#undef __GLIBC_USE_LIB_EXT2
|
||||||
|
#if (defined __USE_GNU \
|
||||||
|
|| (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0))
|
||||||
|
# define __GLIBC_USE_LIB_EXT2 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_LIB_EXT2 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
|
||||||
|
macro. Most but not all symbols enabled by that macro in TS
|
||||||
|
18661-1 are enabled unconditionally in C2X. In C2X, the symbols in
|
||||||
|
Annex F still require a new feature test macro
|
||||||
|
__STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
|
||||||
|
__STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
|
||||||
|
18661-1 are not included in C2X (and thus should depend on
|
||||||
|
__STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
|
||||||
|
enabled).
|
||||||
|
|
||||||
|
__GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
|
||||||
|
18661-1 not included in C2X.
|
||||||
|
|
||||||
|
__GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
|
||||||
|
18661-1 that are also included in C2X (with no feature test macro
|
||||||
|
required in C2X).
|
||||||
|
|
||||||
|
__GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
|
||||||
|
that are included in C2X but conditional on
|
||||||
|
__STDC_WANT_IEC_60559_EXT__. (There are currently no features
|
||||||
|
conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
|
||||||
|
18661-1.) */
|
||||||
|
#undef __GLIBC_USE_IEC_60559_BFP_EXT
|
||||||
|
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT 0
|
||||||
|
#endif
|
||||||
|
#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X
|
||||||
|
#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
|
||||||
|
#endif
|
||||||
|
#undef __GLIBC_USE_IEC_60559_EXT
|
||||||
|
#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_EXT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ISO/IEC TS 18661-4:2015 defines the
|
||||||
|
__STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
|
||||||
|
functions, the symbols from this TS are enabled unconditionally in
|
||||||
|
C2X. */
|
||||||
|
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
|
||||||
|
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
|
||||||
|
#endif
|
||||||
|
#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
|
||||||
|
#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* ISO/IEC TS 18661-3:2015 defines the
|
||||||
|
__STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
|
||||||
|
#undef __GLIBC_USE_IEC_60559_TYPES_EXT
|
||||||
|
#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__
|
||||||
|
# define __GLIBC_USE_IEC_60559_TYPES_EXT 1
|
||||||
|
#else
|
||||||
|
# define __GLIBC_USE_IEC_60559_TYPES_EXT 0
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,21 @@
|
||||||
|
/* Properties of long double type. ldbl-96 version.
|
||||||
|
Copyright (C) 2016-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/* long double is distinct from double, so there is nothing to
|
||||||
|
define here. */
|
||||||
|
#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
|
Binary file not shown.
|
@ -0,0 +1,194 @@
|
||||||
|
/* Define POSIX options for Linux.
|
||||||
|
Copyright (C) 1996-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2.1 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; see the file COPYING.LIB. If
|
||||||
|
not, see <https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_POSIX_OPT_H
|
||||||
|
#define _BITS_POSIX_OPT_H 1
|
||||||
|
|
||||||
|
/* Job control is supported. */
|
||||||
|
#define _POSIX_JOB_CONTROL 1
|
||||||
|
|
||||||
|
/* Processes have a saved set-user-ID and a saved set-group-ID. */
|
||||||
|
#define _POSIX_SAVED_IDS 1
|
||||||
|
|
||||||
|
/* Priority scheduling is not supported with the correct semantics,
|
||||||
|
but GNU/Linux applications expect that the corresponding interfaces
|
||||||
|
are available, even though the semantics do not meet the POSIX
|
||||||
|
requirements. See glibc bug 14829. */
|
||||||
|
#define _POSIX_PRIORITY_SCHEDULING 200809L
|
||||||
|
|
||||||
|
/* Synchronizing file data is supported. */
|
||||||
|
#define _POSIX_SYNCHRONIZED_IO 200809L
|
||||||
|
|
||||||
|
/* The fsync function is present. */
|
||||||
|
#define _POSIX_FSYNC 200809L
|
||||||
|
|
||||||
|
/* Mapping of files to memory is supported. */
|
||||||
|
#define _POSIX_MAPPED_FILES 200809L
|
||||||
|
|
||||||
|
/* Locking of all memory is supported. */
|
||||||
|
#define _POSIX_MEMLOCK 200809L
|
||||||
|
|
||||||
|
/* Locking of ranges of memory is supported. */
|
||||||
|
#define _POSIX_MEMLOCK_RANGE 200809L
|
||||||
|
|
||||||
|
/* Setting of memory protections is supported. */
|
||||||
|
#define _POSIX_MEMORY_PROTECTION 200809L
|
||||||
|
|
||||||
|
/* Some filesystems allow all users to change file ownership. */
|
||||||
|
#define _POSIX_CHOWN_RESTRICTED 0
|
||||||
|
|
||||||
|
/* `c_cc' member of 'struct termios' structure can be disabled by
|
||||||
|
using the value _POSIX_VDISABLE. */
|
||||||
|
#define _POSIX_VDISABLE '\0'
|
||||||
|
|
||||||
|
/* Filenames are not silently truncated. */
|
||||||
|
#define _POSIX_NO_TRUNC 1
|
||||||
|
|
||||||
|
/* X/Open realtime support is available. */
|
||||||
|
#define _XOPEN_REALTIME 1
|
||||||
|
|
||||||
|
/* X/Open thread realtime support is available. */
|
||||||
|
#define _XOPEN_REALTIME_THREADS 1
|
||||||
|
|
||||||
|
/* XPG4.2 shared memory is supported. */
|
||||||
|
#define _XOPEN_SHM 1
|
||||||
|
|
||||||
|
/* Tell we have POSIX threads. */
|
||||||
|
#define _POSIX_THREADS 200809L
|
||||||
|
|
||||||
|
/* We have the reentrant functions described in POSIX. */
|
||||||
|
#define _POSIX_REENTRANT_FUNCTIONS 1
|
||||||
|
#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
|
||||||
|
|
||||||
|
/* We provide priority scheduling for threads. */
|
||||||
|
#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
|
||||||
|
|
||||||
|
/* We support user-defined stack sizes. */
|
||||||
|
#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
|
||||||
|
|
||||||
|
/* We support user-defined stacks. */
|
||||||
|
#define _POSIX_THREAD_ATTR_STACKADDR 200809L
|
||||||
|
|
||||||
|
/* We support priority inheritance. */
|
||||||
|
#define _POSIX_THREAD_PRIO_INHERIT 200809L
|
||||||
|
|
||||||
|
/* We support priority protection, though only for non-robust
|
||||||
|
mutexes. */
|
||||||
|
#define _POSIX_THREAD_PRIO_PROTECT 200809L
|
||||||
|
|
||||||
|
#ifdef __USE_XOPEN2K8
|
||||||
|
/* We support priority inheritance for robust mutexes. */
|
||||||
|
# define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L
|
||||||
|
|
||||||
|
/* We do not support priority protection for robust mutexes. */
|
||||||
|
# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* We support POSIX.1b semaphores. */
|
||||||
|
#define _POSIX_SEMAPHORES 200809L
|
||||||
|
|
||||||
|
/* Real-time signals are supported. */
|
||||||
|
#define _POSIX_REALTIME_SIGNALS 200809L
|
||||||
|
|
||||||
|
/* We support asynchronous I/O. */
|
||||||
|
#define _POSIX_ASYNCHRONOUS_IO 200809L
|
||||||
|
#define _POSIX_ASYNC_IO 1
|
||||||
|
/* Alternative name for Unix98. */
|
||||||
|
#define _LFS_ASYNCHRONOUS_IO 1
|
||||||
|
/* Support for prioritization is also available. */
|
||||||
|
#define _POSIX_PRIORITIZED_IO 200809L
|
||||||
|
|
||||||
|
/* The LFS support in asynchronous I/O is also available. */
|
||||||
|
#define _LFS64_ASYNCHRONOUS_IO 1
|
||||||
|
|
||||||
|
/* The rest of the LFS is also available. */
|
||||||
|
#define _LFS_LARGEFILE 1
|
||||||
|
#define _LFS64_LARGEFILE 1
|
||||||
|
#define _LFS64_STDIO 1
|
||||||
|
|
||||||
|
/* POSIX shared memory objects are implemented. */
|
||||||
|
#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
|
||||||
|
|
||||||
|
/* CPU-time clocks support needs to be checked at runtime. */
|
||||||
|
#define _POSIX_CPUTIME 0
|
||||||
|
|
||||||
|
/* Clock support in threads must be also checked at runtime. */
|
||||||
|
#define _POSIX_THREAD_CPUTIME 0
|
||||||
|
|
||||||
|
/* GNU libc provides regular expression handling. */
|
||||||
|
#define _POSIX_REGEXP 1
|
||||||
|
|
||||||
|
/* Reader/Writer locks are available. */
|
||||||
|
#define _POSIX_READER_WRITER_LOCKS 200809L
|
||||||
|
|
||||||
|
/* We have a POSIX shell. */
|
||||||
|
#define _POSIX_SHELL 1
|
||||||
|
|
||||||
|
/* We support the Timeouts option. */
|
||||||
|
#define _POSIX_TIMEOUTS 200809L
|
||||||
|
|
||||||
|
/* We support spinlocks. */
|
||||||
|
#define _POSIX_SPIN_LOCKS 200809L
|
||||||
|
|
||||||
|
/* The `spawn' function family is supported. */
|
||||||
|
#define _POSIX_SPAWN 200809L
|
||||||
|
|
||||||
|
/* We have POSIX timers. */
|
||||||
|
#define _POSIX_TIMERS 200809L
|
||||||
|
|
||||||
|
/* The barrier functions are available. */
|
||||||
|
#define _POSIX_BARRIERS 200809L
|
||||||
|
|
||||||
|
/* POSIX message queues are available. */
|
||||||
|
#define _POSIX_MESSAGE_PASSING 200809L
|
||||||
|
|
||||||
|
/* Thread process-shared synchronization is supported. */
|
||||||
|
#define _POSIX_THREAD_PROCESS_SHARED 200809L
|
||||||
|
|
||||||
|
/* The monotonic clock might be available. */
|
||||||
|
#define _POSIX_MONOTONIC_CLOCK 0
|
||||||
|
|
||||||
|
/* The clock selection interfaces are available. */
|
||||||
|
#define _POSIX_CLOCK_SELECTION 200809L
|
||||||
|
|
||||||
|
/* Advisory information interfaces are available. */
|
||||||
|
#define _POSIX_ADVISORY_INFO 200809L
|
||||||
|
|
||||||
|
/* IPv6 support is available. */
|
||||||
|
#define _POSIX_IPV6 200809L
|
||||||
|
|
||||||
|
/* Raw socket support is available. */
|
||||||
|
#define _POSIX_RAW_SOCKETS 200809L
|
||||||
|
|
||||||
|
/* We have at least one terminal. */
|
||||||
|
#define _POSIX2_CHAR_TERM 200809L
|
||||||
|
|
||||||
|
/* Neither process nor thread sporadic server interfaces is available. */
|
||||||
|
#define _POSIX_SPORADIC_SERVER -1
|
||||||
|
#define _POSIX_THREAD_SPORADIC_SERVER -1
|
||||||
|
|
||||||
|
/* trace.h is not available. */
|
||||||
|
#define _POSIX_TRACE -1
|
||||||
|
#define _POSIX_TRACE_EVENT_FILTER -1
|
||||||
|
#define _POSIX_TRACE_INHERIT -1
|
||||||
|
#define _POSIX_TRACE_LOG -1
|
||||||
|
|
||||||
|
/* Typed memory objects are not available. */
|
||||||
|
#define _POSIX_TYPED_MEMORY_OBJECTS -1
|
||||||
|
|
||||||
|
#endif /* bits/posix_opt.h */
|
Binary file not shown.
|
@ -0,0 +1,55 @@
|
||||||
|
/* Copyright (C) 2002-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_PTHREADTYPES_ARCH_H
|
||||||
|
#define _BITS_PTHREADTYPES_ARCH_H 1
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# if __WORDSIZE == 64
|
||||||
|
# define __SIZEOF_PTHREAD_MUTEX_T 40
|
||||||
|
# define __SIZEOF_PTHREAD_ATTR_T 56
|
||||||
|
# define __SIZEOF_PTHREAD_RWLOCK_T 56
|
||||||
|
# define __SIZEOF_PTHREAD_BARRIER_T 32
|
||||||
|
# else
|
||||||
|
# define __SIZEOF_PTHREAD_MUTEX_T 32
|
||||||
|
# define __SIZEOF_PTHREAD_ATTR_T 32
|
||||||
|
# define __SIZEOF_PTHREAD_RWLOCK_T 44
|
||||||
|
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# define __SIZEOF_PTHREAD_MUTEX_T 24
|
||||||
|
# define __SIZEOF_PTHREAD_ATTR_T 36
|
||||||
|
# define __SIZEOF_PTHREAD_RWLOCK_T 32
|
||||||
|
# define __SIZEOF_PTHREAD_BARRIER_T 20
|
||||||
|
#endif
|
||||||
|
#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
|
||||||
|
#define __SIZEOF_PTHREAD_COND_T 48
|
||||||
|
#define __SIZEOF_PTHREAD_CONDATTR_T 4
|
||||||
|
#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
|
||||||
|
#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
|
||||||
|
|
||||||
|
#define __LOCK_ALIGNMENT
|
||||||
|
#define __ONCE_ALIGNMENT
|
||||||
|
|
||||||
|
#ifndef __x86_64__
|
||||||
|
/* Extra attributes for the cleanup functions. */
|
||||||
|
# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/pthreadtypes.h */
|
Binary file not shown.
|
@ -0,0 +1,121 @@
|
||||||
|
/* Declaration of common pthread types for all architectures.
|
||||||
|
Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_PTHREADTYPES_COMMON_H
|
||||||
|
# define _BITS_PTHREADTYPES_COMMON_H 1
|
||||||
|
|
||||||
|
/* For internal mutex and condition variable definitions. */
|
||||||
|
#include <bits/thread-shared-types.h>
|
||||||
|
|
||||||
|
/* Thread identifiers. The structure of the attribute type is not
|
||||||
|
exposed on purpose. */
|
||||||
|
typedef unsigned long int pthread_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Data structures for mutex handling. The structure of the attribute
|
||||||
|
type is not exposed on purpose. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
|
||||||
|
int __align;
|
||||||
|
} pthread_mutexattr_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Data structure for condition variable handling. The structure of
|
||||||
|
the attribute type is not exposed on purpose. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_CONDATTR_T];
|
||||||
|
int __align;
|
||||||
|
} pthread_condattr_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Keys for thread-specific data */
|
||||||
|
typedef unsigned int pthread_key_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* Once-only execution */
|
||||||
|
typedef int __ONCE_ALIGNMENT pthread_once_t;
|
||||||
|
|
||||||
|
|
||||||
|
union pthread_attr_t
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_ATTR_T];
|
||||||
|
long int __align;
|
||||||
|
};
|
||||||
|
#ifndef __have_pthread_attr_t
|
||||||
|
typedef union pthread_attr_t pthread_attr_t;
|
||||||
|
# define __have_pthread_attr_t 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
struct __pthread_mutex_s __data;
|
||||||
|
char __size[__SIZEOF_PTHREAD_MUTEX_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_mutex_t;
|
||||||
|
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
struct __pthread_cond_s __data;
|
||||||
|
char __size[__SIZEOF_PTHREAD_COND_T];
|
||||||
|
__extension__ long long int __align;
|
||||||
|
} pthread_cond_t;
|
||||||
|
|
||||||
|
|
||||||
|
#if defined __USE_UNIX98 || defined __USE_XOPEN2K
|
||||||
|
/* Data structure for reader-writer lock variable handling. The
|
||||||
|
structure of the attribute type is deliberately not exposed. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
struct __pthread_rwlock_arch_t __data;
|
||||||
|
char __size[__SIZEOF_PTHREAD_RWLOCK_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_rwlock_t;
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_rwlockattr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __USE_XOPEN2K
|
||||||
|
/* POSIX spinlock data type. */
|
||||||
|
typedef volatile int pthread_spinlock_t;
|
||||||
|
|
||||||
|
|
||||||
|
/* POSIX barriers data type. The structure of the type is
|
||||||
|
deliberately not exposed. */
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_BARRIER_T];
|
||||||
|
long int __align;
|
||||||
|
} pthread_barrier_t;
|
||||||
|
|
||||||
|
typedef union
|
||||||
|
{
|
||||||
|
char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
|
||||||
|
int __align;
|
||||||
|
} pthread_barrierattr_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,37 @@
|
||||||
|
/* Copyright (C) 1997-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _SYS_SELECT_H
|
||||||
|
# error "Never use <bits/select.h> directly; include <sys/select.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* We don't use `memset' because this would require a prototype and
|
||||||
|
the array isn't too big. */
|
||||||
|
#define __FD_ZERO(s) \
|
||||||
|
do { \
|
||||||
|
unsigned int __i; \
|
||||||
|
fd_set *__arr = (s); \
|
||||||
|
for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
|
||||||
|
__FDS_BITS (__arr)[__i] = 0; \
|
||||||
|
} while (0)
|
||||||
|
#define __FD_SET(d, s) \
|
||||||
|
((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
|
||||||
|
#define __FD_CLR(d, s) \
|
||||||
|
((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
|
||||||
|
#define __FD_ISSET(d, s) \
|
||||||
|
((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
|
Binary file not shown.
|
@ -0,0 +1,29 @@
|
||||||
|
/* Define intN_t types.
|
||||||
|
Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_STDINT_INTN_H
|
||||||
|
#define _BITS_STDINT_INTN_H 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
typedef __int8_t int8_t;
|
||||||
|
typedef __int16_t int16_t;
|
||||||
|
typedef __int32_t int32_t;
|
||||||
|
typedef __int64_t int64_t;
|
||||||
|
|
||||||
|
#endif /* bits/stdint-intn.h */
|
Binary file not shown.
|
@ -0,0 +1,28 @@
|
||||||
|
/* System specific stdio.h definitions. Linux version.
|
||||||
|
Copyright (C) 2023-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_STDIO_LIM_H
|
||||||
|
#define _BITS_STDIO_LIM_H 1
|
||||||
|
|
||||||
|
#ifndef _STDIO_H
|
||||||
|
# error "Never include <bits/stdio_lim.h> directly; use <stdio.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define FILENAME_MAX 4096
|
||||||
|
|
||||||
|
#endif /* bits/stdio_lim.h */
|
Binary file not shown.
|
@ -0,0 +1,29 @@
|
||||||
|
/* Floating-point inline functions for stdlib.h.
|
||||||
|
Copyright (C) 2012-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _STDLIB_H
|
||||||
|
# error "Never use <bits/stdlib-float.h> directly; include <stdlib.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_EXTERN_INLINES
|
||||||
|
__extern_inline double
|
||||||
|
__NTH (atof (const char *__nptr))
|
||||||
|
{
|
||||||
|
return strtod (__nptr, (char **) NULL);
|
||||||
|
}
|
||||||
|
#endif /* Optimizing and Inlining. */
|
Binary file not shown.
|
@ -0,0 +1,63 @@
|
||||||
|
/* x86 internal mutex struct definitions.
|
||||||
|
Copyright (C) 2019-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _THREAD_MUTEX_INTERNAL_H
|
||||||
|
#define _THREAD_MUTEX_INTERNAL_H 1
|
||||||
|
|
||||||
|
struct __pthread_mutex_s
|
||||||
|
{
|
||||||
|
int __lock;
|
||||||
|
unsigned int __count;
|
||||||
|
int __owner;
|
||||||
|
#ifdef __x86_64__
|
||||||
|
unsigned int __nusers;
|
||||||
|
#endif
|
||||||
|
/* KIND must stay at this position in the structure to maintain
|
||||||
|
binary compatibility with static initializers. */
|
||||||
|
int __kind;
|
||||||
|
#ifdef __x86_64__
|
||||||
|
short __spins;
|
||||||
|
short __elision;
|
||||||
|
__pthread_list_t __list;
|
||||||
|
# define __PTHREAD_MUTEX_HAVE_PREV 1
|
||||||
|
#else
|
||||||
|
unsigned int __nusers;
|
||||||
|
__extension__ union
|
||||||
|
{
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
short __espins;
|
||||||
|
short __eelision;
|
||||||
|
# define __spins __elision_data.__espins
|
||||||
|
# define __elision __elision_data.__eelision
|
||||||
|
} __elision_data;
|
||||||
|
__pthread_slist_t __list;
|
||||||
|
};
|
||||||
|
# define __PTHREAD_MUTEX_HAVE_PREV 0
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
|
||||||
|
0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
|
||||||
|
#else
|
||||||
|
# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
|
||||||
|
0, 0, 0, __kind, 0, { { 0, 0 } }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,65 @@
|
||||||
|
/* x86 internal rwlock struct definitions.
|
||||||
|
Copyright (C) 2019-2024 Free Software Foundation, Inc.
|
||||||
|
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _RWLOCK_INTERNAL_H
|
||||||
|
#define _RWLOCK_INTERNAL_H
|
||||||
|
|
||||||
|
struct __pthread_rwlock_arch_t
|
||||||
|
{
|
||||||
|
unsigned int __readers;
|
||||||
|
unsigned int __writers;
|
||||||
|
unsigned int __wrphase_futex;
|
||||||
|
unsigned int __writers_futex;
|
||||||
|
unsigned int __pad3;
|
||||||
|
unsigned int __pad4;
|
||||||
|
#ifdef __x86_64__
|
||||||
|
int __cur_writer;
|
||||||
|
int __shared;
|
||||||
|
signed char __rwelision;
|
||||||
|
# ifdef __ILP32__
|
||||||
|
unsigned char __pad1[3];
|
||||||
|
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
|
||||||
|
# else
|
||||||
|
unsigned char __pad1[7];
|
||||||
|
# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
|
||||||
|
# endif
|
||||||
|
unsigned long int __pad2;
|
||||||
|
/* FLAGS must stay at this position in the structure to maintain
|
||||||
|
binary compatibility. */
|
||||||
|
unsigned int __flags;
|
||||||
|
#else /* __x86_64__ */
|
||||||
|
/* FLAGS must stay at this position in the structure to maintain
|
||||||
|
binary compatibility. */
|
||||||
|
unsigned char __flags;
|
||||||
|
unsigned char __shared;
|
||||||
|
signed char __rwelision;
|
||||||
|
unsigned char __pad2;
|
||||||
|
int __cur_writer;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||||
|
0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
|
||||||
|
#else
|
||||||
|
# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
|
||||||
|
0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,115 @@
|
||||||
|
/* Common threading primitives definitions for both POSIX and C11.
|
||||||
|
Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _THREAD_SHARED_TYPES_H
|
||||||
|
#define _THREAD_SHARED_TYPES_H 1
|
||||||
|
|
||||||
|
/* Arch-specific definitions. Each architecture must define the following
|
||||||
|
macros to define the expected sizes of pthread data types:
|
||||||
|
|
||||||
|
__SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
|
||||||
|
__SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
|
||||||
|
__SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
|
||||||
|
__SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
|
||||||
|
__SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
|
||||||
|
__SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
|
||||||
|
__SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
|
||||||
|
__SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
|
||||||
|
__SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
|
||||||
|
|
||||||
|
The additional macro defines any constraint for the lock alignment
|
||||||
|
inside the thread structures:
|
||||||
|
|
||||||
|
__LOCK_ALIGNMENT - for internal lock/futex usage.
|
||||||
|
|
||||||
|
Same idea but for the once locking primitive:
|
||||||
|
|
||||||
|
__ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */
|
||||||
|
|
||||||
|
#include <bits/pthreadtypes-arch.h>
|
||||||
|
|
||||||
|
#include <bits/atomic_wide_counter.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* Common definition of pthread_mutex_t. */
|
||||||
|
|
||||||
|
typedef struct __pthread_internal_list
|
||||||
|
{
|
||||||
|
struct __pthread_internal_list *__prev;
|
||||||
|
struct __pthread_internal_list *__next;
|
||||||
|
} __pthread_list_t;
|
||||||
|
|
||||||
|
typedef struct __pthread_internal_slist
|
||||||
|
{
|
||||||
|
struct __pthread_internal_slist *__next;
|
||||||
|
} __pthread_slist_t;
|
||||||
|
|
||||||
|
/* Arch-specific mutex definitions. A generic implementation is provided
|
||||||
|
by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
|
||||||
|
can override it by defining:
|
||||||
|
|
||||||
|
1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
|
||||||
|
definition). It should contains at least the internal members
|
||||||
|
defined in the generic version.
|
||||||
|
|
||||||
|
2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
|
||||||
|
atomic operations.
|
||||||
|
|
||||||
|
3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
|
||||||
|
It should initialize the mutex internal flag. */
|
||||||
|
|
||||||
|
#include <bits/struct_mutex.h>
|
||||||
|
|
||||||
|
/* Arch-sepecific read-write lock definitions. A generic implementation is
|
||||||
|
provided by struct_rwlock.h. If required, an architecture can override it
|
||||||
|
by defining:
|
||||||
|
|
||||||
|
1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
|
||||||
|
It should contain at least the internal members defined in the
|
||||||
|
generic version.
|
||||||
|
|
||||||
|
2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
|
||||||
|
It should initialize the rwlock internal type. */
|
||||||
|
|
||||||
|
#include <bits/struct_rwlock.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* Common definition of pthread_cond_t. */
|
||||||
|
|
||||||
|
struct __pthread_cond_s
|
||||||
|
{
|
||||||
|
__atomic_wide_counter __wseq;
|
||||||
|
__atomic_wide_counter __g1_start;
|
||||||
|
unsigned int __g_refs[2] __LOCK_ALIGNMENT;
|
||||||
|
unsigned int __g_size[2];
|
||||||
|
unsigned int __g1_orig_size;
|
||||||
|
unsigned int __wrefs;
|
||||||
|
unsigned int __g_signals[2];
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef unsigned int __tss_t;
|
||||||
|
typedef unsigned long int __thrd_t;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int __data __ONCE_ALIGNMENT;
|
||||||
|
} __once_flag;
|
||||||
|
|
||||||
|
#define __ONCE_FLAG_INIT { 0 }
|
||||||
|
|
||||||
|
#endif /* _THREAD_SHARED_TYPES_H */
|
Binary file not shown.
|
@ -0,0 +1,36 @@
|
||||||
|
/* bits/time64.h -- underlying types for __time64_t. Generic version.
|
||||||
|
Copyright (C) 2018-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_TYPES_H
|
||||||
|
# error "Never include <bits/time64.h> directly; use <sys/types.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_TIME64_H
|
||||||
|
#define _BITS_TIME64_H 1
|
||||||
|
|
||||||
|
/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */
|
||||||
|
|
||||||
|
#if __TIMESIZE == 64
|
||||||
|
/* If we already have 64-bit time type then use it. */
|
||||||
|
# define __TIME64_T_TYPE __TIME_T_TYPE
|
||||||
|
#else
|
||||||
|
/* Define a 64-bit time type alongsize the 32-bit one. */
|
||||||
|
# define __TIME64_T_TYPE __SQUAD_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* bits/time64.h */
|
Binary file not shown.
|
@ -0,0 +1,27 @@
|
||||||
|
/* Bit size of the time_t type at glibc build time, x86-64 and x32 case.
|
||||||
|
Copyright (C) 2018-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
#if defined __x86_64__ && defined __ILP32__
|
||||||
|
/* For x32, time is 64-bit even though word size is 32-bit. */
|
||||||
|
# define __TIMESIZE 64
|
||||||
|
#else
|
||||||
|
/* For others, time size is word size. */
|
||||||
|
# define __TIMESIZE __WORDSIZE
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,228 @@
|
||||||
|
/* bits/types.h -- definitions of __*_t types underlying *_t types.
|
||||||
|
Copyright (C) 2002-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Never include this file directly; use <sys/types.h> instead.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _BITS_TYPES_H
|
||||||
|
#define _BITS_TYPES_H 1
|
||||||
|
|
||||||
|
#include <features.h>
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
#include <bits/timesize.h>
|
||||||
|
|
||||||
|
/* Convenience types. */
|
||||||
|
typedef unsigned char __u_char;
|
||||||
|
typedef unsigned short int __u_short;
|
||||||
|
typedef unsigned int __u_int;
|
||||||
|
typedef unsigned long int __u_long;
|
||||||
|
|
||||||
|
/* Fixed-size types, underlying types depend on word size and compiler. */
|
||||||
|
typedef signed char __int8_t;
|
||||||
|
typedef unsigned char __uint8_t;
|
||||||
|
typedef signed short int __int16_t;
|
||||||
|
typedef unsigned short int __uint16_t;
|
||||||
|
typedef signed int __int32_t;
|
||||||
|
typedef unsigned int __uint32_t;
|
||||||
|
#if __WORDSIZE == 64
|
||||||
|
typedef signed long int __int64_t;
|
||||||
|
typedef unsigned long int __uint64_t;
|
||||||
|
#else
|
||||||
|
__extension__ typedef signed long long int __int64_t;
|
||||||
|
__extension__ typedef unsigned long long int __uint64_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Smallest types with at least a given width. */
|
||||||
|
typedef __int8_t __int_least8_t;
|
||||||
|
typedef __uint8_t __uint_least8_t;
|
||||||
|
typedef __int16_t __int_least16_t;
|
||||||
|
typedef __uint16_t __uint_least16_t;
|
||||||
|
typedef __int32_t __int_least32_t;
|
||||||
|
typedef __uint32_t __uint_least32_t;
|
||||||
|
typedef __int64_t __int_least64_t;
|
||||||
|
typedef __uint64_t __uint_least64_t;
|
||||||
|
|
||||||
|
/* quad_t is also 64 bits. */
|
||||||
|
#if __WORDSIZE == 64
|
||||||
|
typedef long int __quad_t;
|
||||||
|
typedef unsigned long int __u_quad_t;
|
||||||
|
#else
|
||||||
|
__extension__ typedef long long int __quad_t;
|
||||||
|
__extension__ typedef unsigned long long int __u_quad_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Largest integral types. */
|
||||||
|
#if __WORDSIZE == 64
|
||||||
|
typedef long int __intmax_t;
|
||||||
|
typedef unsigned long int __uintmax_t;
|
||||||
|
#else
|
||||||
|
__extension__ typedef long long int __intmax_t;
|
||||||
|
__extension__ typedef unsigned long long int __uintmax_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
|
||||||
|
macros for each of the OS types we define below. The definitions
|
||||||
|
of those macros must use the following macros for underlying types.
|
||||||
|
We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
|
||||||
|
variants of each of the following integer types on this machine.
|
||||||
|
|
||||||
|
16 -- "natural" 16-bit type (always short)
|
||||||
|
32 -- "natural" 32-bit type (always int)
|
||||||
|
64 -- "natural" 64-bit type (long or long long)
|
||||||
|
LONG32 -- 32-bit type, traditionally long
|
||||||
|
QUAD -- 64-bit type, traditionally long long
|
||||||
|
WORD -- natural type of __WORDSIZE bits (int or long)
|
||||||
|
LONGWORD -- type of __WORDSIZE bits, traditionally long
|
||||||
|
|
||||||
|
We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
|
||||||
|
conventional uses of `long' or `long long' type modifiers match the
|
||||||
|
types we define, even when a less-adorned type would be the same size.
|
||||||
|
This matters for (somewhat) portably writing printf/scanf formats for
|
||||||
|
these types, where using the appropriate l or ll format modifiers can
|
||||||
|
make the typedefs and the formats match up across all GNU platforms. If
|
||||||
|
we used `long' when it's 64 bits where `long long' is expected, then the
|
||||||
|
compiler would warn about the formats not matching the argument types,
|
||||||
|
and the programmer changing them to shut up the compiler would break the
|
||||||
|
program's portability.
|
||||||
|
|
||||||
|
Here we assume what is presently the case in all the GCC configurations
|
||||||
|
we support: long long is always 64 bits, long is always word/address size,
|
||||||
|
and int is always 32 bits. */
|
||||||
|
|
||||||
|
#define __S16_TYPE short int
|
||||||
|
#define __U16_TYPE unsigned short int
|
||||||
|
#define __S32_TYPE int
|
||||||
|
#define __U32_TYPE unsigned int
|
||||||
|
#define __SLONGWORD_TYPE long int
|
||||||
|
#define __ULONGWORD_TYPE unsigned long int
|
||||||
|
#if __WORDSIZE == 32
|
||||||
|
# define __SQUAD_TYPE __int64_t
|
||||||
|
# define __UQUAD_TYPE __uint64_t
|
||||||
|
# define __SWORD_TYPE int
|
||||||
|
# define __UWORD_TYPE unsigned int
|
||||||
|
# define __SLONG32_TYPE long int
|
||||||
|
# define __ULONG32_TYPE unsigned long int
|
||||||
|
# define __S64_TYPE __int64_t
|
||||||
|
# define __U64_TYPE __uint64_t
|
||||||
|
/* We want __extension__ before typedef's that use nonstandard base types
|
||||||
|
such as `long long' in C89 mode. */
|
||||||
|
# define __STD_TYPE __extension__ typedef
|
||||||
|
#elif __WORDSIZE == 64
|
||||||
|
# define __SQUAD_TYPE long int
|
||||||
|
# define __UQUAD_TYPE unsigned long int
|
||||||
|
# define __SWORD_TYPE long int
|
||||||
|
# define __UWORD_TYPE unsigned long int
|
||||||
|
# define __SLONG32_TYPE int
|
||||||
|
# define __ULONG32_TYPE unsigned int
|
||||||
|
# define __S64_TYPE long int
|
||||||
|
# define __U64_TYPE unsigned long int
|
||||||
|
/* No need to mark the typedef with __extension__. */
|
||||||
|
# define __STD_TYPE typedef
|
||||||
|
#else
|
||||||
|
# error
|
||||||
|
#endif
|
||||||
|
#include <bits/typesizes.h> /* Defines __*_T_TYPE macros. */
|
||||||
|
#include <bits/time64.h> /* Defines __TIME*_T_TYPE macros. */
|
||||||
|
|
||||||
|
|
||||||
|
__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
|
||||||
|
__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
|
||||||
|
__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
|
||||||
|
__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
|
||||||
|
__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
|
||||||
|
__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
|
||||||
|
__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
|
||||||
|
__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
|
||||||
|
__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
|
||||||
|
__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
|
||||||
|
__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
|
||||||
|
__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
|
||||||
|
__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
|
||||||
|
__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
|
||||||
|
__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
|
||||||
|
__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
|
||||||
|
__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
|
||||||
|
__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
|
||||||
|
__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
|
||||||
|
|
||||||
|
__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
|
||||||
|
__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
|
||||||
|
|
||||||
|
/* Clock ID used in clock and timer functions. */
|
||||||
|
__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
|
||||||
|
|
||||||
|
/* Timer ID returned by `timer_create'. */
|
||||||
|
__STD_TYPE __TIMER_T_TYPE __timer_t;
|
||||||
|
|
||||||
|
/* Type to represent block size. */
|
||||||
|
__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
|
||||||
|
|
||||||
|
/* Types from the Large File Support interface. */
|
||||||
|
|
||||||
|
/* Type to count number of disk blocks. */
|
||||||
|
__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
|
||||||
|
__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
|
||||||
|
|
||||||
|
/* Type to count file system blocks. */
|
||||||
|
__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
|
||||||
|
__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
|
||||||
|
|
||||||
|
/* Type to count file system nodes. */
|
||||||
|
__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
|
||||||
|
__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
|
||||||
|
|
||||||
|
/* Type of miscellaneous file system fields. */
|
||||||
|
__STD_TYPE __FSWORD_T_TYPE __fsword_t;
|
||||||
|
|
||||||
|
__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
|
||||||
|
|
||||||
|
/* Signed long type used in system calls. */
|
||||||
|
__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t;
|
||||||
|
/* Unsigned long type used in system calls. */
|
||||||
|
__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t;
|
||||||
|
|
||||||
|
/* These few don't really vary by system, they always correspond
|
||||||
|
to one of the other defined types. */
|
||||||
|
typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
|
||||||
|
typedef char *__caddr_t;
|
||||||
|
|
||||||
|
/* Duplicates info from stdint.h but this is used in unistd.h. */
|
||||||
|
__STD_TYPE __SWORD_TYPE __intptr_t;
|
||||||
|
|
||||||
|
/* Duplicate info from sys/socket.h. */
|
||||||
|
__STD_TYPE __U32_TYPE __socklen_t;
|
||||||
|
|
||||||
|
/* C99: An integer type that can be accessed as an atomic entity,
|
||||||
|
even in the presence of asynchronous interrupts.
|
||||||
|
It is not currently necessary for this to be machine-specific. */
|
||||||
|
typedef int __sig_atomic_t;
|
||||||
|
|
||||||
|
/* Seconds since the Epoch, visible to user code when time_t is too
|
||||||
|
narrow only for consistency with the old way of widening too-narrow
|
||||||
|
types. User code should never use __time64_t. */
|
||||||
|
#if __TIMESIZE == 64 && defined __LIBC
|
||||||
|
# define __time64_t __time_t
|
||||||
|
#elif __TIMESIZE != 64
|
||||||
|
__STD_TYPE __TIME64_T_TYPE __time64_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef __STD_TYPE
|
||||||
|
|
||||||
|
#endif /* bits/types.h */
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef __FILE_defined
|
||||||
|
#define __FILE_defined 1
|
||||||
|
|
||||||
|
struct _IO_FILE;
|
||||||
|
|
||||||
|
/* The opaque type of streams. This is the definition used elsewhere. */
|
||||||
|
typedef struct _IO_FILE FILE;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,7 @@
|
||||||
|
#ifndef ____FILE_defined
|
||||||
|
#define ____FILE_defined 1
|
||||||
|
|
||||||
|
struct _IO_FILE;
|
||||||
|
typedef struct _IO_FILE __FILE;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef _____fpos64_t_defined
|
||||||
|
#define _____fpos64_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
#include <bits/types/__mbstate_t.h>
|
||||||
|
|
||||||
|
/* The tag name of this struct is _G_fpos64_t to preserve historic
|
||||||
|
C++ mangled names for functions taking fpos_t and/or fpos64_t
|
||||||
|
arguments. That name should not be used in new code. */
|
||||||
|
typedef struct _G_fpos64_t
|
||||||
|
{
|
||||||
|
__off64_t __pos;
|
||||||
|
__mbstate_t __state;
|
||||||
|
} __fpos64_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,16 @@
|
||||||
|
#ifndef _____fpos_t_defined
|
||||||
|
#define _____fpos_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
#include <bits/types/__mbstate_t.h>
|
||||||
|
|
||||||
|
/* The tag name of this struct is _G_fpos_t to preserve historic
|
||||||
|
C++ mangled names for functions taking fpos_t arguments.
|
||||||
|
That name should not be used in new code. */
|
||||||
|
typedef struct _G_fpos_t
|
||||||
|
{
|
||||||
|
__off_t __pos;
|
||||||
|
__mbstate_t __state;
|
||||||
|
} __fpos_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,23 @@
|
||||||
|
#ifndef ____mbstate_t_defined
|
||||||
|
#define ____mbstate_t_defined 1
|
||||||
|
|
||||||
|
/* Integral type unchanged by default argument promotions that can
|
||||||
|
hold any value corresponding to members of the extended character
|
||||||
|
set, as well as at least one value that does not correspond to any
|
||||||
|
member of the extended character set. */
|
||||||
|
#ifndef __WINT_TYPE__
|
||||||
|
# define __WINT_TYPE__ unsigned int
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Conversion state information. */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int __count;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
__WINT_TYPE__ __wch;
|
||||||
|
char __wchb[4];
|
||||||
|
} __value; /* Value so far. */
|
||||||
|
} __mbstate_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,10 @@
|
||||||
|
#ifndef ____sigset_t_defined
|
||||||
|
#define ____sigset_t_defined
|
||||||
|
|
||||||
|
#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
unsigned long int __val[_SIGSET_NWORDS];
|
||||||
|
} __sigset_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef __clock_t_defined
|
||||||
|
#define __clock_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Returned by `clock'. */
|
||||||
|
typedef __clock_t clock_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef __clockid_t_defined
|
||||||
|
#define __clockid_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Clock ID used in clock and timer functions. */
|
||||||
|
typedef __clockid_t clockid_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,63 @@
|
||||||
|
/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef __cookie_io_functions_t_defined
|
||||||
|
#define __cookie_io_functions_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Functions to do I/O and file management for a stream. */
|
||||||
|
|
||||||
|
/* Read NBYTES bytes from COOKIE into a buffer pointed to by BUF.
|
||||||
|
Return number of bytes read. */
|
||||||
|
typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
|
||||||
|
size_t __nbytes);
|
||||||
|
|
||||||
|
/* Write NBYTES bytes pointed to by BUF to COOKIE. Write all NBYTES bytes
|
||||||
|
unless there is an error. Return number of bytes written. If
|
||||||
|
there is an error, return 0 and do not write anything. If the file
|
||||||
|
has been opened for append (__mode.__append set), then set the file
|
||||||
|
pointer to the end of the file and then do the write; if not, just
|
||||||
|
write at the current file pointer. */
|
||||||
|
typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
|
||||||
|
size_t __nbytes);
|
||||||
|
|
||||||
|
/* Move COOKIE's file position to *POS bytes from the
|
||||||
|
beginning of the file (if W is SEEK_SET),
|
||||||
|
the current position (if W is SEEK_CUR),
|
||||||
|
or the end of the file (if W is SEEK_END).
|
||||||
|
Set *POS to the new file position.
|
||||||
|
Returns zero if successful, nonzero if not. */
|
||||||
|
typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
|
||||||
|
|
||||||
|
/* Close COOKIE. */
|
||||||
|
typedef int cookie_close_function_t (void *__cookie);
|
||||||
|
|
||||||
|
/* The structure with the cookie function pointers.
|
||||||
|
The tag name of this struct is _IO_cookie_io_functions_t to
|
||||||
|
preserve historic C++ mangled names for functions taking
|
||||||
|
cookie_io_functions_t arguments. That name should not be used in
|
||||||
|
new code. */
|
||||||
|
typedef struct _IO_cookie_io_functions_t
|
||||||
|
{
|
||||||
|
cookie_read_function_t *read; /* Read bytes. */
|
||||||
|
cookie_write_function_t *write; /* Write bytes. */
|
||||||
|
cookie_seek_function_t *seek; /* Seek/tell file position. */
|
||||||
|
cookie_close_function_t *close; /* Close file. */
|
||||||
|
} cookie_io_functions_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef __sigset_t_defined
|
||||||
|
#define __sigset_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types/__sigset_t.h>
|
||||||
|
|
||||||
|
/* A set of signals to be blocked, unblocked, or waited for. */
|
||||||
|
typedef __sigset_t sigset_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,120 @@
|
||||||
|
/* Copyright (C) 1991-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef __struct_FILE_defined
|
||||||
|
#define __struct_FILE_defined 1
|
||||||
|
|
||||||
|
/* Caution: The contents of this file are not part of the official
|
||||||
|
stdio.h API. However, much of it is part of the official *binary*
|
||||||
|
interface, and therefore cannot be changed. */
|
||||||
|
|
||||||
|
#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC
|
||||||
|
# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if defined _IO_lock_t_defined && !defined _LIBC
|
||||||
|
# error "_IO_lock_t_defined should only be defined when building libc itself"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
struct _IO_FILE;
|
||||||
|
struct _IO_marker;
|
||||||
|
struct _IO_codecvt;
|
||||||
|
struct _IO_wide_data;
|
||||||
|
|
||||||
|
/* During the build of glibc itself, _IO_lock_t will already have been
|
||||||
|
defined by internal headers. */
|
||||||
|
#ifndef _IO_lock_t_defined
|
||||||
|
typedef void _IO_lock_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The tag name of this struct is _IO_FILE to preserve historic
|
||||||
|
C++ mangled names for functions taking FILE* arguments.
|
||||||
|
That name should not be used in new code. */
|
||||||
|
struct _IO_FILE
|
||||||
|
{
|
||||||
|
int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
|
||||||
|
|
||||||
|
/* The following pointers correspond to the C++ streambuf protocol. */
|
||||||
|
char *_IO_read_ptr; /* Current read pointer */
|
||||||
|
char *_IO_read_end; /* End of get area. */
|
||||||
|
char *_IO_read_base; /* Start of putback+get area. */
|
||||||
|
char *_IO_write_base; /* Start of put area. */
|
||||||
|
char *_IO_write_ptr; /* Current put pointer. */
|
||||||
|
char *_IO_write_end; /* End of put area. */
|
||||||
|
char *_IO_buf_base; /* Start of reserve area. */
|
||||||
|
char *_IO_buf_end; /* End of reserve area. */
|
||||||
|
|
||||||
|
/* The following fields are used to support backing up and undo. */
|
||||||
|
char *_IO_save_base; /* Pointer to start of non-current get area. */
|
||||||
|
char *_IO_backup_base; /* Pointer to first valid character of backup area */
|
||||||
|
char *_IO_save_end; /* Pointer to end of non-current get area. */
|
||||||
|
|
||||||
|
struct _IO_marker *_markers;
|
||||||
|
|
||||||
|
struct _IO_FILE *_chain;
|
||||||
|
|
||||||
|
int _fileno;
|
||||||
|
int _flags2;
|
||||||
|
__off_t _old_offset; /* This used to be _offset but it's too small. */
|
||||||
|
|
||||||
|
/* 1+column number of pbase(); 0 is unknown. */
|
||||||
|
unsigned short _cur_column;
|
||||||
|
signed char _vtable_offset;
|
||||||
|
char _shortbuf[1];
|
||||||
|
|
||||||
|
_IO_lock_t *_lock;
|
||||||
|
#ifdef _IO_USE_OLD_IO_FILE
|
||||||
|
};
|
||||||
|
|
||||||
|
struct _IO_FILE_complete
|
||||||
|
{
|
||||||
|
struct _IO_FILE _file;
|
||||||
|
#endif
|
||||||
|
__off64_t _offset;
|
||||||
|
/* Wide character stream stuff. */
|
||||||
|
struct _IO_codecvt *_codecvt;
|
||||||
|
struct _IO_wide_data *_wide_data;
|
||||||
|
struct _IO_FILE *_freeres_list;
|
||||||
|
void *_freeres_buf;
|
||||||
|
size_t __pad5;
|
||||||
|
int _mode;
|
||||||
|
/* Make sure we don't get into trouble again. */
|
||||||
|
char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
|
||||||
|
};
|
||||||
|
|
||||||
|
/* These macros are used by bits/stdio.h and internal headers. */
|
||||||
|
#define __getc_unlocked_body(_fp) \
|
||||||
|
(__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \
|
||||||
|
? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
|
||||||
|
|
||||||
|
#define __putc_unlocked_body(_ch, _fp) \
|
||||||
|
(__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \
|
||||||
|
? __overflow (_fp, (unsigned char) (_ch)) \
|
||||||
|
: (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
|
||||||
|
|
||||||
|
#define _IO_EOF_SEEN 0x0010
|
||||||
|
#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0)
|
||||||
|
|
||||||
|
#define _IO_ERR_SEEN 0x0020
|
||||||
|
#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0)
|
||||||
|
|
||||||
|
#define _IO_USER_LOCK 0x8000
|
||||||
|
/* Many more flag bits are defined internally. */
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,33 @@
|
||||||
|
/* NB: Include guard matches what <linux/time.h> uses. */
|
||||||
|
#ifndef _STRUCT_TIMESPEC
|
||||||
|
#define _STRUCT_TIMESPEC 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
#include <bits/endian.h>
|
||||||
|
#include <bits/types/time_t.h>
|
||||||
|
|
||||||
|
/* POSIX.1b structure for a time value. This is like a `struct timeval' but
|
||||||
|
has nanoseconds instead of microseconds. */
|
||||||
|
struct timespec
|
||||||
|
{
|
||||||
|
#ifdef __USE_TIME_BITS64
|
||||||
|
__time64_t tv_sec; /* Seconds. */
|
||||||
|
#else
|
||||||
|
__time_t tv_sec; /* Seconds. */
|
||||||
|
#endif
|
||||||
|
#if __WORDSIZE == 64 \
|
||||||
|
|| (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
|
||||||
|
|| (__TIMESIZE == 32 && !defined __USE_TIME_BITS64)
|
||||||
|
__syscall_slong_t tv_nsec; /* Nanoseconds. */
|
||||||
|
#else
|
||||||
|
# if __BYTE_ORDER == __BIG_ENDIAN
|
||||||
|
int: 32; /* Padding. */
|
||||||
|
long int tv_nsec; /* Nanoseconds. */
|
||||||
|
# else
|
||||||
|
long int tv_nsec; /* Nanoseconds. */
|
||||||
|
int: 32; /* Padding. */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef __timeval_defined
|
||||||
|
#define __timeval_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* A time value that is accurate to the nearest
|
||||||
|
microsecond but also has a range of years. */
|
||||||
|
struct timeval
|
||||||
|
{
|
||||||
|
#ifdef __USE_TIME_BITS64
|
||||||
|
__time64_t tv_sec; /* Seconds. */
|
||||||
|
__suseconds64_t tv_usec; /* Microseconds. */
|
||||||
|
#else
|
||||||
|
__time_t tv_sec; /* Seconds. */
|
||||||
|
__suseconds_t tv_usec; /* Microseconds. */
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,13 @@
|
||||||
|
#ifndef __time_t_defined
|
||||||
|
#define __time_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Returned by `time'. */
|
||||||
|
#ifdef __USE_TIME_BITS64
|
||||||
|
typedef __time64_t time_t;
|
||||||
|
#else
|
||||||
|
typedef __time_t time_t;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
#ifndef __timer_t_defined
|
||||||
|
#define __timer_t_defined 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* Timer ID returned by `timer_create'. */
|
||||||
|
typedef __timer_t timer_t;
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
|
@ -0,0 +1,106 @@
|
||||||
|
/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
|
||||||
|
Copyright (C) 2012-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _BITS_TYPES_H
|
||||||
|
# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_TYPESIZES_H
|
||||||
|
#define _BITS_TYPESIZES_H 1
|
||||||
|
|
||||||
|
/* See <bits/types.h> for the meaning of these macros. This file exists so
|
||||||
|
that <bits/types.h> need not vary across different GNU platforms. */
|
||||||
|
|
||||||
|
/* X32 kernel interface is 64-bit. */
|
||||||
|
#if defined __x86_64__ && defined __ILP32__
|
||||||
|
# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
|
||||||
|
# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
|
||||||
|
#else
|
||||||
|
# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
|
||||||
|
# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __DEV_T_TYPE __UQUAD_TYPE
|
||||||
|
#define __UID_T_TYPE __U32_TYPE
|
||||||
|
#define __GID_T_TYPE __U32_TYPE
|
||||||
|
#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
|
||||||
|
#define __INO64_T_TYPE __UQUAD_TYPE
|
||||||
|
#define __MODE_T_TYPE __U32_TYPE
|
||||||
|
#ifdef __x86_64__
|
||||||
|
# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
|
||||||
|
# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#else
|
||||||
|
# define __NLINK_T_TYPE __UWORD_TYPE
|
||||||
|
# define __FSWORD_T_TYPE __SWORD_TYPE
|
||||||
|
#endif
|
||||||
|
#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#define __OFF64_T_TYPE __SQUAD_TYPE
|
||||||
|
#define __PID_T_TYPE __S32_TYPE
|
||||||
|
#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
|
||||||
|
#define __RLIM64_T_TYPE __UQUAD_TYPE
|
||||||
|
#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#define __BLKCNT64_T_TYPE __SQUAD_TYPE
|
||||||
|
#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
||||||
|
#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
|
||||||
|
#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
|
||||||
|
#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
|
||||||
|
#define __ID_T_TYPE __U32_TYPE
|
||||||
|
#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#define __USECONDS_T_TYPE __U32_TYPE
|
||||||
|
#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
|
||||||
|
#define __DADDR_T_TYPE __S32_TYPE
|
||||||
|
#define __KEY_T_TYPE __S32_TYPE
|
||||||
|
#define __CLOCKID_T_TYPE __S32_TYPE
|
||||||
|
#define __TIMER_T_TYPE void *
|
||||||
|
#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
|
||||||
|
#define __FSID_T_TYPE struct { int __val[2]; }
|
||||||
|
#define __SSIZE_T_TYPE __SWORD_TYPE
|
||||||
|
#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
/* Tell the libc code that off_t and off64_t are actually the same type
|
||||||
|
for all ABI purposes, even if possibly expressed as different base types
|
||||||
|
for C type-checking purposes. */
|
||||||
|
# define __OFF_T_MATCHES_OFF64_T 1
|
||||||
|
|
||||||
|
/* Same for ino_t and ino64_t. */
|
||||||
|
# define __INO_T_MATCHES_INO64_T 1
|
||||||
|
|
||||||
|
/* And for __rlim_t and __rlim64_t. */
|
||||||
|
# define __RLIM_T_MATCHES_RLIM64_T 1
|
||||||
|
|
||||||
|
/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
|
||||||
|
# define __STATFS_MATCHES_STATFS64 1
|
||||||
|
|
||||||
|
/* And for getitimer, setitimer and rusage */
|
||||||
|
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
|
||||||
|
#else
|
||||||
|
# define __RLIM_T_MATCHES_RLIM64_T 0
|
||||||
|
|
||||||
|
# define __STATFS_MATCHES_STATFS64 0
|
||||||
|
|
||||||
|
# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Number of descriptors that can fit in an `fd_set'. */
|
||||||
|
#define __FD_SETSIZE 1024
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* bits/typesizes.h */
|
Binary file not shown.
|
@ -0,0 +1,50 @@
|
||||||
|
/* Inline functions to return unsigned integer values unchanged.
|
||||||
|
Copyright (C) 2017-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _NETINET_IN_H && !defined _ENDIAN_H
|
||||||
|
# error "Never use <bits/uintn-identity.h> directly; include <netinet/in.h> or <endian.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _BITS_UINTN_IDENTITY_H
|
||||||
|
#define _BITS_UINTN_IDENTITY_H 1
|
||||||
|
|
||||||
|
#include <bits/types.h>
|
||||||
|
|
||||||
|
/* These inline functions are to ensure the appropriate type
|
||||||
|
conversions and associated diagnostics from macros that convert to
|
||||||
|
a given endianness. */
|
||||||
|
|
||||||
|
static __inline __uint16_t
|
||||||
|
__uint16_identity (__uint16_t __x)
|
||||||
|
{
|
||||||
|
return __x;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline __uint32_t
|
||||||
|
__uint32_identity (__uint32_t __x)
|
||||||
|
{
|
||||||
|
return __x;
|
||||||
|
}
|
||||||
|
|
||||||
|
static __inline __uint64_t
|
||||||
|
__uint64_identity (__uint64_t __x)
|
||||||
|
{
|
||||||
|
return __x;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _BITS_UINTN_IDENTITY_H. */
|
Binary file not shown.
|
@ -0,0 +1,50 @@
|
||||||
|
/* System-specific extensions of <unistd.h>, Linux version.
|
||||||
|
Copyright (C) 2019-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#ifndef _UNISTD_H
|
||||||
|
# error "Never include <bits/unistd_ext.h> directly; use <unistd.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef __USE_GNU
|
||||||
|
|
||||||
|
/* Return the kernel thread ID (TID) of the current thread. The
|
||||||
|
returned value is not subject to caching. Most Linux system calls
|
||||||
|
accept a TID in place of a PID. Using the TID to change properties
|
||||||
|
of a thread that has been created using pthread_create can lead to
|
||||||
|
undefined behavior (comparable to manipulating file descriptors
|
||||||
|
directly that have not been created explicitly). Note that a TID
|
||||||
|
uniquely identifies a thread only while this thread is running; a
|
||||||
|
TID can be reused once a thread has exited, even if the thread is
|
||||||
|
not detached and has not been joined. */
|
||||||
|
extern __pid_t gettid (void) __THROW;
|
||||||
|
|
||||||
|
#ifdef __has_include
|
||||||
|
# if __has_include ("linux/close_range.h")
|
||||||
|
# include "linux/close_range.h"
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
/* Unshare the file descriptor table before closing file descriptors. */
|
||||||
|
#ifndef CLOSE_RANGE_UNSHARE
|
||||||
|
# define CLOSE_RANGE_UNSHARE (1U << 1)
|
||||||
|
#endif
|
||||||
|
/* Set the FD_CLOEXEC bit instead of closing the file descriptor. */
|
||||||
|
#ifndef CLOSE_RANGE_CLOEXEC
|
||||||
|
# define CLOSE_RANGE_CLOEXEC (1U << 2)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* __USE_GNU */
|
Binary file not shown.
|
@ -0,0 +1,39 @@
|
||||||
|
/* Definitions of flag bits for `waitpid' et al.
|
||||||
|
Copyright (C) 1992-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _SYS_WAIT_H && !defined _STDLIB_H
|
||||||
|
# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Bits in the third argument to `waitpid'. */
|
||||||
|
#define WNOHANG 1 /* Don't block waiting. */
|
||||||
|
#define WUNTRACED 2 /* Report status of stopped children. */
|
||||||
|
|
||||||
|
/* Bits in the fourth argument to `waitid'. */
|
||||||
|
#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
|
||||||
|
# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */
|
||||||
|
# define WEXITED 4 /* Report dead child. */
|
||||||
|
# define WCONTINUED 8 /* Report continued child. */
|
||||||
|
# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads
|
||||||
|
in this group */
|
||||||
|
#define __WALL 0x40000000 /* Wait for any child. */
|
||||||
|
#define __WCLONE 0x80000000 /* Wait for cloned process. */
|
Binary file not shown.
|
@ -0,0 +1,59 @@
|
||||||
|
/* Definitions of status bits for `wait' et al.
|
||||||
|
Copyright (C) 1992-2024 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#if !defined _SYS_WAIT_H && !defined _STDLIB_H
|
||||||
|
# error "Never include <bits/waitstatus.h> directly; use <sys/wait.h> instead."
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Everything extant so far uses these same bits. */
|
||||||
|
|
||||||
|
|
||||||
|
/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
|
||||||
|
#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
|
||||||
|
|
||||||
|
/* If WIFSIGNALED(STATUS), the terminating signal. */
|
||||||
|
#define __WTERMSIG(status) ((status) & 0x7f)
|
||||||
|
|
||||||
|
/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
|
||||||
|
#define __WSTOPSIG(status) __WEXITSTATUS(status)
|
||||||
|
|
||||||
|
/* Nonzero if STATUS indicates normal termination. */
|
||||||
|
#define __WIFEXITED(status) (__WTERMSIG(status) == 0)
|
||||||
|
|
||||||
|
/* Nonzero if STATUS indicates termination by a signal. */
|
||||||
|
#define __WIFSIGNALED(status) \
|
||||||
|
(((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
|
||||||
|
|
||||||
|
/* Nonzero if STATUS indicates the child is stopped. */
|
||||||
|
#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
|
||||||
|
|
||||||
|
/* Nonzero if STATUS indicates the child continued after a stop. We only
|
||||||
|
define this if <bits/waitflags.h> provides the WCONTINUED flag bit. */
|
||||||
|
#ifdef WCONTINUED
|
||||||
|
# define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Nonzero if STATUS indicates the child dumped core. */
|
||||||
|
#define __WCOREDUMP(status) ((status) & __WCOREFLAG)
|
||||||
|
|
||||||
|
/* Macros for constructing status values. */
|
||||||
|
#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
|
||||||
|
#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
|
||||||
|
#define __W_CONTINUED 0xffff
|
||||||
|
#define __WCOREFLAG 0x80
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue