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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? configif.h

?? 絕對好東西
?? H
字號:
//--------------------------------------------------------------------------
// Network Tooks Library
//--------------------------------------------------------------------------
// CONFIGIF.H
//
// Configuration Manager Interface Functions
//
// Author: Michael A. Denio
// Copyright 2000 by Texas Instruments Inc.
//-------------------------------------------------------------------------
#ifndef _CONFIGIF_H
#define _CONFIGIF_H

//-----------------------------------------------------------------------
// Config API
//-----------------------------------------------------------------------

//-----------------------------------------------------------------------
// CfgNew()
//
// Create a new configuration
//-----------------------------------------------------------------------
_extern HANDLE CfgNew();

//-----------------------------------------------------------------------
// CfgFree( HANDLE hCfg )
//
// Destroy a configuration
//-----------------------------------------------------------------------
_extern void CfgFree( HANDLE hCfg );

//-----------------------------------------------------------------------
// CfgSetDefault()
//
// Set the default configuration
//-----------------------------------------------------------------------
_extern void CfgSetDefault( HANDLE hCfg );

//-----------------------------------------------------------------------
// CfgGetDefault()
//
// Get the default configuration
//-----------------------------------------------------------------------
_extern HANDLE CfgGetDefault();

//-----------------------------------------------------------------------
// CfgLoad()
//
// Load a configuration from memory buffer
//
// Returns the number of bytes processed, or <0 on error
//-----------------------------------------------------------------------
_extern int  CfgLoad( HANDLE hCfg, int Size, UINT8 *pData );

//-----------------------------------------------------------------------
// CfgSave()
//
// Save configuration to a memory buffer
//
// *pSize is set to the size of the supplied buffer, or zero to get
// required size (the pointer pSize must be valid, but the value at
// the pointer can be zero).
//
// Returns the number of bytes written (0 on size check, <0 on error)
// *pSize is set to the number of bytes required.
//-----------------------------------------------------------------------
_extern int  CfgSave( HANDLE hCfg, int *pSize, UINT8 *pData );

//-----------------------------------------------------------------------
// CfgSetExecuteOrder()
//
// Establishes the order in which Tags are loaded and unloaded when
// the Execute status changes.
//
// When a configuration is first created, the order set in ascending
// Tag value order.
//
// The valute of Tags must be set to the EXACT number of tags in the
// configuration system.
//
// Returns 0 on success, or <0 on error
//-----------------------------------------------------------------------
_extern int CfgSetExecuteOrder( HANDLE hCfg, uint Tags,
                        uint *pOpenOrder, uint *pCloseOrder );

//-----------------------------------------------------------------------
// CfgExecute()
//
// Executes the configuration - loads all loadable entries
//
// When a configuration is first created, config changes do not
// alter the state of the system. Once the configuration is executed,
// all past settings take effect, and any new settings are immediately
// invoked.
//
// When fExecute is set to 0, all invoked entries are shutdown.
//
// Returns 0 on success, or <0 on error
//-----------------------------------------------------------------------
_extern int  CfgExecute( HANDLE hCfg, uint fExecute );

//-----------------------------------------------------------------------
// CfgSetService()
//
// Sets the service function for a particular config TAG. Service
// functions default to NULL, and when so, no service is performed.
//
// When invoked, the service callback function is passed back information
// about the affected entry.
//
//   int CbSrv( HANDLE hCfg, uint Tag, uint Item, uint Op, HANDLE hCfgEntry )
//        hCfg      = HANDLE to Config
//        Tag       = Tag value of entry changed
//        Item      = Item value of entry changed
//        Op        = CFGCOP_ADD or CFGOP_REMOVE
//        hCfgEntry = Non-Ref'd HANDLE to entry added or removed
//
//    Returns 1 on success, 0 on "pass", and <0 on error.
//
// Note: The config entry handle passed to the callback is NOT Ref'd,
//       in that its scope expires when the callback function returns.
//
// Returns 0 on success, <0 on error.
//-----------------------------------------------------------------------
_extern int  CfgSetService( HANDLE hCfg, uint Tag,
                           int (*pCb) (HANDLE, uint, uint, uint, HANDLE) );
#define CFGOP_REMOVE    0
#define CFGOP_ADD       1

