JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... 構造体にシステム情報を返す。 utsname 構造体は < sys/utsname.h > で以下のように定義されている。 struct utsname { char sysname[]; /* OS の名前 (例: "Linux") */ c ... ar machine[]; /* ハードウェア識別子 */ #ifdef _GNU_SOURCE char domainname[]; /* NIS や YP のドメイン名 */ #endif }; struct utsname にある配列の長さは指定されていない (「注意」の節を参照)。 フィールドはヌルバイト ('\0') で終端される。 返り値 成功した場合 ... イブラリの中には、 ハードコードされた 9, 33, 65, 257 などの値を使っているものもある。 また SYS_NMLN , _SYS_NMLN , UTSLEN , _UTSNAME_LENGTH などを使っているシステムもある。 はっきり言って、これらの定数を使うのは悪い考え方であり、 sizeof(...) を使うべきであ ... ... 構造体にシステム情報を返す。 utsname 構造体は < sys/utsname.h > で以下のように定義されている。 struct utsname { char sysname[]; /* OS の名前 (例: "Linux") */ c ... ar machine[]; /* ハードウェア識別子 */ #ifdef _GNU_SOURCE char domainname[]; /* NIS や YP のドメイン名 */ #endif }; struct utsname にある配列の長さは指定されていない (「注意」の節を参照)。 フィールドはヌルバイト ('\0') で終端される。 返り値 成功した場合 ... イブラリの中には、 ハードコードされた 9, 33, 65, 257 などの値を使っているものもある。 また SYS_NMLN , _SYS_NMLN , UTSLEN , _UTSNAME_LENGTH などを使っているシステムもある。 はっきり言って、これらの定数を使うのは悪い考え方であり、 sizeof(...) を使うべきであ ... ... 構造体にシステム情報を返す。 utsname 構造体は < sys/utsname.h > で以下のように定義されている。 struct utsname { char sysname[]; /* OS の名前 (例: "Linux") */ c ... ar machine[]; /* ハードウェア識別子 */ #ifdef _GNU_SOURCE char domainname[]; /* NIS や YP のドメイン名 */ #endif }; struct utsname にある配列の長さは指定されていない (「注意」の節を参照)。 フィールドはヌルバイト ('\0') で終端される。 返り値 成功した場合 ... イブラリの中には、 ハードコードされた 9, 33, 65, 257 などの値を使っているものもある。 また SYS_NMLN , _SYS_NMLN , UTSLEN , _UTSNAME_LENGTH などを使っているシステムもある。 はっきり言って、これらの定数を使うのは悪い考え方であり、 sizeof(...) を使うべきであ ... ... グラムの使用方法については setns (2) を参照。 プログラムのソース #define _GNU_SOURCE #include < sys/wait.h > #include < sys/utsname.h > #include < sched.h > #include < string.h > #include < stdio.h > #include < stdlib.h > #include < unistd.h > #define er ... or(msg); exit(EXIT_FAILURE); \ } while (0) static int /* clone された子プロセスの開始関数 */ childFunc(void *arg) { struct utsname uts; /* 子プロセスの UTS 名前空間でホスト名を変更する */ if (sethostname(arg, strlen(arg)) == -1) errExit("sethostname"); ... ar *argv[]) { char *stack; /* スタックバッファーの先頭 */ char *stackTop; /* スタックバッファーの末尾 */ pid_t pid; struct utsname uts; if (argc < 2) { fprintf(stderr, "Usage: %s <child-hostname>\n", argv[0]); exit(EXIT_SUCCESS); } /* 子プロセス用のスタ ... ... グラムの使用方法については setns (2) を参照。 プログラムのソース #define _GNU_SOURCE #include < sys/wait.h > #include < sys/utsname.h > #include < sched.h > #include < string.h > #include < stdio.h > #include < stdlib.h > #include < unistd.h > #define er ... or(msg); exit(EXIT_FAILURE); \ } while (0) static int /* clone された子プロセスの開始関数 */ childFunc(void *arg) { struct utsname uts; /* 子プロセスの UTS 名前空間でホスト名を変更する */ if (sethostname(arg, strlen(arg)) == -1) errExit("sethostname"); ... ar *argv[]) { char *stack; /* スタックバッファーの先頭 */ char *stackTop; /* スタックバッファーの末尾 */ pid_t pid; struct utsname uts; if (argc < 2) { fprintf(stderr, "Usage: %s <child-hostname>\n", argv[0]); exit(EXIT_SUCCESS); } /* 子プロセス用のスタ ... ... グラムの使用方法については setns (2) を参照。 プログラムのソース #define _GNU_SOURCE #include < sys/wait.h > #include < sys/utsname.h > #include < sched.h > #include < string.h > #include < stdio.h > #include < stdlib.h > #include < unistd.h > #define er ... or(msg); exit(EXIT_FAILURE); \ } while (0) static int /* clone された子プロセスの開始関数 */ childFunc(void *arg) { struct utsname uts; /* 子プロセスの UTS 名前空間でホスト名を変更する */ if (sethostname(arg, strlen(arg)) == -1) errExit("sethostname"); ... ar *argv[]) { char *stack; /* スタックバッファーの先頭 */ char *stackTop; /* スタックバッファーの末尾 */ pid_t pid; struct utsname uts; if (argc < 2) { fprintf(stderr, "Usage: %s <child-hostname>\n", argv[0]); exit(EXIT_SUCCESS); } /* 子プロセス用のスタ ... ... グラムの使用方法については setns (2) を参照。 プログラムのソース #define _GNU_SOURCE #include < sys/wait.h > #include < sys/utsname.h > #include < sched.h > #include < string.h > #include < stdio.h > #include < stdlib.h > #include < unistd.h > #define er ... or(msg); exit(EXIT_FAILURE); \ } while (0) static int /* clone された子プロセスの開始関数 */ childFunc(void *arg) { struct utsname uts; /* 子プロセスの UTS 名前空間でホスト名を変更する */ if (sethostname(arg, strlen(arg)) == -1) errExit("sethostname"); ... ar *argv[]) { char *stack; /* スタックバッファーの先頭 */ char *stackTop; /* スタックバッファーの末尾 */ pid_t pid; struct utsname uts; if (argc < 2) { fprintf(stderr, "Usage: %s <child-hostname>\n", argv[0]); exit(EXIT_SUCCESS); } /* 子プロセス用のスタ ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。