System Grab Bag

View all man pages from Linux (or from all projects)

Name

getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked - nonlocking stdio functions

Library

Standard C library ( libc ", " -lc )

Synopsis

#include <stdio.h> 
int getc_unlocked(FILE * stream );
"int getchar_unlocked(void);" int putc_unlocked(int " c ", FILE * stream );
int putchar_unlocked(int c );
void clearerr_unlocked(FILE * stream );
int feof_unlocked(FILE * stream );
int ferror_unlocked(FILE * stream );
int fileno_unlocked(FILE * stream );
int fflush_unlocked(FILE *_Nullable stream );
int fgetc_unlocked(FILE * stream );
int fputc_unlocked(int " c ", FILE * stream );
size_t fread_unlocked(void " ptr "[restrict ." size " * . n ],
size_t " size ", size_t n ,
FILE *restrict stream );
size_t fwrite_unlocked(const void " ptr "[restrict ." size " * . n ],
size_t " size ", size_t n ,
FILE *restrict stream );
char *fgets_unlocked(char " s "[restrict ." n "], int n \
", FILE *restrict " stream ); int fputs_unlocked(const char *restrict " s ", FILE *restrict stream );
#include <wchar.h> wint_t getwc_unlocked(FILE * stream );
"wint_t getwchar_unlocked(void);" wint_t fgetwc_unlocked(FILE * stream );
wint_t fputwc_unlocked(wchar_t " wc ", FILE * stream );
wint_t putwc_unlocked(wchar_t " wc ", FILE * stream );
wint_t putwchar_unlocked(wchar_t wc );
wchar_t *fgetws_unlocked(wchar_t " ws "[restrict ." n "], int n ,
FILE *restrict stream );
int fputws_unlocked(const wchar_t *restrict ws ,
FILE *restrict stream );

Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

\%getc_unlocked() \%getchar_unlocked() \%putc_unlocked() \%putchar_unlocked()

    /* glibc >= 2.24: */ _POSIX_C_SOURCE >= 199309L
        || /* glibc <= 2.23: */ _POSIX_C_SOURCE
        || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

\%clearerr_unlocked() \%feof_unlocked() \%ferror_unlocked() \%fileno_unlocked() \%fflush_unlocked() \%fgetc_unlocked() \%fputc_unlocked() \%fread_unlocked() \%fwrite_unlocked()

    /* glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

\%fgets_unlocked() \%fputs_unlocked() \%getwc_unlocked() \%getwchar_unlocked() \%fgetwc_unlocked() \%fputwc_unlocked() \%putwchar_unlocked() \%fgetws_unlocked() \%fputws_unlocked()

    _GNU_SOURCE

Description

Each of these functions has the same behavior as its counterpart without the "_unlocked" suffix, except that they do not use locking (they do not set locks themselves, and do not test for the presence of locks set by others) and hence are thread-unsafe. See flockfile(3).

Attributes

For an explanation of the terms used in this section, see attributes(7). allbox; lb lb lbx T{ getc_unlocked()putc_unlocked()clearerr_unlocked()fflush_unlocked()fgetc_unlocked()fputc_unlocked()fread_unlocked()fwrite_unlocked()fgets_unlocked()fputs_unlocked()getwc_unlocked()fgetwc_unlocked()fputwc_unlocked()putwc_unlocked()fgetws_unlocked()fputws_unlocked()T{ getchar_unlocked()getwchar_unlocked()T{ putchar_unlocked()putwchar_unlocked()T{ feof_unlocked()ferror_unlocked()fileno_unlocked()
InterfaceAttributeValue
T}Thread safetyMT-Safe race:stream
T}Thread safetyMT-Unsafe race:stdin
T}Thread safetyMT-Unsafe race:stdout
T}Thread safetyMT-Safe

Standards

getc_unlocked() getchar_unlocked() putc_unlocked() putchar_unlocked() POSIX.1-2008.

Others: None.

History

getc_unlocked() getchar_unlocked() putc_unlocked() putchar_unlocked() POSIX.1-2001.

See Also

  1. flockfile(3),
  2. stdio(3)