//-----------------------------------------------------------------------
// CfgAddEntry()
//
// Add a configuration entry to a configuration.
//
// When the pointer phCfgEntry is non-zero, this function write a
// referenced HANDLE to this location.
//
// When finished with a referenced entry HANDLE, an application must
// DeRef it by calling one of the following functions:
//   CfgEntryDeRef()          - Stop using the entry
//   CfgRemoveEntry()         - Stop using entry and remove it from cfg
//   CfgGetNextEntry()        - Stop using entry and get next entry
//
// Returns 1 on successful add and processing.
// Returns 0 on successful add with no processing.
// Returns <0 but > CFGERROR_SERVICE on configuration error
// Returns <= CFGERROR_SERVICE on successful add, but service error
//
//-----------------------------------------------------------------------
_extern int  CfgAddEntry( HANDLE hCfg, uint Tag, uint Item, uint Mode,
                         int Size, UINT8 *pData, HANDLE *phCfgEntry );

// Add Entry Flags
#define CFG_ADDMODE_UNIQUE      0x0001  // Replace all previous instances
#define CFG_ADDMODE_DUPLICATE   0x0002  // Allow duplicate data entry
#define CFG_ADDMODE_NOSAVE      0x0004  // Don't include this entry in CfgSave

//-----------------------------------------------------------------------
// CfgRemoveEntry()
//
// Performs a single DeRef on a configuration entry, and removes it from
// the configuration structure.
//
// Returns 0 on success, or <0 on error
//-----------------------------------------------------------------------
_extern int  CfgRemoveEntry( HANDLE hCfg, HANDLE hCfgEntry );

//-----------------------------------------------------------------------
// CfgGetEntryCnt()
//
// Returns the number of entries on a specific tag/item, or <0 on error
//-----------------------------------------------------------------------
_extern int  CfgGetEntryCnt( HANDLE hCfg, uint Tag, uint Item );

//-----------------------------------------------------------------------
// CfgGetEntry()
//
// Get a referenced HANDLE to a configuration entry
//
// Index is a relative value (the "n'th" 1-based entry in a list)
//
// DO NOT use the index value to enumerate entry entry in the list.
// The index is valid only at the time of the call as an item can
// move up and down in the list as config changes are made. To
// enumerate every entry for a Tag/Item pair, start with index 1 and
// then use GetNextEntry() to get additional entries.
//
// When finished with this entry, an application must deref it
// by calling one of the following functions:
//   CfgEntryDeRef()          - Stop using the entry
//   CfgRemoveEntry()         - Stop using entry and remove it from cfg
//   CfgGetNextEntry()        - Stop using entry and get next entry
//
// Function returns 1 on success, 0 on "not found", and <0 on error.
//-----------------------------------------------------------------------
_extern int  CfgGetEntry( HANDLE hCfg, uint Tag, uint Item,
                         uint Index, HANDLE *phCfgEntry );

//-----------------------------------------------------------------------
// CfgGetNextEntry()
//
// DeRef supplied entry HANDLE and get referenced HANDLE of
// next configuration entry in the enumerated list.
//
// When finished with this entry, an application must deref it
// by calling one of the following functions:
//   CfgEntryDeRef()          - Stop using the entry
//   CfgRemoveEntry()         - Stop using entry and remove it from cfg
//   CfgGetNextEntry()        - Stop using entry and get next entry
//
// Function returns 1 on success, 0 on "not found", and <0 on error.
//-----------------------------------------------------------------------
_extern int  CfgGetNextEntry( HANDLE hCfg, HANDLE hCfgEntry,
                             HANDLE *phCfgEntryNext );

//-----------------------------------------------------------------------
// CfgGetImmediate()
//
// This function is intened for when an entry is known to most likely
// exist and is of a fixed size. It looks-up the entry, copies the data,
// and de-refs the entry all in one call.
//
// Returns the number of bytes copied.
//-----------------------------------------------------------------------
_extern int CfgGetImmediate( HANDLE hCfg, uint Tag, uint Item, uint Instance,
                            int MaxSize, UINT8 *pData );

//-----------------------------------------------------------------------
// CfgEntryRef()
//
// Add a reference a configuration entry handle
//
// This function is called by an application when it intends to use an
// entry handle beyond the scope of the function which obtained it
// from the configuration.
//
// When finished with this entry, an application must deref it
// by calling one of the following functions:
//   CfgEntryDeRef()          - Stop using the entry
//   CfgRemoveEntry()         - Stop using entry and remove it from cfg
//   CfgGetNextEntry()        - Stop using entry and get next entry
//
// Returns 0 on success, <0 on error.
//-----------------------------------------------------------------------
_extern int  CfgEntryRef( HANDLE hCfgEntry );

