亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? startup.c

?? Open DMT Client C Source code
?? C
?? 第 1 頁 / 共 3 頁
字號:
    } else    if (ndx > 15) {        return COMMAND_INDEX;    }        /* implement setting output state here */    // currently not supported    return COMMAND_FEATURE_NOT_SUPPORTED;}/* explicitly save properties [see PROP_CMD_SAVE_PROPS] */static CommandError_t _cmdSaveProperties(int protoNdx, Key_t key, const UInt8 *data, int dataLen){    // 'protoNdx' contains the handle to the protocol transport        // arguments are ignored    startupSaveProperties();    return COMMAND_OK;    }// ----------------------------------------------------------------------------/* initialize properties */void startupPropInitialize(utBool loadPropCache){    /* init properties */    propInitialize(utTrue);    /* firmware */    propInitFromString(PROP_STATE_FIRMWARE, DMTP_NAME_TYPE_VERSION);#if defined(TRANSPORT_MEDIA_SERIAL)    /* AccountID/DeviceID may be writable via BlueTooth transport (for OTA configuration) */    propSetReadOnly(PROP_STATE_ACCOUNT_ID, utFalse);    propSetReadOnly(PROP_STATE_DEVICE_ID , utFalse);#endif    /* property initialization */    propSetNotifyFtn(PROP_REFRESH_GET               , &_propertyPreGET);    propSetNotifyFtn(PROP_REFRESH_SET               , &_propertyPostSET);        /* set supporting commands */    propSetCommandFtn(PROP_CMD_SAVE_PROPS           , &_cmdSaveProperties);    propSetCommandFtn(PROP_CMD_STATUS_EVENT         , &_cmdSendStatus);    propSetCommandFtn(PROP_CMD_SET_OUTPUT           , &_cmdSetOutput);        /* copyright */    propSetString(PROP_STATE_COPYRIGHT              , COPYRIGHT);    /* connection properties */#if defined(TRANSPORT_MEDIA_FILE)    // disable Duplex connection (not wanted when just writing to a file)    propInitFromString(PROP_COMM_MAX_CONNECTIONS    , "1,0,0");     // no duplex connections, no quota    propInitFromString(PROP_COMM_MIN_XMIT_DELAY     , "0");    propInitFromString(PROP_COMM_MIN_XMIT_RATE      , "0");    propInitFromString(PROP_COMM_MAX_DUP_EVENTS     , "0");    propInitFromString(PROP_COMM_MAX_SIM_EVENTS     , "255");#elif defined(TRANSPORT_MEDIA_SERIAL) // comm config    // disable Simplex connection (not wanted when communicating over serial port)    propInitFromString(PROP_COMM_SPEAK_FIRST        , "0");    propInitFromString(PROP_COMM_FIRST_BRIEF        , "1");         // start with identification only    propInitFromString(PROP_COMM_MAX_CONNECTIONS    , "1,1,0");     // no simplex connections, no quota    propInitFromString(PROP_COMM_MIN_XMIT_DELAY     , "0");    propInitFromString(PROP_COMM_MIN_XMIT_RATE      , "0");    propInitFromString(PROP_COMM_MAX_XMIT_RATE      , "0");    propInitFromString(PROP_COMM_MAX_DUP_EVENTS     , "10");    propInitFromString(PROP_COMM_MAX_SIM_EVENTS     , "0");    //propInitFromString(PROP_COMM_ENCODINGS        , "0x6");       // HEX,Base64#elif defined(TRANSPORT_MEDIA_SOCKET) // comm config    propInitFromString(PROP_COMM_MAX_CONNECTIONS    , "20,10,30");    propInitFromString(PROP_COMM_MIN_XMIT_DELAY     , "60");        // seconds    propInitFromString(PROP_COMM_MIN_XMIT_RATE      , "60");        // seconds    propInitFromString(PROP_COMM_MAX_DUP_EVENTS     , "8");    propInitFromString(PROP_COMM_MAX_SIM_EVENTS     , "4");#elif defined(TRANSPORT_MEDIA_GPRS) // comm config    propInitFromString(PROP_COMM_MAX_CONNECTIONS    , "6,4,60");    propInitFromString(PROP_COMM_MIN_XMIT_DELAY     , "60");        // seconds    propInitFromString(PROP_COMM_MIN_XMIT_RATE      , "60");        // seconds    propInitFromString(PROP_COMM_MAX_DUP_EVENTS     , "8");    propInitFromString(PROP_COMM_MAX_SIM_EVENTS     , "4");#else // default values    propInitFromString(PROP_COMM_MAX_CONNECTIONS    , "4,2,120");    propInitFromString(PROP_COMM_MIN_XMIT_DELAY     , "90");        // seconds    propInitFromString(PROP_COMM_MIN_XMIT_RATE      , "600");       // seconds    propInitFromString(PROP_COMM_MAX_DUP_EVENTS     , "8");    propInitFromString(PROP_COMM_MAX_SIM_EVENTS     , "4");#endif    /* motion parameters */#if defined(TRANSPORT_MEDIA_FILE)    propInitFromString(PROP_MOTION_EXCESS_SPEED     , "0.0");       // kph    propInitFromString(PROP_MOTION_START            , "10.0");      // kph    propInitFromString(PROP_MOTION_IN_MOTION        , "60");        // seconds (1 minutes)    propInitFromString(PROP_MOTION_DORMANT_INTRVL   , "900");       // seconds (15 minutes)    propInitFromString(PROP_MOTION_DORMANT_COUNT    , "0");         // unlimited dormant messages#elif defined(TRANSPORT_MEDIA_SOCKET) // comm config    propInitFromString(PROP_MOTION_EXCESS_SPEED     , "0.0");       // kph    propInitFromString(PROP_MOTION_START            , "10.0");      // kph    propInitFromString(PROP_MOTION_IN_MOTION        , "900");       // seconds (15 minutes)    propInitFromString(PROP_MOTION_DORMANT_INTRVL   , "7200");      // seconds (2 hours)    propInitFromString(PROP_MOTION_DORMANT_COUNT    , "2");         // 2 dormant messages#else // default values    propInitFromString(PROP_MOTION_EXCESS_SPEED     , "0.0");       // kph    propInitFromString(PROP_MOTION_START            , "10.0");      // kph    propInitFromString(PROP_MOTION_IN_MOTION        , "600");       // seconds (10 minutes)    propInitFromString(PROP_MOTION_DORMANT_INTRVL   , "3600");      // seconds (1 hour)    propInitFromString(PROP_MOTION_DORMANT_COUNT    , "2");         // 2 dormant messages#endif    // "propLoadProperties(...)" may also be used to load properties from aux storage#if defined(PROPERTY_FILE)    if (*propertyFile) {        logDEBUG(LOGSRC,"Loading property config file: %s", propertyFile);        propLoadProperties(propertyFile, utTrue);    }    if (loadPropCache && *propertyCache) {        logDEBUG(LOGSRC,"Loading property cache file: %s", propertyCache);        propLoadProperties(propertyCache, utFalse);    } else {        // delete property cache file?        logDEBUG(LOGSRC,"Not loading property cache file");    }#endif    /* Serial # */    // If a default serial# has not already been set, get the actual device serial#    // (typically, a default serial number will not already be defined)    const char *serNum = propGetString(PROP_STATE_SERIAL, "");    if (!serNum || !*serNum) {        // Serial number not yet defined        propInitFromString(PROP_STATE_SERIAL, osGetSerialNumberID());        serNum = propGetString(PROP_STATE_SERIAL, "");    }    /* Unique ID */    UInt16 uniqLen = 0;    const UInt8 *uniqId = propGetBinary(PROP_STATE_UNIQUE_ID, (UInt8*)0, (UInt16*)0, &uniqLen);    if (!uniqId || (uniqLen < MIN_UNIQUE_SIZE)) {        // Unique ID not yet defined        UInt8 _uniqueID[] = UNIQUE_ID;        if (sizeof(_uniqueID) >= MIN_UNIQUE_SIZE) {            propSetBinary(PROP_STATE_UNIQUE_ID, _uniqueID, sizeof(_uniqueID)); // changed!            uniqId = propGetBinary(PROP_STATE_UNIQUE_ID, (UInt8*)0, (UInt16*)0, &uniqLen);        } else {            // leave unique-id undefined            //logDEBUG(LOGSRC,"Leaving Unique-ID undefined ...");        }    }    /* Account ID (primary) */    const char *acctId = propGetAccountID(); // propGetString(PROP_STATE_ACCOUNT_ID,"");    if (!acctId || !*acctId) {        // Account ID not yet defined        const char *_acctId = ACCOUNT_ID;        if (_acctId && *_acctId) {            // set default account id            propInitFromString(PROP_STATE_ACCOUNT_ID, _acctId);        } else {            // leave account-id undefined            // NOTE: Leaving the account ID undefined allows the server to utilize             // the Device-ID in a similar fashion as a Unique-ID for identifying            // a device record.        }        acctId = propGetAccountID();  // propGetString(PROP_STATE_ACCOUNT_ID,"");    }        /* Device ID (primary) */    const char *devId = propGetDeviceID(0); // propGetString(PROP_STATE_DEVICE_ID, "");    if (!devId || !*devId) {        // Device-ID not yet defined        const char *_devId = DEVICE_ID;        if (_devId && *_devId) {            // set default device id (if specified)            logDEBUG(LOGSRC,"Setting default Device: %s", DEVICE_ID);            propInitFromString(PROP_STATE_DEVICE_ID, _devId);        } else        if (serNum && *serNum) {            // set to serial number (if available)            logDEBUG(LOGSRC,"Setting Serial# Device: %s", serNum);            propInitFromString(PROP_STATE_DEVICE_ID, serNum);        } else {            // no default device id, and no serial#, make up a name            //propInitFromString(PROP_STATE_DEVICE_ID, "device");            // or leave undefined        }        devId = propGetDeviceID(0); // propGetString(PROP_STATE_DEVICE_ID,"");    }       /* Device ID (secondary) */#if defined(SECONDARY_SERIAL_TRANSPORT)    const char *devBt = propGetDeviceID(1); // propGetString(PROP_STATE_DEVICE_BT, "");    if (!devBt || !*devBt) {        devBt = devId;    } else {        devId = devBt;    }#endif    /* reset hostname to device id */    // This sets the bluetooth broadcast name on serial transport    osSetHostname(devId);    /* make sure all 'changed' flags are reset */    propClearChanged();    // Note that changing properties on the command line will set those properties to 'changed'.}/* save properties */utBool startupSaveProperties(){    if (*propertyCache) {        if (propHasChanged()) {            logINFO(LOGSRC,"Saving properties ...");            propSaveProperties(propertyCache, utFalse);            return utTrue;        } else {            return utFalse;        }    } else {        logDEBUG(LOGSRC,"No property cache! ...");        return utFalse;    }}/* save properties */utBool startupReboot(utBool reboot){        /* save state prior to reboot */    startupSaveProperties();    /* reboot */    // may not be supported on this platform    if (reboot) {        osReboot();        // should not return if reboot is supported    }        /* return reboot failed */    return utFalse;    }// ----------------------------------------------------------------------------/* main process loop callback */void startupMainLoopCallback(){    // This function gets called about once per second from the main processing loop.    // Other monitoring functions, etc. should go here.    /* periodic gps module call */    gpsModulePeriodic();    /* save changed properties */#if defined(PROPERTY_SAVE_INTERVAL) && defined(PROPERTY_FILE)    if (utcIsTimerExpired(lastSavePropertyTimer,lastSavePropertyInterval)) {        lastSavePropertyTimer = utcGetTimer(); // reset        lastSavePropertyInterval = PROPERTY_SAVE_INTERVAL;        startupSaveProperties();    }#endif    /* Expired upload */#if defined(ENBALE_UPLOAD)    if (uploadIsExpired()) {        // upload did not complete in allowed time        uploadCancel();    }#endif}// ----------------------------------------------------------------------------// ----------------------------------------------------------------------------// Main entry point#if defined(__DATE2__)#  define _DATETIME_    (__TIME__ " " __DATE2__ " PST")#else#  define _DATETIME_    (__TIME__ " " __DATE__ " PST")#endif/* print the application header banner */static void _printBanner(){    const char *header    = APPLICATION_DESCRIPTION;    const char *version   = propGetString(PROP_STATE_FIRMWARE,"");    const char *build     = _DATETIME_;    const char *features  = APPLICATION_FEATURES + 1;    const char *account   = propGetAccountID(); // propGetString(PROP_STATE_ACCOUNT_ID,"");    const char *device    = propGetDeviceID(0);  // propGetString(PROP_STATE_DEVICE_ID,"");    const char *serial    = propGetString(PROP_STATE_SERIAL,"");    char host[64] = { 0 };    osGetHostname(host, sizeof(host));    logPRINTF(LOGSRC,SYSLOG_INFO, "--------------------------------------------------------");    logPRINTF(LOGSRC,SYSLOG_INFO, "%s", header);    logPRINTF(LOGSRC,SYSLOG_INFO, "Ver: %s [%s]", version, build);    logPRINTF(LOGSRC,SYSLOG_INFO, "Att: %s", features);    logPRINTF(LOGSRC,SYSLOG_INFO, "Que: %lu max events [format $%04lX]", (UInt32)EVENT_QUEUE_SIZE, (UInt32)DEFAULT_EVENT_FORMAT);    logPRINTF(LOGSRC,SYSLOG_INFO, "Dev: %s/%s [%s:%s]", account, device, host, serial);    logPRINTF(LOGSRC,SYSLOG_INFO, "--------------------------------------------------------");}/* print usage information */static void _usage(const char *pgm){    FILE *out = stderr;    _printBanner();    fprintf(out, "Usage: \n");    fprintf(out, "  %s -h[elp]              - display this help and exit\n", pgm);    fprintf(out, "  %s -v[ersion]           - display version and exit\n", pgm);    fprintf(out, "  %s [options-1] [options-2]\n", pgm);    fprintf(out, "  Options-1:\n");    fprintf(out, "    [-deb[ug]]                 - Debug mode (ie. 'Debug' logging level)\n");    fprintf(out, "    [-log <level>]             - Set logging level (log to syslog)\n");    fprintf(out, "    [-pf[ile] <file> [save]]   - load properties from specified file\n");    fprintf(out, "  Options-2:\n");    fprintf(out, "    [-enc[oding] <enc>]        - Packet encoding\n");    fprintf(out, "    [-cksum]                   - Enable ASCII checksums\n");#if !defined(TRANSPORT_MEDIA_FILE) && !defined(TRANSPORT_MEDIA_SERIAL)    fprintf(out, "    [-dup[lex]]                - Force all packets to be sent via duplex\n");#endif#if !defined(TRANSPORT_MEDIA_SERIAL) && !defined(TRANSPORT_MEDIA_FILE)    fprintf(out, "    [-sim[plex]]               - Force all packets to be sent via simplex\n");#endif    fprintf(out, "    [-comlog]                  - Enable commPort data logging\n");    fprintf(out, "    [-gps <port> [<model>]]    - GPS serial port\n");#if defined(TRANSPORT_MEDIA_SOCKET) || defined(TRANSPORT_MEDIA_GPRS)    fprintf(out, "    [-server <host> [<port>]]  - Server protocol host and port\n");#endif#if defined(TRANSPORT_MEDIA_SERIAL) && !defined(TARGET_WINCE)    fprintf(out, "    [-serial <port> [<bps>]]   - Serial protocol comm port\n");#endif#if defined(TRANSPORT_MEDIA_GPRS) && !defined(TARGET_WINCE)    fprintf(out, "    [-gprs <port> [<bps>]]     - GPRS modem port\n");#endif#if defined(TRANSPORT_MEDIA_FILE)    fprintf(out, "    [-file <outfile>]          - Event data file\n");#endif    fprintf(out, "\n");}// main entry pointint startupDMTP(int argc, char *argv[], int runInThread){    PacketEncoding_t dftEncoding = DEFAULT_ENCODING;    utBool comLog = utFalse;    utBool loadPropCache = utTrue;    const char *portName = (char*)0;        /* init argument index */    if (!argv) { argc = 0; }    const char *pgmName = (argc > 0)? argv[0] : "?";    int argp = 1;    /* initialize file/stream i/o */    ioInitialize();         /* init syslog */    logInitialize(SYSLOG_NAME);        /* check for debug mode and logging */    // These are performed first to allow debug logging to occur _before_ properties    // are loaded and initialized.    for (; argp < argc; argp++) {        if (strEqualsIgnoreCase(argv[argp],"-debug") || strEqualsIgnoreCase(argv[argp],"-deb")) {            // -debug            setDebugMode(utTrue);            logDEBUG(LOGSRC,"Debug Mode ON ...\n");        } else        if (strEqualsIgnoreCase(argv[argp],"-log")) {            // -log <level>            argp++;            if ((argp < argc) && ((*argv[argp] != '-') || isdigit(*(argv[argp]+1)))) {                int level = logParseLevel(argv[argp]); // can be negative                logSetLevel(level);                logEnableSyslog((level >= 0)? utTrue : utFalse);            } else {                // log level is unchanged

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu精品一区二区在线观看| 亚洲午夜久久久久久久久久久 | 欧美视频第二页| 91精品国产综合久久国产大片| 久久久久久电影| 亚洲国产综合色| 风间由美一区二区三区在线观看 | 欧美日韩1234| 中文字幕亚洲欧美在线不卡| 美女视频黄 久久| 欧美精品日韩一区| 欧美三级一区二区| 国产精品久久久久久亚洲毛片| 亚洲国产人成综合网站| 岛国精品在线播放| 欧美大片一区二区| 日韩国产高清在线| 欧美性大战久久久久久久 | 亚洲欧美另类久久久精品| 韩国成人福利片在线播放| 欧美日韩国产综合一区二区| 国产精品久久久久精k8| 国产精品亚洲午夜一区二区三区| 日韩一区二区三区免费看| 亚洲福利一二三区| 欧美丝袜丝交足nylons| 亚洲免费在线电影| 97se亚洲国产综合在线| 综合亚洲深深色噜噜狠狠网站| 国产成人精品1024| 国产精品丝袜在线| 成人av集中营| 亚洲欧美中日韩| 91色婷婷久久久久合中文| 亚洲欧美综合在线精品| a美女胸又www黄视频久久| 综合欧美一区二区三区| 色综合天天综合给合国产| 亚洲黄色性网站| 在线观看不卡一区| 亚洲国产成人精品视频| 欧美精品v日韩精品v韩国精品v| 午夜成人在线视频| 欧美精品久久一区二区三区| 蜜臀av一区二区在线免费观看| 91精品国产色综合久久ai换脸| 六月丁香婷婷色狠狠久久| 精品久久久久久最新网址| 国产一区久久久| 中文字幕一区二区三区精华液 | 国产一区二区三区综合| 久久久综合视频| www.日韩av| 亚洲高清中文字幕| 日韩三级视频在线看| 国内外成人在线视频| 国产精品视频yy9299一区| 色婷婷久久久久swag精品| 天堂久久一区二区三区| 精品成人佐山爱一区二区| www.视频一区| 免费一区二区视频| 国产欧美一区二区精品性色超碰| 99久久伊人久久99| 日日骚欧美日韩| 国产精品亲子伦对白| 欧美日韩另类一区| 国产乱码精品1区2区3区| 亚洲视频狠狠干| 91麻豆精品国产无毒不卡在线观看| 激情六月婷婷久久| 亚洲精品国产成人久久av盗摄| 日韩一区二区免费电影| 93久久精品日日躁夜夜躁欧美| 日韩极品在线观看| 亚洲欧美偷拍另类a∨色屁股| 欧美男生操女生| av资源站一区| 极品少妇xxxx精品少妇偷拍| 一区二区高清在线| 国产午夜精品一区二区三区视频 | 亚洲国产乱码最新视频| 欧美精品一区二区三区一线天视频| 91免费精品国自产拍在线不卡| 麻豆91精品视频| 亚洲一区二区三区自拍| 国产日韩欧美综合一区| 欧美日韩www| 一本到不卡免费一区二区| 国产成人精品影院| 日本在线不卡一区| 亚洲小说春色综合另类电影| 国产精品久久久久久久久动漫| 精品日本一线二线三线不卡| 欧美视频一区二区在线观看| 99久久国产综合色|国产精品| 国产一区二区在线观看视频| 亚洲亚洲人成综合网络| 亚洲欧美一区二区三区国产精品| 精品国产精品网麻豆系列 | 久久久精品黄色| 日韩免费在线观看| 337p亚洲精品色噜噜噜| 欧美三区在线观看| 91麻豆精东视频| 99国产精品国产精品久久| 国产jizzjizz一区二区| 国产一区二区在线观看视频| 麻豆精品国产传媒mv男同| 人禽交欧美网站| 日本亚洲视频在线| 日韩成人一区二区三区在线观看| 亚洲v精品v日韩v欧美v专区| 一区二区三区在线不卡| 一区二区三区国产豹纹内裤在线| 亚洲色图19p| 亚洲免费电影在线| 一级女性全黄久久生活片免费| 亚洲欧美激情插| 亚洲精品乱码久久久久久日本蜜臀| 国产精品久久久久久久久果冻传媒 | 午夜影视日本亚洲欧洲精品| 洋洋av久久久久久久一区| 夜夜嗨av一区二区三区网页| 亚洲午夜免费电影| 日韩国产在线观看一区| 久久99深爱久久99精品| 国产在线一区二区| 成人综合婷婷国产精品久久| 成人精品视频一区二区三区尤物| 成人ar影院免费观看视频| 一本久久a久久精品亚洲| 欧美午夜不卡视频| 欧美一级日韩一级| 久久日韩精品一区二区五区| 日本一区二区三区国色天香| 亚洲精品中文在线| 日韩精品色哟哟| 国产精品一区二区三区网站| 99re这里只有精品6| 欧美日韩视频专区在线播放| 日韩精品一区二区三区视频在线观看| 久久久亚洲高清| 亚洲天堂免费看| 青娱乐精品视频| 国产成人在线视频播放| 色爱区综合激月婷婷| 欧美一区二区三区视频免费| 国产女人aaa级久久久级| 亚洲精品菠萝久久久久久久| 青青草国产精品97视觉盛宴| 风间由美一区二区三区在线观看 | 成人激情小说网站| 欧美私模裸体表演在线观看| 久久久.com| 亚洲aⅴ怡春院| 成人av综合在线| 在线播放亚洲一区| 国产精品嫩草影院com| 香蕉成人啪国产精品视频综合网| 丰满少妇在线播放bd日韩电影| 欧美午夜一区二区三区免费大片| 久久久亚洲午夜电影| 五月婷婷激情综合网| 成人网在线免费视频| 日韩午夜在线观看视频| 综合欧美亚洲日本| 国产一区二区福利| 9191成人精品久久| 亚洲伦理在线免费看| 国产原创一区二区| 欧美日韩视频在线第一区| 国产精品欧美综合在线| 激情综合五月天| 91精品国产福利在线观看| 亚洲欧洲另类国产综合| 国产一区二区剧情av在线| 欧美日韩一区二区三区视频| 中文字幕日韩一区二区| 国产精品456| 日韩精品一区二区三区在线观看| 亚洲国产欧美一区二区三区丁香婷| 国产精品1区2区| 精品国产一区二区三区久久影院| 亚洲国产人成综合网站| 色域天天综合网| 中文字幕在线观看不卡视频| 国产一区二区三区在线观看免费视频| 欧美一二三四在线| 丝袜诱惑制服诱惑色一区在线观看| 一本色道a无线码一区v| 最新热久久免费视频| 国产91精品一区二区麻豆亚洲| 久久亚洲综合av| 国产在线不卡一卡二卡三卡四卡| 欧美久久免费观看| 色伊人久久综合中文字幕| 日韩一级高清毛片| 视频一区二区欧美| 88在线观看91蜜桃国自产|