This is Webservice SDK for mbed. LPCXpresso1769/LPC1768/FRDM-K64F/LPC4088

Fork of libMiMic by Ryo Iizuka

Committer:
nyatla
Date:
Thu Oct 30 14:03:31 2014 +0000
Revision:
103:853ddf4a1b81
Parent:
51:45d42af201c2
Child:
109:18f12ac01097
bugfix; mDNS

Who changed what in which revision?

UserRevisionLine numberNew 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 2:b96c1e90d120 30 #include "NyLPC_uipService.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_ */