//-----------------------------------------------------------------------
// CfgEntryDeRef();
//
// Dereference a configuration entry handle
//
// Returns 0 on success, <0 on error.
//-----------------------------------------------------------------------
_extern int  CfgEntryDeRef( HANDLE hCfgEntry );

//-----------------------------------------------------------------------
// CfgEntryGetData()
//
// Get configuration entry user data
//
// *pSize is set to the size of the supplied buffer, or zero to get
// required size (the pointer pSize must be valid, but the value at
// the pointer can be zero).
//
// Returns the number of bytes written. If the supplied size is ZERO or
// too small, the function returns 0 and *pSize is set to the number of
// bytes required. Returns <0 on non-size related error.
//-----------------------------------------------------------------------
_extern int  CfgEntryGetData( HANDLE hCfgEntry, int *pSize, UINT8 *pData );

//-----------------------------------------------------------------------
// CfgEntrySetData()
//
// Set configuration entry user data
//
// Size is set to the size of item to replace. It must be an exact
// match for the current entry size. Also, no processing is done on
// the altered data.
//
// * USE WITH CARE *
//
// Returns the number of bytes written. If the supplied size doesn't
// match the old size, function returns 0.
// Returns <0 on non-size related error.
//-----------------------------------------------------------------------
_extern int  CfgEntrySetData( HANDLE hCfgEntry, int Size, UINT8 *pData );

//-----------------------------------------------------------------------
// CfgEntryInfo()
//
// Get configuration entry user data info
//
// Returns configuration size and data pointer. When either size or
// data information is not required, the pointer arguments can be NULL.
//
// Returns ZERO on successm or <0 on error
//-----------------------------------------------------------------------
_extern int  CfgEntryInfo( HANDLE hCfgEntry, int *pSize, UINT8 **ppData );

//-----------------------------------------------------------------------
// Config API Error Codes
//-----------------------------------------------------------------------
#define CFGERROR_BADHANDLE      -1      // Invalid Cfg handle
#define CFGERROR_BADPARAM       -2      // Invalid function parameter
#define CFGERROR_RESOURCES      -3      // Memory allocation error
#define CFGERROR_REFERROR       -4      // Reference count mismatch
#define CFGERROR_ALREADY        -5      // Already in desired state
#define CFGERROR_SERVICE        -100    // First service error

#define CFG_MAKE_CFGERROR(x)     (x+CFGERROR_SERVICE)
#define CFG_GET_SERVICE_ERROR(x) (x-CFGERROR_SERVICE)
#define CFG_IS_SERVICE_ERROR(x)  (x<=CFGERROR_SERVICE)

