This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088
Fork of libMiMic by
core/net/NyLPC_cNetConfig.h@109:18f12ac01097, 2014-11-19 (annotated)
- Committer:
- nyatla
- Date:
- Wed Nov 19 14:45:17 2014 +0000
- Revision:
- 109:18f12ac01097
- Parent:
- 103:853ddf4a1b81
new MiMicIP API;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
nyatla | 37:fc4b4fd6a649 | 1 | /********************************************************************************* |
nyatla | 37:fc4b4fd6a649 | 2 | * PROJECT: MiMic |
nyatla | 37:fc4b4fd6a649 | 3 | * -------------------------------------------------------------------------------- |
nyatla | 37:fc4b4fd6a649 | 4 | * |
nyatla | 37:fc4b4fd6a649 | 5 | * This file is part of MiMic |
nyatla | 37:fc4b4fd6a649 | 6 | * Copyright (C)2011 Ryo Iizuka |
nyatla | 37:fc4b4fd6a649 | 7 | * |
nyatla | 37:fc4b4fd6a649 | 8 | * MiMic is free software: you can redistribute it and/or modify |
nyatla | 37:fc4b4fd6a649 | 9 | * it under the terms of the GNU Lesser General Public License as published |
nyatla | 37:fc4b4fd6a649 | 10 | * by the Free Software Foundation, either version 3 of the License, or |
nyatla | 37:fc4b4fd6a649 | 11 | * (at your option) any later version. |
nyatla | 37:fc4b4fd6a649 | 12 | * |
nyatla | 37:fc4b4fd6a649 | 13 | * This program is distributed in the hope that it will be useful, |
nyatla | 37:fc4b4fd6a649 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
nyatla | 37:fc4b4fd6a649 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nyatla | 37:fc4b4fd6a649 | 16 | * GNU General Public License for more details. |
nyatla | 37:fc4b4fd6a649 | 17 | * |
nyatla | 37:fc4b4fd6a649 | 18 | * You should have received a copy of the GNU Lesser General Public License |
nyatla | 37:fc4b4fd6a649 | 19 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
nyatla | 37:fc4b4fd6a649 | 20 | * |
nyatla | 37:fc4b4fd6a649 | 21 | * For further information please contact. |
nyatla | 37:fc4b4fd6a649 | 22 | * http://nyatla.jp/ |
nyatla | 37:fc4b4fd6a649 | 23 | * <airmail(at)ebony.plala.or.jp> or <nyatla(at)nyatla.jp> |
nyatla | 37:fc4b4fd6a649 | 24 | * |
nyatla | 37:fc4b4fd6a649 | 25 | *********************************************************************************/ |
nyatla | 2:b96c1e90d120 | 26 | #ifndef NYLPC_CNETCONFIG_H_ |
nyatla | 2:b96c1e90d120 | 27 | #define NYLPC_CNETCONFIG_H_ |
nyatla | 2:b96c1e90d120 | 28 | |
nyatla | 2:b96c1e90d120 | 29 | #include "NyLPC_stdlib.h" |
nyatla | 109:18f12ac01097 | 30 | #include "NyLPC_netif.h" |
nyatla | 12:efe841863fc8 | 31 | #ifdef __cplusplus |
nyatla | 12:efe841863fc8 | 32 | extern "C" { |
nyatla | 12:efe841863fc8 | 33 | #endif /* __cplusplus */ |
nyatla | 2:b96c1e90d120 | 34 | |
nyatla | 37:fc4b4fd6a649 | 35 | #define NyLPC_TcNetConfig_HOSTNAME_LEN 32 |
nyatla | 2:b96c1e90d120 | 36 | /** |
nyatla | 2:b96c1e90d120 | 37 | * クラス型を定義します。 |
nyatla | 2:b96c1e90d120 | 38 | * NyLPC_cNetConfigクラスは、NyLPC_NetConfigの初期化データを保持します。 |
nyatla | 2:b96c1e90d120 | 39 | * 初期化データのロード・セーブ機能を提供します。 |
nyatla | 2:b96c1e90d120 | 40 | */ |
nyatla | 2:b96c1e90d120 | 41 | typedef struct NyLPC_TcNetConfig NyLPC_TcNetConfig_t; |
nyatla | 2:b96c1e90d120 | 42 | |
nyatla | 2:b96c1e90d120 | 43 | |
nyatla | 2:b96c1e90d120 | 44 | /** |
nyatla | 37:fc4b4fd6a649 | 45 | * NyLPC_TcIPv4Configクラスの継承クラスです。 |
nyatla | 37:fc4b4fd6a649 | 46 | * IPv4設定にネットワーク設定項目を加えます。 |
nyatla | 37:fc4b4fd6a649 | 47 | * 加えられる項目は全て[RECOMMEND]パラメータです。 |
nyatla | 2:b96c1e90d120 | 48 | */ |
nyatla | 2:b96c1e90d120 | 49 | struct NyLPC_TcNetConfig |
nyatla | 2:b96c1e90d120 | 50 | { |
nyatla | 37:fc4b4fd6a649 | 51 | NyLPC_TcIPv4Config_t super; |
nyatla | 37:fc4b4fd6a649 | 52 | /** |
nyatla | 37:fc4b4fd6a649 | 53 | * ホスト名 |
nyatla | 37:fc4b4fd6a649 | 54 | */ |
nyatla | 37:fc4b4fd6a649 | 55 | NyLPC_TChar hostname[NyLPC_TcNetConfig_HOSTNAME_LEN]; |
nyatla | 37:fc4b4fd6a649 | 56 | /** |
nyatla | 37:fc4b4fd6a649 | 57 | * tcp初期設定モードのフラグ値 |
nyatla | 48:00d211aac2ec | 58 | * NyLPC_TcNetConfig_IPV4_FLAG_Xの組み合わせ |
nyatla | 37:fc4b4fd6a649 | 59 | * bit 01:IP初期設定のモード. 0:Manual指定,1:DHCP指定,2:AutoIP指定,3:APIPA指定 |
nyatla | 37:fc4b4fd6a649 | 60 | */ |
nyatla | 37:fc4b4fd6a649 | 61 | NyLPC_TUInt32 tcp_mode; |
nyatla | 37:fc4b4fd6a649 | 62 | struct{ |
nyatla | 37:fc4b4fd6a649 | 63 | /** |
nyatla | 37:fc4b4fd6a649 | 64 | * サービスのフラグセット。 |
nyatla | 37:fc4b4fd6a649 | 65 | * NyLPC_TcNetConfig_SERVICE_FLAG_xの組み合わせ |
nyatla | 37:fc4b4fd6a649 | 66 | */ |
nyatla | 37:fc4b4fd6a649 | 67 | NyLPC_TUInt32 flags; |
nyatla | 37:fc4b4fd6a649 | 68 | NyLPC_TUInt16 http_port; |
nyatla | 37:fc4b4fd6a649 | 69 | NyLPC_TUInt16 padding; |
nyatla | 37:fc4b4fd6a649 | 70 | }services; |
nyatla | 37:fc4b4fd6a649 | 71 | |
nyatla | 103:853ddf4a1b81 | 72 | /** インタフェイス層の設定 */ |
nyatla | 2:b96c1e90d120 | 73 | }; |
nyatla | 51:45d42af201c2 | 74 | #define NyLPC_TcNetConfig_IPV4_FLAG_MODE_MASK 0x00000003 |
nyatla | 51:45d42af201c2 | 75 | #define NyLPC_TcNetConfig_IPV4_FLAG_MODE_MANUAL 0x00000000 |
nyatla | 51:45d42af201c2 | 76 | #define NyLPC_TcNetConfig_IPV4_FLAG_MODE_DHCP 0x00000001 |
nyatla | 51:45d42af201c2 | 77 | #define NyLPC_TcNetConfig_IPV4_FLAG_MODE_AUTOIP 0x00000002 |
nyatla | 37:fc4b4fd6a649 | 78 | #define NyLPC_TcNetConfig_IPV4_FLAG_MODE_APIPA (NyLPC_TcNetConfig_IPV4_FLAG_MODE_DHCP|NyLPC_TcNetConfig_IPV4_FLAG_MODE_AUTOIP) |
nyatla | 48:00d211aac2ec | 79 | /*-------------------------------------------------- |
nyatla | 48:00d211aac2ec | 80 | * NyLPC_TcNetConfig.services.flags |
nyatla | 48:00d211aac2ec | 81 | --------------------------------------------------*/ |
nyatla | 37:fc4b4fd6a649 | 82 | |
nyatla | 48:00d211aac2ec | 83 | /** |
nyatla | 51:45d42af201c2 | 84 | * MDNSサービスの有効・無効(いまのところビットパターンなので注意!) |
nyatla | 48:00d211aac2ec | 85 | */ |
nyatla | 51:45d42af201c2 | 86 | #define NyLPC_TcNetConfig_SERVICE_FLAG_MDNS 0x00000001 |
nyatla | 51:45d42af201c2 | 87 | #define NyLPC_TcNetConfig_SERVICE_FLAG_UPNP 0x00000002 |
nyatla | 48:00d211aac2ec | 88 | |
nyatla | 2:b96c1e90d120 | 89 | |
nyatla | 2:b96c1e90d120 | 90 | /** |
nyatla | 37:fc4b4fd6a649 | 91 | * フラッシュメモリから設定値を読み出して、インスタンスを初期化します。 |
nyatla | 37:fc4b4fd6a649 | 92 | * @param i_is_factory_default |
nyatla | 37:fc4b4fd6a649 | 93 | * 出荷時設定を読み出すかを設定します。 |
nyatla | 2:b96c1e90d120 | 94 | */ |
nyatla | 11:c82a7b2899b0 | 95 | void NyLPC_cNetConfig_initialize(NyLPC_TcNetConfig_t* i_inst,NyLPC_TBool i_is_factory_default); |
nyatla | 13:a71705c5e6fd | 96 | |
nyatla | 13:a71705c5e6fd | 97 | |
nyatla | 2:b96c1e90d120 | 98 | /** |
nyatla | 2:b96c1e90d120 | 99 | * インスタンスを終期化します。 |
nyatla | 2:b96c1e90d120 | 100 | */ |
nyatla | 2:b96c1e90d120 | 101 | #define NyLPC_cNetConfig_finalize(i_inst); |
nyatla | 2:b96c1e90d120 | 102 | |
nyatla | 37:fc4b4fd6a649 | 103 | #define NyLPC_cNetConfig_setIpAddr(i_inst,ip1,ip2,ip3,ip4) NyLPC_TIPv4Addr_set(&((i_inst)->super.ip_addr),(ip1),(ip2),(ip3),(ip4)); |
nyatla | 24:6ee4ba298152 | 104 | |
nyatla | 24:6ee4ba298152 | 105 | /** |
nyatla | 24:6ee4ba298152 | 106 | * Set IPv4 network mask value to instance. |
nyatla | 24:6ee4ba298152 | 107 | */ |
nyatla | 37:fc4b4fd6a649 | 108 | #define NyLPC_cNetConfig_setNetMask(i_inst,ip1,ip2,ip3,ip4) NyLPC_TIPv4Addr_set(&((i_inst)->super.netmask),(ip1),(ip2),(ip3),(ip4)); |
nyatla | 24:6ee4ba298152 | 109 | |
nyatla | 24:6ee4ba298152 | 110 | /** |
nyatla | 24:6ee4ba298152 | 111 | * Set IPv4 default gateway address to instance. |
nyatla | 24:6ee4ba298152 | 112 | */ |
nyatla | 37:fc4b4fd6a649 | 113 | #define NyLPC_cNetConfig_setGateway(i_inst,ip1,ip2,ip3,ip4) NyLPC_TIPv4Addr_set(&((i_inst)->super.dr_addr),(ip1),(ip2),(ip3),(ip4)); |
nyatla | 24:6ee4ba298152 | 114 | |
nyatla | 24:6ee4ba298152 | 115 | /** |
nyatla | 24:6ee4ba298152 | 116 | * Set ethernet mac address to instance. |
nyatla | 24:6ee4ba298152 | 117 | */ |
nyatla | 24:6ee4ba298152 | 118 | #define NyLPC_cNetConfig_setEmac(i_inst,a1,a2,a3,a4,a5,a6) NyLPC_TEthAddr_set(&((i_inst)->interface_setting.ethernet.eth_mac),(a1),(a2),(a3),(a4),(a5),(a6)); |
nyatla | 24:6ee4ba298152 | 119 | |
nyatla | 24:6ee4ba298152 | 120 | |
nyatla | 24:6ee4ba298152 | 121 | |
nyatla | 12:efe841863fc8 | 122 | #ifdef __cplusplus |
nyatla | 12:efe841863fc8 | 123 | } |
nyatla | 12:efe841863fc8 | 124 | #endif /* __cplusplus */ |
nyatla | 2:b96c1e90d120 | 125 | #endif /* NYLPC_CNETCONFIG_H_ */ |