JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... errnum ); 説明 最後に < assert.h > がインクルードされた時にマクロ NDEBUG が定義されていた場合、マクロ assert_perror () は何のコードも生成せず、したがって全く何もしない。 そうでない場合、マクロ assert_perror () は標準エラーにエラーメッセー ... 値は返されない。 属性 この節で使用されている用語の説明については、 attributes (7) を参照。 インターフェース 属性 値 assert_perror () Thread safety MT-Safe 準拠 これは GNU による拡張である。 バグ assert マクロの目的は、プログラマがプログラム中のバグを探 ... ... ) 参照 */ glibc 向けの機能検査マクロの要件 ( feature_test_macros (7) 参照): sys_errlist , sys_nerr : _BSD_SOURCE 説明 関数 perror () は、システムコールやライブラリ関数の呼び出しにおいて、最後に発生した エラーに関する説明メッセージを生成し、標準エラー出 ... 識別する値が設定される (設定されるエラー番号は < errno.h > に記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 perror () は、このエラーコードの可読なメッセージへの変換を行う。 errno は、ライブラリ呼び出しが成功した後には未定義であることに注 ... 部で呼び出した他のライブラリ関数が 失敗して、その結果をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に perror () を呼ばない場合には errno の値を 保存しておかなければならない。 準拠 関数 perror () と外部変数 errno ( errno (3) 参照) は ... ... ) 参照 */ glibc 向けの機能検査マクロの要件 ( feature_test_macros (7) 参照): sys_errlist , sys_nerr : _BSD_SOURCE 説明 関数 perror () は、システムコールやライブラリ関数の呼び出しにおいて、最後に発生した エラーに関する説明メッセージを生成し、標準エラー出 ... 識別する値が設定される (設定されるエラー番号は < errno.h > に記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 perror () は、このエラーコードの可読なメッセージへの変換を行う。 errno は、ライブラリ呼び出しが成功した後には未定義であることに注 ... 部で呼び出した他のライブラリ関数が 失敗して、その結果をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に perror () を呼ばない場合には errno の値を 保存しておかなければならない。 準拠 関数 perror () と外部変数 errno ( errno (3) 参照) は ... ... ) 参照 */ glibc 向けの機能検査マクロの要件 ( feature_test_macros (7) 参照): sys_errlist , sys_nerr : _BSD_SOURCE 説明 関数 perror () は、システムコールやライブラリ関数の呼び出しにおいて、最後に発生した エラーに関する説明メッセージを生成し、標準エラー出 ... 識別する値が設定される (設定されるエラー番号は < errno.h > に記載されている)。 多くのライブラリ関数も同様の動作となる。 関数 perror () は、このエラーコードの可読なメッセージへの変換を行う。 errno は、ライブラリ呼び出しが成功した後には未定義であることに注 ... 部で呼び出した他のライブラリ関数が 失敗して、その結果をこの変数に設定することがあるからだ。 よって、失敗した呼び出しの直後に perror () を呼ばない場合には errno の値を 保存しておかなければならない。 準拠 関数 perror () と外部変数 errno ( errno (3) 参照) は ... ... exceptfds; int r; sigemptyset(&sigmask); sigaddset(&sigmask, SIGCHLD); if (sigprocmask(SIG_BLOCK, &sigmask, NULL) == -1) { perror("sigprocmask"); exit(EXIT_FAILURE); } sa.sa_flags = 0; sa.sa_handler = child_sig_handler; sigemptyset(&sa.sa_mask); if (si ... gaction(SIGCHLD, &sa, NULL) == -1) { perror("sigaction"); exit(EXIT_FAILURE); } sigemptyset(&empty_mask); for (;;) { /* main loop */ /* Initialize readfds, writefds, ... cket(int listen_port) { struct sockaddr_in addr; int lfd; int yes; lfd = socket(AF_INET, SOCK_STREAM, 0); if (lfd == -1) { perror("socket"); return -1; } yes = 1; if (setsockopt(lfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)) == -1) { perror("setsock ... ... 間はループする */ for (;;) { /* イベントを読み出す */ len = read(fd, buf, sizeof(buf)); if (len == -1 && errno != EAGAIN) { perror("read"); exit(EXIT_FAILURE); } /* 読み出せるデータの最後に達しているかチェックする */ if (len <= 0) break; /* バッファーの ... _path), "/proc/self/fd/%d", metadata->fd); path_len = readlink(procfd_path, path, sizeof(path) - 1); if (path_len == -1) { perror("readlink"); exit(EXIT_FAILURE); } path[path_len] = '\0'; printf("File %s\n", path); /* イベントのファイルディスクリプター ... ーを作成する */ fd = fanotify_init(FAN_CLOEXEC | FAN_CLASS_CONTENT | FAN_NONBLOCK, O_RDONLY | O_LARGEFILE); if (fd == -1) { perror("fanotify_init"); exit(EXIT_FAILURE); } /* 指定されたマウントに対して以下を監視するようにマークを付ける: - ファイルのオープ ... ... R_SIZE]; /* Create local socket. */ connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0); if (connection_socket == -1) { perror("socket"); exit(EXIT_FAILURE); } /* * For portability clear the whole structure, since some * implementations have additio ... sizeof(name.sun_path) - 1); ret = bind(connection_socket, (const struct sockaddr *) &name, sizeof(name)); if (ret == -1) { perror("bind"); exit(EXIT_FAILURE); } /* * Prepare for accepting connections. The backlog size is set * to 20. So while one reque ... st is being processed other requests * can be waiting. */ ret = listen(connection_socket, 20); if (ret == -1) { perror("listen"); exit(EXIT_FAILURE); } /* This is the main loop for handling connections. */ for (;;) { /* Wait for incoming con ... ... e> <string>\n", argv[0]); exit(EXIT_FAILURE); } /* Apply the specified locale */ if (setlocale(LC_ALL, argv[1]) == NULL) { perror("setlocale"); exit(EXIT_FAILURE); } /* Calculate the length required to hold argv[2] converted to a wide character string ... */ mbslen = mbstowcs(NULL, argv[2], 0); if (mbslen == (size_t) -1) { perror("mbstowcs"); exit(EXIT_FAILURE); } /* Describe the source string to the user */ printf("Length of source string (excluding ... Add 1 to allow for terminating null wide character (L'\0'). */ wcs = calloc(mbslen + 1, sizeof(*wcs)); if (wcs == NULL) { perror("calloc"); exit(EXIT_FAILURE); } /* Convert the multibyte character string in argv[2] to a wide character string */ if (mb ... ... のに使用できる。 char buf[BUF_LEN]; char oobdata; int atmark, s; for (;;) { atmark = sockatmark(sockfd); if (atmark == -1) { perror("sockatmark"); break; } if (atmark) break; s = read(sockfd, buf, BUF_LEN); if (s == -1) perror("read"); if (s <= 0) break; ... } if (atmark == 1) { if (recv(sockfd, &oobdata, 1, MSG_OOB) == -1) { perror("recv"); ... } } 関連項目 fcntl (2), recv (2), send (2), tcp (7) この文書について この man ページは Linux man-pages プロジ ... ... age: %s <file>\n", argv[0]); exit(EXIT_FAILURE); } fd = open(argv[1], O_WRONLY | O_CREAT | O_TRUNC, 0644); if (fd == -1) { perror("open"); exit(EXIT_FAILURE); } do { /* * tee stdin to stdout. */ len = tee(STDIN_FILENO, STDOUT_FILENO, INT_MAX, SPLICE_F_ ... NONBLOCK); if (len < 0) { if (errno == EAGAIN) continue; perror("tee"); exit(EXIT_FAILURE); } else if (len == 0) break; /* * Consume stdin by splicing it to a file. */ while (len > 0) { ... slen = splice(STDIN_FILENO, NULL, fd, NULL, len, SPLICE_F_MOVE); if (slen < 0) { perror("splice"); break; } len -= slen; } } while (1); close(fd); exit(EXIT_SUCCESS); } 関連項目 splice (2), vmsplice (2), pipe ( ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。