mirror of
https://github.com/sharkdp/bat.git
synced 2025-02-20 11:58:45 +00:00
End highlighting of C code in man pages when no longer relevant
This commit is contained in:
parent
41e857ea16
commit
cfdb853ea6
21
assets/syntaxes/02_Extra/Manpage.sublime-syntax
vendored
21
assets/syntaxes/02_Extra/Manpage.sublime-syntax
vendored
@ -34,28 +34,30 @@ contexts:
|
||||
scope: markup.heading.title.man
|
||||
- match: \s\s
|
||||
pop: true
|
||||
- match: '(?=\S)'
|
||||
- match: '(?=\S|$)'
|
||||
pop: true
|
||||
|
||||
- match: '$'
|
||||
push: body
|
||||
set: body
|
||||
|
||||
body:
|
||||
# English, ..., ..., ..., Russian, ...
|
||||
|
||||
- match: '^(?:SYNOPSIS|SYNTAX|SINTASSI|SKŁADNIA|СИНТАКСИС|書式)'
|
||||
- match: '^(?:SYNOPSIS|SYNTAX|SINTASSI|SK\u0141ADNIA|\u0421\u0418\u041d\u0422\u0410\u041a\u0421\u0418\u0421|\u66f8\u5f0f)'
|
||||
scope: markup.heading.synopsis.man
|
||||
embed: synopsis
|
||||
escape: '(?={{section_heading}})'
|
||||
|
||||
- match: '^(?:USAGE)'
|
||||
scope: markup.heading.synopsis.man
|
||||
embed: synopsis
|
||||
escape: '(?={{section_heading}})'
|
||||
|
||||
- match: '{{section_heading}}'
|
||||
scope: markup.heading.other.man
|
||||
embed: options # some man pages put command line options under the description heading
|
||||
escape: '(?={{section_heading}})'
|
||||
|
||||
- include: function-call
|
||||
|
||||
function-call:
|
||||
- match: '\b([A-Za-z0-9_\-]+)(\()([^)]*)(\))'
|
||||
captures:
|
||||
@ -129,8 +131,12 @@ contexts:
|
||||
pop: true
|
||||
|
||||
c-code:
|
||||
- match: '^(?=\s+(?:#include|/\*))'
|
||||
push: scope:source.c
|
||||
#- match: '^(\s+)(?=#include\b|#define\b|/\*|struct\s+\w+\s*\{)'
|
||||
- match: '^(?=\s+(?:#include\b|#define\b|/\*|struct\s+(\w+\s*)?\{))'
|
||||
embed: scope:source.c
|
||||
#embed_scope: source.c.embedded.man
|
||||
#escape: ^(?!#|\1|\s*(?:$|/\*|#include\b|#define\b))
|
||||
escape: ^(?=\s*(?:\(.*\.\)\s*$|[A-Z](?![A-Z])))
|
||||
|
||||
synopsis:
|
||||
- include: c-code
|
||||
@ -144,6 +150,7 @@ contexts:
|
||||
captures:
|
||||
1: keyword.operator.logical.man
|
||||
#- match: (?={{command_line_option}})
|
||||
- match: \w+-\w+
|
||||
- match: (?=-)
|
||||
push:
|
||||
- match: (?=\s*\|)
|
||||
|
30
assets/syntaxes/02_Extra/syntax_test_man.man
vendored
30
assets/syntaxes/02_Extra/syntax_test_man.man
vendored
@ -5,7 +5,7 @@ SOMETHING(8) System Manager's Manual SOMETHING(8)
|
||||
# ^^^^^^^ meta.preprocessor
|
||||
|
||||
NAME
|
||||
#^^^ markup.heading.title
|
||||
#^^^ markup.heading.other
|
||||
example - do something useful
|
||||
|
||||
SYNOPSIS
|
||||
@ -45,9 +45,16 @@ SYNOPSIS
|
||||
[--quiet] [--debug] [--help|-h] [--version] [--conf FILE]
|
||||
|
||||
/* According to POSIX.1-2001, POSIX.1-2008 */
|
||||
# ^^ source comment.block punctuation.definition.comment
|
||||
# ^^ source.c comment.block punctuation.definition.comment
|
||||
#include <sys/select.h>
|
||||
# ^^^^^^^^ source meta.preprocessor.include keyword.control.import.include
|
||||
# ^^^^^^^^ source.c meta.preprocessor.include keyword.control.import.include
|
||||
struct timeval {
|
||||
# ^^^^^^ source.c storage.type
|
||||
|
||||
time_t tv_sec; /* seconds */
|
||||
suseconds_t tv_usec; /* microseconds */
|
||||
};
|
||||
|
||||
|
||||
|
||||
DESCRIPTION
|
||||
@ -126,4 +133,19 @@ OPTIONS
|
||||
|
||||
EXAMPLE
|
||||
#include <stdio.h>
|
||||
# ^^^^^^^^ source meta.preprocessor.include keyword.control.import.include
|
||||
# ^^^^^^^^ source.c meta.preprocessor.include keyword.control.import.include
|
||||
|
||||
(This is not C code.)
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^ - source.c
|
||||
|
||||
struct timeval {
|
||||
time_t tv_sec; /* seconds */
|
||||
suseconds_t tv_usec; /* microseconds */
|
||||
};
|
||||
# ^ source.c punctuation.terminator
|
||||
|
||||
The corresponding argument for pselect() has the following type:
|
||||
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - source.c
|
||||
#define POLLIN_SET (EPOLLRDNORM | EPOLLRDBAND | EPOLLIN |
|
||||
EPOLLHUP | EPOLLERR)
|
||||
# ^ source.c meta.preprocessor.macro meta.group punctuation.section.group.end
|
||||
|
@ -1,12 +1,12 @@
|
||||
[38;2;190;132;255mBAT[0m[38;2;249;38;114m([0m[38;2;230;219;116m1[0m[38;2;249;38;114m)[0m[38;2;248;248;242m General Commands Manual [0m[38;2;190;132;255mBAT[0m[38;2;249;38;114m([0m[38;2;230;219;116m1[0m[38;2;249;38;114m)[0m
|
||||
[38;2;190;132;255mBAT[0m[38;2;249;38;114m([0m[38;2;230;219;116m1[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;253;151;31mGeneral[0m[38;2;253;151;31m [0m[38;2;253;151;31mCommands[0m[38;2;253;151;31m [0m[38;2;253;151;31mManual[0m[38;2;248;248;242m [0m[38;2;190;132;255mBAT[0m[38;2;249;38;114m([0m[38;2;230;219;116m1[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;253;151;31mNAME[0m
|
||||
[38;2;248;248;242m bat - a [0m[38;2;166;226;46mcat[0m[38;2;249;38;114m([0m[38;2;190;132;255m1[0m[38;2;249;38;114m)[0m[38;2;248;248;242m clone with syntax highlighting and Git integration.[0m
|
||||
|
||||
[38;2;253;151;31mUSAGE[0m
|
||||
[38;2;248;248;242m bat [OPTIONS] [FILE]...[0m
|
||||
[38;2;248;248;242m bat [0m[38;2;248;248;242m[[0m[38;2;248;248;242mOPTIONS[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;248;248;242mFILE[0m[38;2;248;248;242m][0m[38;2;248;248;242m...[0m
|
||||
|
||||
[38;2;248;248;242m bat cache [CACHE-OPTIONS] [[0m[38;2;166;226;46m--build[0m[38;2;248;248;242m|[0m[38;2;166;226;46m--clear[0m[38;2;248;248;242m][0m
|
||||
[38;2;248;248;242m bat cache [0m[38;2;248;248;242m[[0m[38;2;248;248;242mCACHE-OPTIONS[0m[38;2;248;248;242m][0m[38;2;248;248;242m [0m[38;2;248;248;242m[[0m[38;2;166;226;46m--build[0m[38;2;249;38;114m|[0m[38;2;166;226;46m--clear[0m[38;2;248;248;242m][0m
|
||||
|
||||
[38;2;253;151;31mDESCRIPTION[0m
|
||||
[38;2;248;248;242m bat prints the syntax-highlighted content of a collection of FILEs to[0m
|
||||
@ -28,19 +28,19 @@
|
||||
[38;2;248;248;242m values can be specified as either '[0m[38;2;166;226;46m--language[0m[38;2;248;248;242m value', '[0m[38;2;166;226;46m--lan[0m[38;2;248;248;242m‐[0m
|
||||
[38;2;248;248;242m guage=value', '[0m[38;2;166;226;46m-l[0m[38;2;248;248;242m value' or '[0m[38;2;166;226;46m-lvalue[0m[38;2;248;248;242m'.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-A[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--show-all[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-A[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--show-all[0m
|
||||
|
||||
[38;2;248;248;242m Show non-printable characters like space, tab or newline. Use[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--tabs[0m[38;2;248;248;242m' to control the width of the tab-placeholders.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-p[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--plain[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-p[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--plain[0m
|
||||
|
||||
[38;2;248;248;242m Only show plain style, no decorations. This is an alias for[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--style[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mplain[0m[38;2;248;248;242m'. When '[0m[38;2;166;226;46m-p[0m[38;2;248;248;242m' is used twice ('[0m[38;2;166;226;46m-pp[0m[38;2;248;248;242m'), it also dis‐[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--style[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mplain'[0m[38;2;248;248;242m. When '[0m[38;2;166;226;46m-p[0m[38;2;248;248;242m' is used twice ('[0m[38;2;166;226;46m-pp[0m[38;2;248;248;242m'), it also dis‐[0m
|
||||
[38;2;248;248;242m ables automatic paging (alias for '[0m[38;2;166;226;46m--style[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mplain[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--pager[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mnever[0m[38;2;248;248;242m').[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--pager[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mnever'[0m[38;2;248;248;242m).[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-l[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--language[0m[38;2;248;248;242m <language>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-l[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--language[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mlanguage[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Explicitly set the language for syntax highlighting. The lan‐[0m
|
||||
[38;2;248;248;242m guage can be specified as a name (like 'C++' or 'LaTeX') or pos‐[0m
|
||||
@ -65,54 +65,54 @@
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--highlight-line[0m[38;2;248;248;242m 40:[0m
|
||||
[38;2;248;248;242m highlights lines 40 to the end of the file[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--tabs[0m[38;2;248;248;242m <T>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--tabs[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mT[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Set the tab width to T spaces. Use a width of 0 to pass tabs[0m
|
||||
[38;2;248;248;242m through directly[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--wrap[0m[38;2;248;248;242m <mode>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--wrap[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mmode[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Specify the text-wrapping mode (*auto*, never, character). The[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--terminal-width[0m[38;2;248;248;242m' option can be used in addition to control the[0m
|
||||
[38;2;248;248;242m output width.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--terminal-width[0m[38;2;248;248;242m <width>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--terminal-width[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mwidth[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Explicitly set the width of the terminal instead of determining[0m
|
||||
[38;2;248;248;242m it automatically. If prefixed with '+' or '-', the value will be[0m
|
||||
[38;2;248;248;242m treated as an offset to the actual terminal width. See also:[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--wrap[0m[38;2;248;248;242m'.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-n[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--number[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-n[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--number[0m
|
||||
|
||||
[38;2;248;248;242m Only show line numbers, no other decorations. This is an alias[0m
|
||||
[38;2;248;248;242m for '[0m[38;2;166;226;46m--style[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mnumbers[0m[38;2;248;248;242m'[0m
|
||||
[38;2;248;248;242m for '[0m[38;2;166;226;46m--style[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31mnumbers'[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--color[0m[38;2;248;248;242m <when>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--color[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mwhen[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Specify when to use colored output. The automatic mode only en‐[0m
|
||||
[38;2;248;248;242m ables colors if an interactive terminal is detected. Possible[0m
|
||||
[38;2;248;248;242m values: *auto*, never, always.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--italic-text[0m[38;2;248;248;242m <when>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--italic-text[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mwhen[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Specify when to use ANSI sequences for italic text in the out‐[0m
|
||||
[38;2;248;248;242m put. Possible values: always, *never*.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--decorations[0m[38;2;248;248;242m <when>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--decorations[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mwhen[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Specify when to use the decorations that have been specified via[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--style[0m[38;2;248;248;242m'. The automatic mode only enables decorations if an in‐[0m
|
||||
[38;2;248;248;242m teractive terminal is detected. Possible values: *auto*, never,[0m
|
||||
[38;2;248;248;242m always.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-f[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--force-colorization[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-f[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--force-colorization[0m
|
||||
|
||||
[38;2;248;248;242m Alias for '[0m[38;2;166;226;46m--decorations[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31malways[0m[38;2;248;248;242m [0m[38;2;166;226;46m--color[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31malways[0m[38;2;248;248;242m'. This is useful[0m
|
||||
[38;2;248;248;242m Alias for '[0m[38;2;166;226;46m--decorations[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31malways[0m[38;2;248;248;242m [0m[38;2;166;226;46m--color[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31malways'[0m[38;2;248;248;242m. This is useful[0m
|
||||
[38;2;248;248;242m if the output of bat is piped to another program, but you want[0m
|
||||
[38;2;248;248;242m to keep the colorization/decorations.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--paging[0m[38;2;248;248;242m <when>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--paging[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mwhen[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Specify when to use the pager. To disable the pager, use '[0m[38;2;166;226;46m--pag[0m[38;2;248;248;242m‐[0m
|
||||
[38;2;248;248;242m ing=never' or its alias, [0m[38;2;166;226;46m-P[0m[38;2;248;248;242m. To disable the pager permanently,[0m
|
||||
@ -120,7 +120,7 @@
|
||||
[38;2;248;248;242m used, see the '[0m[38;2;166;226;46m--pager[0m[38;2;248;248;242m' option. Possible values: *auto*, never,[0m
|
||||
[38;2;248;248;242m always.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--pager[0m[38;2;248;248;242m <command>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--pager[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mcommand[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Determine which pager is used. This option will override the[0m
|
||||
[38;2;248;248;242m PAGER and BAT_PAGER environment variables. The default pager is[0m
|
||||
@ -135,24 +135,24 @@
|
||||
[38;2;248;248;242m '*.build:Python'. To highlight files named '.myignore' with the[0m
|
||||
[38;2;248;248;242m Git Ignore syntax, use [0m[38;2;166;226;46m-m[0m[38;2;248;248;242m '.myignore:Git Ignore'.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--theme[0m[38;2;248;248;242m <theme>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--theme[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mtheme[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Set the theme for syntax highlighting. Use '[0m[38;2;166;226;46m--list-themes[0m[38;2;248;248;242m' to[0m
|
||||
[38;2;248;248;242m see all available themes. To set a default theme, add the[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--theme[0m[38;2;248;248;242m="..."' option to the configuration file or export the[0m
|
||||
[38;2;248;248;242m '[0m[38;2;166;226;46m--theme[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31m"[0m[38;2;248;248;242m..."' option to the configuration file or export the[0m
|
||||
[38;2;248;248;242m BAT_THEME environment variable (e.g.: export BAT_THEME="...").[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--list-themes[0m
|
||||
|
||||
[38;2;248;248;242m Display a list of supported themes for syntax highlighting.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--style[0m[38;2;248;248;242m <style-components>[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--style[0m[38;2;248;248;242m <[0m[3;38;2;253;151;31mstyle-components[0m[38;2;248;248;242m>[0m
|
||||
|
||||
[38;2;248;248;242m Configure which elements (line numbers, file headers, grid bor‐[0m
|
||||
[38;2;248;248;242m ders, Git modifications, ..) to display in addition to the file[0m
|
||||
[38;2;248;248;242m contents. The argument is a comma-separated list of components[0m
|
||||
[38;2;248;248;242m to display (e.g. 'numbers,changes,grid') or a pre-defined style[0m
|
||||
[38;2;248;248;242m ('full'). To set a default style, add the '[0m[38;2;166;226;46m--style[0m[38;2;248;248;242m=".."' option[0m
|
||||
[38;2;248;248;242m ('full'). To set a default style, add the '[0m[38;2;166;226;46m--style[0m[38;2;249;38;114m=[0m[3;38;2;253;151;31m"[0m[38;2;248;248;242m.."' option[0m
|
||||
[38;2;248;248;242m to the configuration file or export the BAT_STYLE environment[0m
|
||||
[38;2;248;248;242m variable (e.g.: export BAT_STYLE=".."). Possible values: *auto*,[0m
|
||||
[38;2;248;248;242m full, plain, changes, header, grid, numbers, snip.[0m
|
||||
@ -171,21 +171,21 @@
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m--line-range[0m[38;2;248;248;242m 40:[0m
|
||||
[38;2;248;248;242m prints lines 40 to the end of the file[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-L[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--list-languages[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-L[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--list-languages[0m
|
||||
|
||||
[38;2;248;248;242m Display a list of supported languages for syntax highlighting.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-u[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--unbuffered[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-u[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--unbuffered[0m
|
||||
|
||||
[38;2;248;248;242m This option exists for POSIX-compliance reasons ('u' is for 'un‐[0m
|
||||
[38;2;248;248;242m buffered'). The output is always unbuffered - this option is[0m
|
||||
[38;2;248;248;242m simply ignored.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-h[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--help[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-h[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--help[0m
|
||||
|
||||
[38;2;248;248;242m Print this help message.[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-V[0m[38;2;248;248;242m, [0m[38;2;166;226;46m--version[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46m-V[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;166;226;46m--version[0m
|
||||
|
||||
[38;2;248;248;242m Show version information.[0m
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
[38;2;190;132;255mSELECT[0m[38;2;249;38;114m([0m[38;2;230;219;116m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m Linux Programmer's Manual [0m[38;2;190;132;255mSELECT[0m[38;2;249;38;114m([0m[38;2;230;219;116m2[0m[38;2;249;38;114m)[0m
|
||||
[38;2;190;132;255mSELECT[0m[38;2;249;38;114m([0m[38;2;230;219;116m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m [0m[38;2;253;151;31mLinux[0m[38;2;253;151;31m [0m[38;2;253;151;31mProgrammer's[0m[38;2;253;151;31m [0m[38;2;253;151;31mManual[0m[38;2;248;248;242m [0m[38;2;190;132;255mSELECT[0m[38;2;249;38;114m([0m[38;2;230;219;116m2[0m[38;2;249;38;114m)[0m
|
||||
|
||||
[38;2;253;151;31mNAME[0m
|
||||
[38;2;248;248;242m select, pselect, FD_CLR, FD_ISSET, FD_SET, FD_ZERO - synchronous I/O multiplexing[0m
|
||||
@ -18,9 +18,9 @@
|
||||
[38;2;248;248;242m fd_set [0m[38;2;249;38;114m*[0m[3;38;2;253;151;31mexceptfds[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;249;38;114mconst[0m[38;2;248;248;242m [0m[3;38;2;102;217;239mstruct[0m[38;2;248;248;242m timespec [0m[38;2;249;38;114m*[0m[3;38;2;253;151;31mtimeout[0m[38;2;248;248;242m,[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mconst[0m[38;2;248;248;242m sigset_t [0m[38;2;249;38;114m*[0m[3;38;2;253;151;31msigmask[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m Feature Test Macro Requirements for [0m[38;2;166;226;46mglibc[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242msee [0m[38;2;248;248;242mfeature_test_macros[0m[38;2;248;248;242m([0m[38;2;190;132;255m7[0m[38;2;248;248;242m)[0m[38;2;248;248;242m)[0m[38;2;249;38;114m:[0m
|
||||
[38;2;248;248;242m Feature Test Macro Requirements for glibc (see [0m[38;2;166;226;46mfeature_test_macros[0m[38;2;249;38;114m([0m[38;2;190;132;255m7[0m[38;2;249;38;114m)[0m[38;2;248;248;242m):[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mpselect[0m[38;2;248;248;242m([0m[38;2;248;248;242m)[0m[38;2;249;38;114m:[0m[38;2;248;248;242m _POSIX_C_SOURCE [0m[38;2;249;38;114m>=[0m[38;2;248;248;242m [0m[38;2;190;132;255m200112[0m[3;38;2;102;217;239mL[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mpselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m: _POSIX_C_SOURCE >= 200112L[0m
|
||||
|
||||
[38;2;253;151;31mDESCRIPTION[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m allows a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become[0m
|
||||
@ -142,17 +142,17 @@
|
||||
[38;2;248;248;242m The timeout[0m
|
||||
[38;2;248;248;242m The timeout argument for [0m[38;2;166;226;46mselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m is a structure of the following type:[0m
|
||||
|
||||
[38;2;248;248;242m struct timeval {[0m
|
||||
[38;2;248;248;242m time_t tv_sec; /* seconds */[0m
|
||||
[38;2;248;248;242m suseconds_t tv_usec; /* microseconds */[0m
|
||||
[38;2;248;248;242m };[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mstruct[0m[38;2;248;248;242m [0m[38;2;166;226;46mtimeval[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mtime_t[0m[38;2;248;248;242m tv_sec[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m seconds [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46msuseconds_t[0m[38;2;248;248;242m tv_usec[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m microseconds [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m The corresponding argument for [0m[38;2;166;226;46mpselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m has the following type:[0m
|
||||
|
||||
[38;2;248;248;242m struct timespec {[0m
|
||||
[38;2;248;248;242m time_t tv_sec; /* seconds */[0m
|
||||
[38;2;248;248;242m long tv_nsec; /* nanoseconds */[0m
|
||||
[38;2;248;248;242m };[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mstruct[0m[38;2;248;248;242m [0m[38;2;166;226;46mtimespec[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46mtime_t[0m[38;2;248;248;242m tv_sec[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m seconds [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mlong[0m[38;2;248;248;242m tv_nsec[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m nanoseconds [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m On Linux, [0m[38;2;166;226;46mselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m modifies timeout to reflect the amount of time not slept; most other implementations do not do this.[0m
|
||||
[38;2;248;248;242m (POSIX.1 permits either behavior.) This causes problems both when Linux code which reads timeout is ported to other operating[0m
|
||||
@ -213,14 +213,14 @@
|
||||
[38;2;248;248;242m Within the Linux kernel source, we find the following definitions which show the correspondence between the readable,[0m
|
||||
[38;2;248;248;242m writable, and exceptional condition notifications of [0m[38;2;166;226;46mselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m and the event notifications provided by [0m[38;2;166;226;46mpoll[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m and [0m[38;2;166;226;46mepoll[0m[38;2;249;38;114m([0m[38;2;190;132;255m7[0m[38;2;249;38;114m)[0m[38;2;248;248;242m:[0m
|
||||
|
||||
[38;2;248;248;242m #define POLLIN_SET (EPOLLRDNORM | EPOLLRDBAND | EPOLLIN |[0m
|
||||
[38;2;248;248;242m EPOLLHUP | EPOLLERR)[0m
|
||||
[38;2;248;248;242m /* Ready for reading */[0m
|
||||
[38;2;248;248;242m #define POLLOUT_SET (EPOLLWRBAND | EPOLLWRNORM | EPOLLOUT |[0m
|
||||
[38;2;248;248;242m EPOLLERR)[0m
|
||||
[38;2;248;248;242m /* Ready for writing */[0m
|
||||
[38;2;248;248;242m #define POLLEX_SET (EPOLLPRI)[0m
|
||||
[38;2;248;248;242m /* Exceptional condition */[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m#define[0m[38;2;190;132;255m [0m[38;2;166;226;46mPOLLIN_SET[0m[38;2;190;132;255m [0m[38;2;190;132;255m([0m[38;2;190;132;255mEPOLLRDNORM [0m[38;2;249;38;114m|[0m[38;2;190;132;255m EPOLLRDBAND [0m[38;2;249;38;114m|[0m[38;2;190;132;255m EPOLLIN [0m[38;2;249;38;114m|[0m
|
||||
[38;2;190;132;255m EPOLLHUP [0m[38;2;249;38;114m|[0m[38;2;190;132;255m EPOLLERR[0m[38;2;190;132;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Ready for reading [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m#define[0m[38;2;190;132;255m [0m[38;2;166;226;46mPOLLOUT_SET[0m[38;2;190;132;255m [0m[38;2;190;132;255m([0m[38;2;190;132;255mEPOLLWRBAND [0m[38;2;249;38;114m|[0m[38;2;190;132;255m EPOLLWRNORM [0m[38;2;249;38;114m|[0m[38;2;190;132;255m EPOLLOUT [0m[38;2;249;38;114m|[0m
|
||||
[38;2;190;132;255m EPOLLERR[0m[38;2;190;132;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Ready for writing [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114m#define[0m[38;2;190;132;255m [0m[38;2;166;226;46mPOLLEX_SET[0m[38;2;190;132;255m [0m[38;2;190;132;255m([0m[38;2;190;132;255mEPOLLPRI[0m[38;2;190;132;255m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Exceptional condition [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;248;248;242m Multithreaded applications[0m
|
||||
[38;2;248;248;242m If a file descriptor being monitored by [0m[38;2;166;226;46mselect[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m is closed in another thread, the result is unspecified. On some UNIX sys‐[0m
|
||||
@ -242,11 +242,11 @@
|
||||
|
||||
[38;2;248;248;242m The final argument of the [0m[38;2;166;226;46mpselect6[0m[38;2;249;38;114m([0m[38;2;249;38;114m)[0m[38;2;248;248;242m system call is not a sigset_t * pointer, but is instead a structure of the form:[0m
|
||||
|
||||
[38;2;248;248;242m struct {[0m
|
||||
[38;2;248;248;242m const kernel_sigset_t *ss; /* Pointer to signal set */[0m
|
||||
[38;2;248;248;242m size_t ss_len; /* Size (in bytes) of object[0m
|
||||
[38;2;248;248;242m pointed to by 'ss' */[0m
|
||||
[38;2;248;248;242m };[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mstruct[0m[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mconst[0m[38;2;248;248;242m kernel_sigset_t [0m[38;2;249;38;114m*[0m[38;2;248;248;242mss[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Pointer to signal set [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;166;226;46msize_t[0m[38;2;248;248;242m ss_len[0m[38;2;248;248;242m;[0m[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Size (in bytes) of object[0m
|
||||
[38;2;117;113;94m pointed to by 'ss' [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m This allows the system call to obtain both a pointer to the signal set and its size, while allowing for the fact that most ar‐[0m
|
||||
[38;2;248;248;242m chitectures support a maximum of 6 arguments to a system call. See [0m[38;2;166;226;46msigprocmask[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m for a discussion of the difference between[0m
|
||||
@ -283,40 +283,40 @@
|
||||
[38;2;248;248;242m by internally copying the timeout to a local variable and passing that variable to the system call.[0m
|
||||
|
||||
[38;2;253;151;31mEXAMPLES[0m
|
||||
[38;2;248;248;242m #include <stdio.h>[0m
|
||||
[38;2;248;248;242m #include <stdlib.h>[0m
|
||||
[38;2;248;248;242m #include <sys/select.h>[0m
|
||||
[38;2;190;132;255m [0m[38;2;249;38;114m#include[0m[38;2;190;132;255m [0m[38;2;230;219;116m<[0m[38;2;230;219;116mstdio.h[0m[38;2;230;219;116m>[0m
|
||||
[38;2;190;132;255m [0m[38;2;249;38;114m#include[0m[38;2;190;132;255m [0m[38;2;230;219;116m<[0m[38;2;230;219;116mstdlib.h[0m[38;2;230;219;116m>[0m
|
||||
[38;2;190;132;255m [0m[38;2;249;38;114m#include[0m[38;2;190;132;255m [0m[38;2;230;219;116m<[0m[38;2;230;219;116msys/select.h[0m[38;2;230;219;116m>[0m
|
||||
|
||||
[38;2;248;248;242m int[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mmain[0m[38;2;249;38;114m([0m[38;2;190;132;255mvoid[0m[38;2;249;38;114m)[0m
|
||||
[38;2;248;248;242m {[0m
|
||||
[38;2;248;248;242m fd_set rfds;[0m
|
||||
[38;2;248;248;242m struct timeval tv;[0m
|
||||
[38;2;248;248;242m int retval;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mmain[0m[38;2;248;248;242m([0m[3;38;2;102;217;239mvoid[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m{[0m
|
||||
[38;2;248;248;242m fd_set rfds[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mstruct[0m[38;2;248;248;242m timeval tv[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[3;38;2;102;217;239mint[0m[38;2;248;248;242m retval[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m /* Watch stdin (fd 0) to see when it has input. */[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Watch stdin (fd 0) to see when it has input. [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mFD_ZERO[0m[38;2;249;38;114m([0m[38;2;190;132;255m&rfds[0m[38;2;249;38;114m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mFD_SET[0m[38;2;249;38;114m([0m[38;2;190;132;255m0, &rfds[0m[38;2;249;38;114m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mFD_ZERO[0m[38;2;248;248;242m([0m[38;2;249;38;114m&[0m[38;2;248;248;242mrfds[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242mFD_SET[0m[38;2;248;248;242m([0m[38;2;190;132;255m0[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;249;38;114m&[0m[38;2;248;248;242mrfds[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m /* Wait up to five seconds. */[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Wait up to five seconds. [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;248;248;242m tv.tv_sec = 5;[0m
|
||||
[38;2;248;248;242m tv.tv_usec = 0;[0m
|
||||
[38;2;248;248;242m tv[0m[38;2;248;248;242m.[0m[38;2;255;255;255mtv_sec[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m5[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m tv[0m[38;2;248;248;242m.[0m[38;2;255;255;255mtv_usec[0m[38;2;248;248;242m [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;190;132;255m0[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m retval = [0m[38;2;166;226;46mselect[0m[38;2;249;38;114m([0m[38;2;190;132;255m1, &rfds, NULL, NULL, &tv[0m[38;2;249;38;114m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m /* Don't rely on the value of tv now! */[0m
|
||||
[38;2;248;248;242m retval [0m[38;2;249;38;114m=[0m[38;2;248;248;242m [0m[38;2;248;248;242mselect[0m[38;2;248;248;242m([0m[38;2;190;132;255m1[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;249;38;114m&[0m[38;2;248;248;242mrfds[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255mNULL[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;190;132;255mNULL[0m[38;2;248;248;242m,[0m[38;2;248;248;242m [0m[38;2;249;38;114m&[0m[38;2;248;248;242mtv[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m Don't rely on the value of tv now! [0m[38;2;117;113;94m*/[0m
|
||||
|
||||
[38;2;248;248;242m if (retval == [0m[38;2;166;226;46m-1[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mperror[0m[38;2;249;38;114m([0m[38;2;190;132;255m"select([0m[38;2;249;38;114m)[0m[38;2;248;248;242m");[0m
|
||||
[38;2;248;248;242m else if (retval)[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mprintf[0m[38;2;249;38;114m([0m[38;2;190;132;255m"Data is available now.\n"[0m[38;2;249;38;114m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m /* [0m[38;2;166;226;46mFD_ISSET[0m[38;2;249;38;114m([0m[38;2;190;132;255m0, &rfds[0m[38;2;249;38;114m)[0m[38;2;248;248;242m will be true. */[0m
|
||||
[38;2;248;248;242m else[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mprintf[0m[38;2;249;38;114m([0m[38;2;190;132;255m"No data within five seconds.\n"[0m[38;2;249;38;114m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mretval [0m[38;2;249;38;114m==[0m[38;2;248;248;242m [0m[38;2;249;38;114m-[0m[38;2;190;132;255m1[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mperror[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mselect()[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m[38;2;248;248;242m [0m[38;2;249;38;114mif[0m[38;2;248;248;242m [0m[38;2;248;248;242m([0m[38;2;248;248;242mretval[0m[38;2;248;248;242m)[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mprintf[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mData is available now.[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;117;113;94m/*[0m[38;2;117;113;94m FD_ISSET(0, &rfds) will be true. [0m[38;2;117;113;94m*/[0m
|
||||
[38;2;248;248;242m [0m[38;2;249;38;114melse[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mprintf[0m[38;2;248;248;242m([0m[38;2;230;219;116m"[0m[38;2;230;219;116mNo data within five seconds.[0m[38;2;190;132;255m\n[0m[38;2;230;219;116m"[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46mexit[0m[38;2;249;38;114m([0m[38;2;190;132;255mEXIT_SUCCESS[0m[38;2;249;38;114m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m }[0m
|
||||
[38;2;248;248;242m [0m[38;2;102;217;239mexit[0m[38;2;248;248;242m([0m[38;2;248;248;242mEXIT_SUCCESS[0m[38;2;248;248;242m)[0m[38;2;248;248;242m;[0m
|
||||
[38;2;248;248;242m [0m[38;2;248;248;242m}[0m
|
||||
|
||||
[38;2;253;151;31mSEE ALSO[0m
|
||||
[38;2;248;248;242m [0m[38;2;166;226;46maccept[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mconnect[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mpoll[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mread[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mrecv[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mrestart_syscall[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46msend[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46msigprocmask[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mwrite[0m[38;2;249;38;114m([0m[38;2;190;132;255m2[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mepoll[0m[38;2;249;38;114m([0m[38;2;190;132;255m7[0m[38;2;249;38;114m)[0m[38;2;248;248;242m, [0m[38;2;166;226;46mtime[0m[38;2;249;38;114m([0m[38;2;190;132;255m7[0m[38;2;249;38;114m)[0m
|
||||
|
Loading…
x
Reference in New Issue
Block a user