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

Dependents:   MbedFileServer_1768MiniDK2 RedWireBridge IssueDebug_gcc MiMicRemoteMCU-for-Mbed ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers NyLPC_cMiMicConfiglation.h Source File

NyLPC_cMiMicConfiglation.h

00001 /*
00002  * cConfiglationStorage.h
00003  *
00004  *  Created on: 2011/10/18
00005  *      Author: nyatla
00006  */
00007 
00008 #include "NyLPC_stdlib.h"
00009 #include "NyLPC_net.h"
00010 #ifndef NYLPC_CCONFIGLATIONSTORAGE_H_
00011 #define NYLPC_CCONFIGLATIONSTORAGE_H_
00012 
00013 #ifdef __cplusplus
00014 extern "C" {
00015 #endif /* __cplusplus */
00016 
00017 
00018 /**
00019  * IPアドレスはネットワークオーダーで格納する。
00020  * 構造体は8バイトアライメントであること。
00021  */
00022 struct NyLPC_TMiMicConfigulation{
00023     /** ROM焼検出用。0xFFFFFFFFを書く */
00024     NyLPC_TUInt32   fast_boot;
00025     /** ホスト名*/
00026     NyLPC_TChar     hostname[NyLPC_TcNetConfig_HOSTNAME_LEN];
00027     /** MACアドレスの下位4bit*/
00028     NyLPC_TUInt32   mac_00_01_02_03;
00029     /** MACアドレスの上位2bit*/
00030     NyLPC_TUInt32   mac_04_05_xx_xx;    //12+NyLPC_TcNetConfig_HOSTNAME_LEN
00031     /*
00032      * IPv4設定
00033      */
00034 
00035     /**
00036      * 0-1bit 起動モード
00037      *  0:default,1:DHCP,2:AUTOIP,3:APIPA
00038      */
00039     NyLPC_TUInt32   ipv4_flags;
00040     /** IPV4アドレス*/
00041     NyLPC_TUInt32   ipv4_addr_net;
00042     NyLPC_TUInt32   ipv4_mask_net;
00043     NyLPC_TUInt32   ipv4_drut_net;      //16
00044 
00045     /*
00046      * Service setting
00047      */
00048 
00049     /**
00050      * Service flags
00051      * 0:mdns ON/OFF
00052      */
00053     NyLPC_TUInt32   srv_flags;
00054     /** HTTPポート番号*/
00055     NyLPC_TUInt16   http_port;          //6
00056                                         //total=(34=(12+16+6)+NyLPC_TcNetConfig_HOSTNAME_LEN)
00057     NyLPC_TUInt16   padding32;
00058     NyLPC_TUInt32   padding64;          //total=40+NyLPC_TcNetConfig_HOSTNAME_LEN
00059 };
00060 
00061 /**
00062  * ユーザー定義コンフィギュレーションを持つ場合にtrue
00063  * falseなら初期設定と捉えることも出来ます。
00064  */
00065 NyLPC_TBool NyLPC_cMiMicConfiglation_hasUserConfigulation(void);
00066 
00067 /**
00068  * ユーザコンフィギュレーションを更新する。
00069  * この関数は、RTOSが停止中に実行すること。
00070  * この関数は384バイト程度のスタックが必要です。
00071  */
00072 NyLPC_TBool NyLPC_cMiMicConfiglation_updateConfigulation(const struct NyLPC_TMiMicConfigulation* i_congfiglation);
00073 /**
00074  * コンフィギュレーション値を返す。
00075  * この関数は、RTOSが停止中に実行すること。
00076  */
00077 const struct NyLPC_TMiMicConfigulation* NyLPC_cMiMicConfiglation_loadFromFlash(void);
00078 const struct NyLPC_TMiMicConfigulation* NyLPC_cMiMicConfiglation_loadFactoryDefault(void);
00079 
00080 #ifdef __cplusplus
00081 }
00082 #endif /* __cplusplus */
00083 
00084 #endif /* CCONFIGLATIONSTORAGE_H_ */