Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: doc/api/nic.html
- Revision:
- 1:c3d69f309845
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/api/nic.html Thu Jul 11 18:49:37 2019 +0900 @@ -0,0 +1,962 @@ +<!DOCTYPE html><html lang="ja"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="description"><meta name="keywords"><meta name="robots"><title>GR-PEACH nicモジュール</title><style>@font-face { + font-family: octicons-link; + src: url(data:font/woff;charset=utf-8;base64,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) format('woff'); +} + +.markdown-body { + -ms-text-size-adjust: 100%; + -webkit-text-size-adjust: 100%; + line-height: 1.5; + color: #24292e; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 16px; + line-height: 1.5; + word-wrap: break-word; +} + +.markdown-body .pl-c { + color: #6a737d; +} + +.markdown-body .pl-c1, +.markdown-body .pl-s .pl-v { + color: #005cc5; +} + +.markdown-body .pl-e, +.markdown-body .pl-en { + color: #6f42c1; +} + +.markdown-body .pl-smi, +.markdown-body .pl-s .pl-s1 { + color: #24292e; +} + +.markdown-body .pl-ent { + color: #22863a; +} + +.markdown-body .pl-k { + color: #d73a49; +} + +.markdown-body .pl-s, +.markdown-body .pl-pds, +.markdown-body .pl-s .pl-pse .pl-s1, +.markdown-body .pl-sr, +.markdown-body .pl-sr .pl-cce, +.markdown-body .pl-sr .pl-sre, +.markdown-body .pl-sr .pl-sra { + color: #032f62; +} + +.markdown-body .pl-v, +.markdown-body .pl-smw { + color: #e36209; +} + +.markdown-body .pl-bu { + color: #b31d28; +} + +.markdown-body .pl-ii { + color: #fafbfc; + background-color: #b31d28; +} + +.markdown-body .pl-c2 { + color: #fafbfc; + background-color: #d73a49; +} + +.markdown-body .pl-c2::before { + content: "^M"; +} + +.markdown-body .pl-sr .pl-cce { + font-weight: bold; + color: #22863a; +} + +.markdown-body .pl-ml { + color: #735c0f; +} + +.markdown-body .pl-mh, +.markdown-body .pl-mh .pl-en, +.markdown-body .pl-ms { + font-weight: bold; + color: #005cc5; +} + +.markdown-body .pl-mi { + font-style: italic; + color: #24292e; +} + +.markdown-body .pl-mb { + font-weight: bold; + color: #24292e; +} + +.markdown-body .pl-md { + color: #b31d28; + background-color: #ffeef0; +} + +.markdown-body .pl-mi1 { + color: #22863a; + background-color: #f0fff4; +} + +.markdown-body .pl-mc { + color: #e36209; + background-color: #ffebda; +} + +.markdown-body .pl-mi2 { + color: #f6f8fa; + background-color: #005cc5; +} + +.markdown-body .pl-mdr { + font-weight: bold; + color: #6f42c1; +} + +.markdown-body .pl-ba { + color: #586069; +} + +.markdown-body .pl-sg { + color: #959da5; +} + +.markdown-body .pl-corl { + text-decoration: underline; + color: #032f62; +} + +.markdown-body .octicon { + display: inline-block; + vertical-align: text-top; + fill: currentColor; +} + +.markdown-body a { + background-color: transparent; +} + +.markdown-body a:active, +.markdown-body a:hover { + outline-width: 0; +} + +.markdown-body strong { + font-weight: inherit; +} + +.markdown-body strong { + font-weight: bolder; +} + +.markdown-body h1 { + font-size: 2em; + margin: 0.67em 0; +} + +.markdown-body img { + border-style: none; +} + +.markdown-body code, +.markdown-body kbd, +.markdown-body pre { + font-family: monospace, monospace; + font-size: 1em; +} + +.markdown-body hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} + +.markdown-body input { + font: inherit; + margin: 0; +} + +.markdown-body input { + overflow: visible; +} + +.markdown-body [type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +.markdown-body * { + box-sizing: border-box; +} + +.markdown-body input { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +.markdown-body a { + color: #0366d6; + text-decoration: none; +} + +.markdown-body a:hover { + text-decoration: underline; +} + +.markdown-body strong { + font-weight: 600; +} + +.markdown-body hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #dfe2e5; +} + +.markdown-body hr::before { + display: table; + content: ""; +} + +.markdown-body hr::after { + display: table; + clear: both; + content: ""; +} + +.markdown-body table { + border-spacing: 0; + border-collapse: collapse; +} + +.markdown-body td, +.markdown-body th { + padding: 0; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + margin-top: 0; + margin-bottom: 0; +} + +.markdown-body h1 { + font-size: 32px; + font-weight: 600; +} + +.markdown-body h2 { + font-size: 24px; + font-weight: 600; +} + +.markdown-body h3 { + font-size: 20px; + font-weight: 600; +} + +.markdown-body h4 { + font-size: 16px; + font-weight: 600; +} + +.markdown-body h5 { + font-size: 14px; + font-weight: 600; +} + +.markdown-body h6 { + font-size: 12px; + font-weight: 600; +} + +.markdown-body p { + margin-top: 0; + margin-bottom: 10px; +} + +.markdown-body blockquote { + margin: 0; +} + +.markdown-body ul, +.markdown-body ol { + padding-left: 0; + margin-top: 0; + margin-bottom: 0; +} + +.markdown-body ol ol, +.markdown-body ul ol { + list-style-type: lower-roman; +} + +.markdown-body ul ul ol, +.markdown-body ul ol ol, +.markdown-body ol ul ol, +.markdown-body ol ol ol { + list-style-type: lower-alpha; +} + +.markdown-body dd { + margin-left: 0; +} + +.markdown-body code { + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +.markdown-body pre { + margin-top: 0; + margin-bottom: 0; + font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +.markdown-body .octicon { + vertical-align: text-bottom; +} + +.markdown-body .pl-0 { + padding-left: 0 !important; +} + +.markdown-body .pl-1 { + padding-left: 4px !important; +} + +.markdown-body .pl-2 { + padding-left: 8px !important; +} + +.markdown-body .pl-3 { + padding-left: 16px !important; +} + +.markdown-body .pl-4 { + padding-left: 24px !important; +} + +.markdown-body .pl-5 { + padding-left: 32px !important; +} + +.markdown-body .pl-6 { + padding-left: 40px !important; +} + +.markdown-body::before { + display: table; + content: ""; +} + +.markdown-body::after { + display: table; + clear: both; + content: ""; +} + +.markdown-body>*:first-child { + margin-top: 0 !important; +} + +.markdown-body>*:last-child { + margin-bottom: 0 !important; +} + +.markdown-body a:not([href]) { + color: inherit; + text-decoration: none; +} + +.markdown-body .anchor { + float: left; + padding-right: 4px; + margin-left: -20px; + line-height: 1; +} + +.markdown-body .anchor:focus { + outline: none; +} + +.markdown-body p, +.markdown-body blockquote, +.markdown-body ul, +.markdown-body ol, +.markdown-body dl, +.markdown-body table, +.markdown-body pre { + margin-top: 0; + margin-bottom: 16px; +} + +.markdown-body hr { + height: 0.25em; + padding: 0; + margin: 24px 0; + background-color: #e1e4e8; + border: 0; +} + +.markdown-body blockquote { + padding: 0 1em; + color: #6a737d; + border-left: 0.25em solid #dfe2e5; +} + +.markdown-body blockquote>:first-child { + margin-top: 0; +} + +.markdown-body blockquote>:last-child { + margin-bottom: 0; +} + +.markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #444d56; + vertical-align: middle; + background-color: #fafbfc; + border: solid 1px #c6cbd1; + border-bottom-color: #959da5; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #959da5; +} + +.markdown-body h1, +.markdown-body h2, +.markdown-body h3, +.markdown-body h4, +.markdown-body h5, +.markdown-body h6 { + margin-top: 24px; + margin-bottom: 16px; + font-weight: 600; + line-height: 1.25; +} + +.markdown-body h1 .octicon-link, +.markdown-body h2 .octicon-link, +.markdown-body h3 .octicon-link, +.markdown-body h4 .octicon-link, +.markdown-body h5 .octicon-link, +.markdown-body h6 .octicon-link { + color: #1b1f23; + vertical-align: middle; + visibility: hidden; +} + +.markdown-body h1:hover .anchor, +.markdown-body h2:hover .anchor, +.markdown-body h3:hover .anchor, +.markdown-body h4:hover .anchor, +.markdown-body h5:hover .anchor, +.markdown-body h6:hover .anchor { + text-decoration: none; +} + +.markdown-body h1:hover .anchor .octicon-link, +.markdown-body h2:hover .anchor .octicon-link, +.markdown-body h3:hover .anchor .octicon-link, +.markdown-body h4:hover .anchor .octicon-link, +.markdown-body h5:hover .anchor .octicon-link, +.markdown-body h6:hover .anchor .octicon-link { + visibility: visible; +} + +.markdown-body h1 { + padding-bottom: 0.3em; + font-size: 2em; + border-bottom: 1px solid #eaecef; +} + +.markdown-body h2 { + padding-bottom: 0.3em; + font-size: 1.5em; + border-bottom: 1px solid #eaecef; +} + +.markdown-body h3 { + font-size: 1.25em; +} + +.markdown-body h4 { + font-size: 1em; +} + +.markdown-body h5 { + font-size: 0.875em; +} + +.markdown-body h6 { + font-size: 0.85em; + color: #6a737d; +} + +.markdown-body ul, +.markdown-body ol { + padding-left: 2em; +} + +.markdown-body ul ul, +.markdown-body ul ol, +.markdown-body ol ol, +.markdown-body ol ul { + margin-top: 0; + margin-bottom: 0; +} + +.markdown-body li { + word-wrap: break-all; +} + +.markdown-body li>p { + margin-top: 16px; +} + +.markdown-body li+li { + margin-top: 0.25em; +} + +.markdown-body dl { + padding: 0; +} + +.markdown-body dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: 600; +} + +.markdown-body dl dd { + padding: 0 16px; + margin-bottom: 16px; +} + +.markdown-body table { + display: block; + width: 100%; + overflow: auto; +} + +.markdown-body table th { + font-weight: 600; +} + +.markdown-body table th, +.markdown-body table td { + padding: 6px 13px; + border: 1px solid #dfe2e5; +} + +.markdown-body table tr { + background-color: #fff; + border-top: 1px solid #c6cbd1; +} + +.markdown-body table tr:nth-child(2n) { + background-color: #f6f8fa; +} + +.markdown-body img { + max-width: 100%; + box-sizing: content-box; + background-color: #fff; +} + +.markdown-body img[align=right] { + padding-left: 20px; +} + +.markdown-body img[align=left] { + padding-right: 20px; +} + +.markdown-body code { + padding: 0.2em 0.4em; + margin: 0; + font-size: 85%; + background-color: rgba(27,31,35,0.05); + border-radius: 3px; +} + +.markdown-body pre { + word-wrap: normal; +} + +.markdown-body pre>code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; +} + +.markdown-body .highlight { + margin-bottom: 16px; +} + +.markdown-body .highlight pre { + margin-bottom: 0; + word-break: normal; +} + +.markdown-body .highlight pre, +.markdown-body pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f6f8fa; + border-radius: 3px; +} + +.markdown-body pre code { + display: inline; + max-width: auto; + padding: 0; + margin: 0; + overflow: visible; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; +} + +.markdown-body .full-commit .btn-outline:not(:disabled):hover { + color: #005cc5; + border-color: #005cc5; +} + +.markdown-body kbd { + display: inline-block; + padding: 3px 5px; + font: 11px "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #444d56; + vertical-align: middle; + background-color: #fafbfc; + border: solid 1px #d1d5da; + border-bottom-color: #c6cbd1; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #c6cbd1; +} + +.markdown-body :checked+.radio-label { + position: relative; + z-index: 1; + border-color: #0366d6; +} + +.markdown-body .task-list-item { + list-style-type: none; +} + +.markdown-body .task-list-item+.task-list-item { + margin-top: 3px; +} + +.markdown-body .task-list-item input { + margin: 0 0.2em 0.25em -1.6em; + vertical-align: middle; +} + +.markdown-body hr { + border-bottom-color: #eee; +} +/* + +Sunburst-like style (c) Vasily Polovnyov <vast@whiteants.net> + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + background: #000; + color: #f8f8f8; +} + +.hljs-comment, +.hljs-quote { + color: #aeaeae; + font-style: italic; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #e28964; +} + +.hljs-string { + color: #65b042; +} + +.hljs-subst { + color: #daefa3; +} + +.hljs-regexp, +.hljs-link { + color: #e9c062; +} + +.hljs-title, +.hljs-section, +.hljs-tag, +.hljs-name { + color: #89bdff; +} + +.hljs-class .hljs-title, +.hljs-doctag { + text-decoration: underline; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-number { + color: #3387cc; +} + +.hljs-params, +.hljs-variable, +.hljs-template-variable { + color: #3e87e3; +} + +.hljs-attribute { + color: #cda869; +} + +.hljs-meta { + color: #8996a8; +} + +.hljs-formula { + background-color: #0e2231; + color: #f8f8f8; + font-style: italic; +} + +.hljs-addition { + background-color: #253b22; + color: #f8f8f8; +} + +.hljs-deletion { + background-color: #420e09; + color: #f8f8f8; +} + +.hljs-selector-class { + color: #9b703f; +} + +.hljs-selector-id { + color: #8b98ab; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} +</style></head><body class="markdown-body"><h1 id="gr-peach-nic-nic-">GR-PEACH nicモジュール (nic)</h1> +<p><code>nic</code> モジュールは、ネットワーク環境を制御するためのモジュールです。</p> +<h4 id="-">使用例</h4> +<pre><code class="lang-javascript"><span class="hljs-keyword">var</span> nic = <span class="hljs-built_in">require</span>(<span class="hljs-string">'nic'</span>); +<span class="hljs-keyword">var</span> nics = nic.enumerate(); +<span class="hljs-built_in">console</span>.log( <span class="hljs-built_in">Object</span>.keys( nics ).length + <span class="hljs-string">"個のNICが搭載されています"</span> ); +<span class="hljs-keyword">var</span> index = <span class="hljs-number">0</span>; +<span class="hljs-built_in">Object</span>.keys( nics ).forEach( <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">key</span>) </span>{ + <span class="hljs-built_in">console</span>.log( ++ index + <span class="hljs-string">"個目は:"</span> + key ); +}); + +<span class="hljs-keyword">var</span> eth0 = nics[<span class="hljs-string">"ETHERNET"</span>]; +<span class="hljs-keyword">if</span>( eth0 ) { + eth0.ifup(); <span class="hljs-comment">// use DHCP</span> + eth0.ntpdate({ <span class="hljs-attr">server</span>:<span class="hljs-string">"ntp.nict.jp"</span> }); + <span class="hljs-built_in">console</span>.log( <span class="hljs-built_in">JSON</span>.stringify( eth0.ifconfig() ) ); + <span class="hljs-built_in">console</span>.log( <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>().toString() ); +} +</code></pre> +<h2 id="nic-enumerate-">nic.enumerate()</h2> +<ul> +<li>戻り値: {Array} Nicオブジェクトの一覧を格納した連想配列<ul> +<li><code>ETHERNET</code> {Nic} Ethernet Interface に対応するNicクラスのインスタンス</li> +</ul> +</li> +</ul> +<p>ボードに搭載された NIC 一覧を取得します。(現在、Ethernet Interface のみに対応しています)</p> +<h4 id="-">使用例</h4> +<pre><code class="lang-javascript"><span class="hljs-keyword">var</span> nic = <span class="hljs-built_in">require</span>(<span class="hljs-string">'nic'</span>); + +<span class="hljs-comment">// ★★ 一覧取得</span> +<span class="hljs-keyword">var</span> nics = nic.enumerate(); + +<span class="hljs-comment">// 一覧表示</span> +<span class="hljs-built_in">console</span>.log( <span class="hljs-built_in">Object</span>.keys( nics ).length + <span class="hljs-string">"個のNICが搭載されています"</span> ); +<span class="hljs-keyword">var</span> index = <span class="hljs-number">0</span>; +<span class="hljs-built_in">Object</span>.keys( nics ).forEach( <span class="hljs-function"><span class="hljs-keyword">function</span>(<span class="hljs-params">key</span>) </span>{ + <span class="hljs-built_in">console</span>.log( ++ index + <span class="hljs-string">"個目は:"</span> + key ); +}); +</code></pre> +<h1 id="nic-">Nicクラス</h1> +<p>NIC の制御や状態の取得を行うクラスです。</p> +<h2 id="nic-ifup-param-">nic.ifup([param])</h2> +<ul> +<li><code>param</code> {Object} ネットワーク設定。すべての項目を省略する場合、この引数自体を省略可能です。<ul> +<li><code>ip</code> {string} IPアドレス(省略時、DHCP使用)</li> +<li><code>netmask</code> {string} ネットマスク(省略時、DHCP使用)</li> +<li><code>gateway</code> {string} ゲートウェイ(省略時、DHCP使用)</li> +<li><code>dns</code> {string} DNSサーバ(省略可能)</li> +</ul> +</li> +<li>戻り値: {boolean} <code>true</code>:接続成功、<code>false</code>:接続失敗</li> +</ul> +<p>ネットワークへ接続します。 +<code>param</code>を指定しない場合、および<code>ip</code>, <code>netmask</code>, <code>gateway</code>のどれか一つでも省略されている場合はDHCPを使用します。 +<code>ip</code>, <code>netmask</code>, <code>gateway</code>が全て指定されている場合は静的IPアドレスを使用します。 +<code>dns</code>はDHCP・静的IPアドレスのどちらを使用する場合でも省略可能です。</p> +<h4 id="-">使用例</h4> +<pre><code class="lang-javascript"><span class="hljs-keyword">var</span> nic = <span class="hljs-built_in">require</span>(<span class="hljs-string">'nic'</span>); +<span class="hljs-keyword">var</span> nics = nic.enumerate(); +<span class="hljs-keyword">var</span> eth0 = nics[<span class="hljs-string">"ETHERNET"</span>]; +<span class="hljs-keyword">if</span>( !eth0 ) { + <span class="hljs-keyword">return</span>; +} + +<span class="hljs-comment">// ★★ ネットワークへ接続 (DHCP)</span> +eth0.ifup(); +eth0.ifdown(); + +<span class="hljs-comment">// ★★ ネットワークへ接続 (静的IPアドレス指定)</span> +eth0.ifup({ + <span class="hljs-attr">ip</span>: <span class="hljs-string">"192.168.123.100"</span>, + <span class="hljs-attr">netmask</span>: <span class="hljs-string">"255.255.255.0"</span>, + <span class="hljs-attr">gateway</span>: <span class="hljs-string">"192.168.123.1"</span>, + <span class="hljs-attr">dns</span>: <span class="hljs-string">"8.8.8.8"</span> +}); +eth0.ifdown(); +</code></pre> +<h2 id="nic-ifdown-">nic.ifdown()</h2> +<ul> +<li>戻り値: {boolean} <code>true</code>:切断成功、<code>false</code>:切断失敗</li> +</ul> +<p>ネットワークから切断します。</p> +<h4 id="-">使用例</h4> +<pre><code class="lang-javascript"><span class="hljs-keyword">var</span> nic = <span class="hljs-built_in">require</span>(<span class="hljs-string">'nic'</span>); +<span class="hljs-keyword">var</span> nics = nic.enumerate(); +<span class="hljs-keyword">var</span> eth0 = nics[<span class="hljs-string">"ETHERNET"</span>]; +<span class="hljs-keyword">if</span>( !eth0 ) { + <span class="hljs-keyword">return</span>; +} +eth0.ifup(); + +<span class="hljs-comment">// ★★ ネットワークから切断</span> +eth0.ifdown(); +</code></pre> +<h2 id="nic-ifconfig-">nic.ifconfig()</h2> +<ul> +<li>戻り値: {Object} NIC の状態を格納したオブジェクト<ul> +<li><code>NIC</code> {string} NIC の種類</li> +<li><code>HWaddr</code> {string}} MACアドレス</li> +<li><code>inet</code> {string} inetアドレス</li> +<li><code>netmask</code> {string} ネットマスク</li> +<li><code>gateway</code> {string} ゲートウェイ</li> +</ul> +</li> +</ul> +<p>NICの状態を取得します。</p> +<h4 id="-">使用例</h4> +<pre><code class="lang-javascript"><span class="hljs-keyword">var</span> nic = <span class="hljs-built_in">require</span>(<span class="hljs-string">'nic'</span>); +<span class="hljs-keyword">var</span> nics = nic.enumerate(); +<span class="hljs-keyword">var</span> eth0 = nics[<span class="hljs-string">"ETHERNET"</span>]; +<span class="hljs-keyword">if</span>( !eth0 ) { + <span class="hljs-keyword">return</span>; +} +eth0.ifup(); + +<span class="hljs-comment">// ★★ NIC の状態を取得 (接続時)</span> +<span class="hljs-keyword">var</span> conf = eth0.ifconfig(); +<span class="hljs-built_in">console</span>.log( <span class="hljs-built_in">JSON</span>.stringify( conf ) ); + +eth0.ifdown(); + +<span class="hljs-comment">// ★★ NIC の状態を取得 (切断時)</span> +conf = eth0.ifconfig(); +<span class="hljs-built_in">console</span>.log( <span class="hljs-built_in">JSON</span>.stringify( conf ) ); +</code></pre> +<h2 id="nic-ntpdate-param-">nic.ntpdate([param])</h2> +<ul> +<li><code>param</code> {Object} 時刻同期設定。すべての項目を省略する場合、この引数自体を省略可能です。<ul> +<li><code>server</code> {string} NTPサーバ(省略時:<code>"0.pool.ntp.org"</code>)</li> +<li><code>port</code> {number} ポート番号(省略時:<code>123</code>)</li> +<li><code>timeout</code> {number} タイムアウト時間(単位:ミリ秒)(省略時:<code>10 * 1000</code>)</li> +</ul> +</li> +<li>戻り値: {boolean} <code>true</code>:時刻同期成功、<code>false</code>:時刻同期失敗</li> +</ul> +<p>インターネット時刻と同期します。</p> +<h4 id="-">使用例</h4> +<pre><code class="lang-javascript"><span class="hljs-keyword">var</span> nic = <span class="hljs-built_in">require</span>(<span class="hljs-string">'nic'</span>); +<span class="hljs-keyword">var</span> nics = nic.enumerate(); +<span class="hljs-keyword">var</span> eth0 = nics[<span class="hljs-string">"ETHERNET"</span>]; +<span class="hljs-keyword">if</span>( !eth0 ) { + <span class="hljs-keyword">return</span>; +} +eth0.ifup(); + +<span class="hljs-comment">// ★★ インターネット時刻と同期(デフォルトサーバ "0.pool.ntp.org" 使用)</span> +<span class="hljs-keyword">if</span>( eth0.ntpdate() ) { + <span class="hljs-built_in">console</span>.log( <span class="hljs-string">'時刻同期成功'</span>, <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>().toString() ); +} +<span class="hljs-keyword">else</span> { + <span class="hljs-built_in">console</span>.log( <span class="hljs-string">'時刻同期失敗'</span> ); +} + +<span class="hljs-comment">// ★★ インターネット時刻と同期(サーバ指定)</span> +<span class="hljs-keyword">if</span>( eth0.ntpdate({ <span class="hljs-attr">server</span>:<span class="hljs-string">"ntp.nict.jp"</span> }) ) { + <span class="hljs-built_in">console</span>.log( <span class="hljs-string">'時刻同期成功'</span>, <span class="hljs-keyword">new</span> <span class="hljs-built_in">Date</span>().toString() ); +} +<span class="hljs-keyword">else</span> { + <span class="hljs-built_in">console</span>.log( <span class="hljs-string">'時刻同期失敗'</span> ); +} + +eth0.ifdown(); +</code></pre> +</body></html> \ No newline at end of file