#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩av电影免费观看高清完整版 | 欧美日韩精品系列| 日韩亚洲欧美一区| 一色桃子久久精品亚洲| 麻豆精品一区二区综合av| 99麻豆久久久国产精品免费优播| 欧美一区二区黄| 亚洲一区二区在线视频| 成人免费视频国产在线观看| 日韩一区二区在线观看视频 | 婷婷亚洲久悠悠色悠在线播放| 国产电影一区在线| 日韩一级免费观看| 天堂va蜜桃一区二区三区漫画版| 99久久精品费精品国产一区二区| 久久久久久麻豆| 毛片av一区二区| 欧美精品一二三| 亚洲一区二区黄色| 色综合久久久久久久| 亚洲同性同志一二三专区| 成人av一区二区三区| 国产日韩欧美高清在线| 国产一区二三区| 精品国产制服丝袜高跟| 麻豆久久久久久久| 亚洲精品在线观| 久久爱另类一区二区小说| 欧美一区二区三区小说| 奇米影视一区二区三区小说| 在线91免费看| 麻豆精品在线观看| 精品国产免费视频| 国产高清不卡一区| 国产精品你懂的| www.欧美日韩| 日韩伦理免费电影| 成人av网在线| 亚洲靠逼com| 欧美撒尿777hd撒尿| 青青草国产精品97视觉盛宴| 日韩欧美电影一区| 国产成人在线视频网址| 日韩美女啊v在线免费观看| 色婷婷精品大在线视频| 午夜激情久久久| 欧美大片国产精品| 99视频有精品| 性久久久久久久久| 精品国产免费人成电影在线观看四季| 国产一区二区导航在线播放| 国产精品的网站| 欧美日韩成人综合天天影院| 麻豆91在线播放| 国产精品免费视频一区| 欧洲激情一区二区| 精品亚洲porn| 中文字幕一区二区三区视频 | 一区二区三区不卡视频在线观看| 欧美日韩中文字幕一区| 美女视频一区在线观看| 国产欧美一区二区精品秋霞影院| 99免费精品在线观看| 日本vs亚洲vs韩国一区三区 | 国产偷国产偷亚洲高清人白洁| 99精品欧美一区| 日韩高清欧美激情| 国产精品国产自产拍高清av王其| 欧美日韩三级一区二区| 国产福利一区在线观看| 亚洲va天堂va国产va久| 国产精品网友自拍| 欧美一级免费观看| 99久久免费国产| 精品一区二区在线免费观看| 亚洲欧美一区二区久久| 日韩精品一区二区三区视频在线观看 | av网站一区二区三区| 日本不卡的三区四区五区| 亚洲欧美一区二区三区国产精品| 日韩写真欧美这视频| 日本福利一区二区| 成人精品电影在线观看| 麻豆精品视频在线观看| 亚洲国产成人av| 亚洲九九爱视频| 国产精品私房写真福利视频| 日韩欧美亚洲一区二区| 欧美日韩在线播放三区| 99热精品国产| 国产精品一二三区| 捆绑紧缚一区二区三区视频 | 三级精品在线观看| 亚洲三级视频在线观看| 国产三级一区二区| 日韩精品一区在线| 91麻豆精品国产91久久久资源速度| 91视频91自| 成人av在线一区二区三区| 国产一区二区三区| 免费看黄色91| 青青草精品视频| 免费在线观看成人| 日本人妖一区二区| 蜜桃传媒麻豆第一区在线观看| 亚洲国产乱码最新视频| 一区二区三区精品视频| 亚洲三级久久久| 亚洲欧美另类综合偷拍| 26uuu精品一区二区| 精品99999| 久久久综合精品| 久久久精品国产免大香伊| 久久中文娱乐网| 久久久美女毛片| 中文成人综合网| 亚洲天堂精品视频| 亚洲综合在线第一页| 亚洲国产综合91精品麻豆| 亚洲成人中文在线| 麻豆精品一区二区av白丝在线| 日韩av网站免费在线| 久久9热精品视频| 久久精品国产亚洲aⅴ| 国产麻豆9l精品三级站| 丁香网亚洲国际| 91小视频免费看| 欧美色图天堂网| 日韩一区二区影院| 精品国产电影一区二区| 国产精品欧美精品| 一区二区三区视频在线看| 亚洲妇熟xx妇色黄| 精品一区二区三区的国产在线播放 | 亚洲国产aⅴ成人精品无吗| 日韩影院免费视频| 国产精品一线二线三线| 99精品偷自拍| 制服丝袜av成人在线看| 久久麻豆一区二区| 亚洲精品高清在线| 久久国内精品视频| 一本到高清视频免费精品| 在线成人av网站| 国产精品天美传媒| 日韩福利电影在线| 国产suv精品一区二区883| 欧美影院午夜播放| 国产亚洲精品免费| 亚洲国产人成综合网站| 国产黄人亚洲片| 制服.丝袜.亚洲.另类.中文 | 精品福利一区二区三区免费视频| 中文av一区二区| 男人的天堂久久精品| 99久久久精品免费观看国产蜜| 欧美人狂配大交3d怪物一区 | 99精品视频在线观看| 91精品综合久久久久久| 中文字幕一区二区5566日韩| 日本亚洲视频在线| 91免费版pro下载短视频| 精品国产伦一区二区三区观看方式| 椎名由奈av一区二区三区| 极品美女销魂一区二区三区| 欧美视频三区在线播放| 久久精品这里都是精品| 午夜精品免费在线观看| 本田岬高潮一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 夜夜嗨av一区二区三区四季av| 国产精品自拍一区| 日韩女优av电影| 亚洲高清在线视频| 色婷婷av久久久久久久| 国产欧美一区二区精品婷婷 | 在线观看欧美精品| 欧美极品少妇xxxxⅹ高跟鞋| 蜜臀av性久久久久蜜臀av麻豆| 精品中文字幕一区二区小辣椒| 欧美性大战久久| 亚洲欧美综合另类在线卡通| 国产aⅴ综合色| 2021国产精品久久精品| 青青草97国产精品免费观看| 日本韩国欧美在线| 中文字幕亚洲欧美在线不卡| 懂色av一区二区夜夜嗨| 国产三级精品视频| 国产不卡视频在线播放| 久久综合九色综合97婷婷| 免费看精品久久片| 日韩欧美一区在线| 国产精品中文有码| 精品国产91久久久久久久妲己| 麻豆传媒一区二区三区| 亚洲精品一线二线三线| 激情都市一区二区| 国产亚洲欧美色| 成人a级免费电影|