UNLOCKED_STDIO


HOME

UNLOCKED_STDIO

NAME
SYNOPSIS
DESCRIPTION
CONFORMING TO
SEE ALSO
COLOPHON

NAME

getc_unlocked, getchar_unlocked, putc_unlocked, putchar_unlocked − nonlocking stdio functions

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 *
stream);
int fgetc_unlocked(FILE *
stream);
int fputc_unlocked(int
c, FILE *stream);
size_t fread_unlocked(void *
ptr, size_t size, size_t n,
FILE *
stream);
size_t fwrite_unlocked(const void *
ptr, size_t size, size_t n,
FILE *
stream);

char *fgets_unlocked(char *s, int n, FILE *stream);
int fputs_unlocked(const char *
s, FILE *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, int n, FILE *stream);
int fputws_unlocked(const wchar_t *
ws, FILE *stream);

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

getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked():

_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE || _BSD_SOURCE || _SVID_SOURCE

clearerr_unlocked(), feof_unlocked(), ferror_unlocked(), fileno_unlocked(), fflush_unlocked(), fgetc_unlocked(), fputc_unlocked(), fread_unlocked(), fwrite_unlocked():

_BSD_SOURCE || _SVID_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).

CONFORMING TO

The four functions getc_unlocked(), getchar_unlocked(), putc_unlocked(), putchar_unlocked() are in POSIX.1-2001.

The nonstandard *_unlocked() variants occur on a few UNIX systems, and are available in recent glibc. They should probably not be used.

SEE ALSO

flockfile(3), stdio(3)

COLOPHON

This page is part of release 3.69 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man−pages/.




More Linux Commands

manpages/Digest::HMAC_MD5.3pm.html
Digest::HMAC_MD5(3pm) - Keyed-Hashing for Message Authentica
This module provide HMAC-MD5 hashing. SEE ALSO Digest::HMAC, Digest::MD5, Digest::HMAC_SHA1 AUTHOR Gisle Aas &lt;gisle@aas.no&gt; Digest::HMAC_MD5.3pm (Library - Linu

manpages/arp.8.html
arp(8) - manipulate the system ARP cache - Linux man page...
Arp manipulates the kernels ARP cache in various ways. The primary options are clearing an address mapping entry and manually setting up one. For debugging purp

manpages/siginterrupt.3.html
siginterrupt(3) - allow signals to interrupt system calls...
The siginterrupt() function changes the restart behavior when a system call is interrupted by the signal sig. If the flag argument is false (0), then system cal

manpages/XtVaSetSubvalues.3.html
XtVaSetSubvalues(3) - obtain and set widget resources.......
The XtSetValues function starts with the resources specified for the Core widget fields and proceeds down the subclass chain to the widget. At each stage, it wr

manpages/pam_userdb.8.html
pam_userdb(8) - PAM module to authenticate against a db data
The pam_userdb module is used to verify a username/password pair against values stored in a Berkeley DB database. The database is indexed by the username, and t

manpages/Tcl_ChannelVersion.3.html
Tcl_ChannelVersion(3) - procedures for creating and manipula
Tcl uses a two-layered channel architecture. It provides a generic upper layer to enable C and Tcl programs to perform input and output using the same APIs for

manpages/english.5.html
english(5) - flag format for English ispell dictionaries....
English dictionaries for ispell(1) supports 3 prefix and 14 suffix flags. For a detailed description of how ispell handles flags and capitalization, see ispell(

manpages/crda.8.html
crda(8) - send to the kernel a wireless regulatory domain fo
crda is the Linux wireless central regulatory domain agent. crda is intended to be used by udev scripts and should not be run manually unless debugging udev scr

manpages/icnctrl.8.html
icnctrl.8 (Manual - Linux man page)........................
icnctrl is used to setup the ICN ISDN device driver and for downloading the firmware into the ISDN card. The use of icnctrl makes sense, if you are using an ICN

manpages/fgrep.1.html
fgrep(1) - print lines matching a pattern - Linux man page
grep searches the named input FILEs (or standard input if no files are named, or if a single hyphen-minus (-) is given as file name) for lines containing a matc

manpages/diagnostics.3pm.html
diagnostics(3pm) - produce verbose warning diagnostics......
diagnostics.3pm - The diagnostics Pragma This module extends the terse diagnostics normally emitted by both the perl compiler and the perl interpreter (from run

manpages/acl_calc_mask.3.html
acl_calc_mask(3) - calculate the file group class mask......
The acl_calc_mask() function calculates and sets the permissions associated with the ACL_MASK ACL entry of the ACL referred to by acl_p. The value of the new pe





We can't live, work or learn in freedom unless the software we use is free.