本文整理汇总了C++中LIST_NUM函数的典型用法代码示例。如果您正苦于以下问题:C++ LIST_NUM函数的具体用法?C++ LIST_NUM怎么用?C++ LIST_NUM使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LIST_NUM函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: FreeParamValueList
// Release of the parameter value list
void FreeParamValueList(LIST *o)
{
UINT i;
// Validate arguments
if (o == NULL)
{
return;
}
for (i = 0;i < LIST_NUM(o);i++)
{
PARAM_VALUE *v = LIST_DATA(o, i);
Free(v->StrValue);
Free(v->UniStrValue);
Free(v->Name);
Free(v);
}
ReleaseList(o);
}
开发者ID:m-a-n-a-v,项目名称:SoftEtherVPN_Stable,代码行数:22,代码来源:Console.c
示例2:
// Get the Attibute with the specified ID from SSTP packet
SSTP_ATTRIBUTE *SstpFindAttribute(SSTP_PACKET *p, UCHAR attribute_id)
{
UINT i;
// Validate arguments
if (p == NULL)
{
return NULL;
}
for (i = 0;i < LIST_NUM(p->AttibuteList);i++)
{
SSTP_ATTRIBUTE *a = LIST_DATA(p->AttibuteList, i);
if (a->AttributeId == attribute_id)
{
return a;
}
}
return NULL;
}
开发者ID:DreamLiMu,项目名称:SoftEtherVPN,代码行数:22,代码来源:Interop_SSTP.c
示例3: FreeLangList
// Release the language list
void FreeLangList(LIST *o)
{
UINT i;
// Validate arguments
if (o == NULL)
{
return;
}
for (i = 0;i < LIST_NUM(o);i++)
{
LANGLIST *e = LIST_DATA(o, i);
FreeStrList(e->LangList);
ReleaseIntList(e->LcidList);
Free(e);
}
ReleaseList(o);
}
开发者ID:alex-docker,项目名称:CE-dockerfiles,代码行数:22,代码来源:Table.c
示例4:
// Choose the language from the ID
LANGLIST *GetLangById(LIST *o, UINT id)
{
UINT i;
// Validate arguments
if (o == NULL)
{
return NULL;
}
for (i = 0;i < LIST_NUM(o);i++)
{
LANGLIST *e = LIST_DATA(o, i);
if (e->Id == id)
{
return e;
}
}
return NULL;
}
开发者ID:alex-docker,项目名称:CE-dockerfiles,代码行数:22,代码来源:Table.c
示例5:
// Get a secure device
SECURE_DEVICE *GetSecureDevice(UINT id)
{
UINT i;
if (id == 0)
{
return NULL;
}
for (i = 0;i < LIST_NUM(SecureDeviceList);i++)
{
SECURE_DEVICE *dev = LIST_DATA(SecureDeviceList, i);
if (dev->Id == id)
{
return dev;
}
}
return NULL;
}
开发者ID:13eatrice,项目名称:SoftEtherVPN,代码行数:22,代码来源:Secure.c
示例6: L3InitAllInterfaces
// Initialize all Layer-3 interfaces
void L3InitAllInterfaces(L3SW *s)
{
UINT i;
// Validate arguments
if (s == NULL)
{
return;
}
for (i = 0;i < LIST_NUM(s->IfList);i++)
{
L3IF *f = LIST_DATA(s->IfList, i);
THREAD *t;
L3InitInterface(f);
f->Hub = GetHub(s->Cedar, f->HubName);
t = NewThread(L3IfThread, f);
WaitThreadInit(t);
ReleaseThread(t);
}
}
开发者ID:BIGbozi,项目名称:SoftEtherVPN,代码行数:23,代码来源:Layer3.c
示例7: FreeIni
// Release the INI
void FreeIni(LIST *o)
{
UINT i;
// Validate arguments
if (o == NULL)
{
return;
}
for (i = 0;i < LIST_NUM(o);i++)
{
INI_ENTRY *e = LIST_DATA(o, i);
Free(e->Key);
Free(e->Value);
Free(e->UnicodeValue);
Free(e);
}
ReleaseList(o);
}
开发者ID:SoftEtherVPN,项目名称:SoftEtherVPN,代码行数:23,代码来源:Str.c
示例8: GetUnestablishedConnections
// Get the number of unestablished connections
UINT GetUnestablishedConnections(CEDAR *cedar)
{
UINT i, ret;
// Validate arguments
if (cedar == NULL)
{
return 0;
}
ret = 0;
LockList(cedar->ConnectionList);
{
for (i = 0;i < LIST_NUM(cedar->ConnectionList);i++)
{
CONNECTION *c = LIST_DATA(cedar->ConnectionList, i);
switch (c->Type)
{
case CONNECTION_TYPE_CLIENT:
case CONNECTION_TYPE_INIT:
case CONNECTION_TYPE_LOGIN:
case CONNECTION_TYPE_ADDITIONAL:
switch (c->Status)
{
case CONNECTION_STATUS_ACCEPTED:
case CONNECTION_STATUS_NEGOTIATION:
case CONNECTION_STATUS_USERAUTH:
ret++;
break;
}
break;
}
}
}
UnlockList(cedar->ConnectionList);
return ret + Count(cedar->AcceptingSockets);
}
开发者ID:benapetr,项目名称:SoftEtherVPN,代码行数:40,代码来源:Cedar.c
示例9: CleanupEtherIPServer
void CleanupEtherIPServer(ETHERIP_SERVER *s)
{
UINT i;
// Validate arguments
if (s == NULL)
{
return;
}
EtherIPLog(s, "LE_STOP");
if (s->IpcConnectThread != NULL)
{
ReleaseThread(s->IpcConnectThread);
}
if (s->Ipc != NULL)
{
FreeIPC(s->Ipc);
}
for (i = 0;i < LIST_NUM(s->SendPacketList);i++)
{
BLOCK *b = LIST_DATA(s->SendPacketList, i);
FreeBlock(b);
}
ReleaseList(s->SendPacketList);
ReleaseSockEvent(s->SockEvent);
ReleaseCedar(s->Cedar);
DeleteLock(s->Lock);
Free(s);
}
开发者ID:13eatrice,项目名称:SoftEtherVPN,代码行数:38,代码来源:IPsec_EtherIP.c
示例10: AcDeleteGroup
// Delete the group
bool AcDeleteGroup(HUB *h, char *name)
{
USERGROUP *g;
UINT i;
// Validate arguments
if (h == NULL || name == NULL)
{
return false;
}
g = AcGetGroup(h, name);
if (g == NULL)
{
return false;
}
if (Delete(h->HubDb->GroupList, g))
{
ReleaseGroup(g);
}
for (i = 0;i < LIST_NUM(h->HubDb->UserList);i++)
{
USER *u = LIST_DATA(h->HubDb->UserList, i);
Lock(u->lock);
{
if (u->Group == g)
{
JoinUserToGroup(u, NULL);
}
}
Unlock(u->lock);
}
ReleaseGroup(g);
return true;
}
开发者ID:AlexeyBychkov,项目名称:SoftEtherVPN,代码行数:39,代码来源:Account.c
示例11: AcAddUser
// Add new user in the hub
bool AcAddUser(HUB *h, USER *u)
{
// Validate arguments
if (h == NULL || u == NULL || NO_ACCOUNT_DB(h))
{
return false;
}
if (LIST_NUM(h->HubDb->UserList) >= MAX_USERS)
{
return false;
}
if (AcIsUser(h, u->Name) != false)
{
return false;
}
Insert(h->HubDb->UserList, u);
AddRef(u->ref);
return true;
}
开发者ID:AlexeyBychkov,项目名称:SoftEtherVPN,代码行数:24,代码来源:Account.c
示例12: AcAddGroup
// Add new group to the hub
bool AcAddGroup(HUB *h, USERGROUP *g)
{
// Validate arguments
if (h == NULL || g == NULL || NO_ACCOUNT_DB(h))
{
return false;
}
if (LIST_NUM(h->HubDb->GroupList) >= MAX_GROUPS)
{
return false;
}
if (AcIsGroup(h, g->Name) != false)
{
return false;
}
Insert(h->HubDb->GroupList, g);
AddRef(g->ref);
return true;
}
开发者ID:AlexeyBychkov,项目名称:SoftEtherVPN,代码行数:24,代码来源:Account.c
示例13: StartAllLink
// Start all links
void StartAllLink(HUB *h)
{
// Validate arguments
if (h == NULL)
{
return;
}
LockList(h->LinkList);
{
UINT i;
for (i = 0;i < LIST_NUM(h->LinkList);i++)
{
LINK *k = (LINK *)LIST_DATA(h->LinkList, i);
if (k->Offline == false)
{
StartLink(k);
}
}
}
UnlockList(h->LinkList);
}
开发者ID:alex-docker,项目名称:CE-dockerfiles,代码行数:24,代码来源:Link.c
示例14: CfgEnumFolder
// Folder enumeration
void CfgEnumFolder(FOLDER *f, ENUM_FOLDER proc, void *param)
{
UINT i;
// Validate arguments
if (f == NULL || proc == NULL)
{
return;
}
for (i = 0;i < LIST_NUM(f->Folders);i++)
{
FOLDER *ff = LIST_DATA(f->Folders, i);
if (proc(ff, param) == false)
{
break;
}
if ((i % 100) == 99)
{
YieldCpu();
}
}
}
开发者ID:BIGbozi,项目名称:SoftEtherVPN,代码行数:24,代码来源:Cfg.c
示例15: ElSaveConfigToFolder
// Write the configuration to the folder
void ElSaveConfigToFolder(EL *e, FOLDER *root)
{
UINT i;
FOLDER *devices;
// Validate arguments
if (e == NULL || root == NULL)
{
return;
}
CfgAddInt64(root, "AutoDeleteCheckDiskFreeSpaceMin", e->AutoDeleteCheckDiskFreeSpaceMin);
CfgAddInt(root, "AdminPort", e->Port);
CfgAddByte(root, "AdminPassword", e->HashedPassword, sizeof(e->HashedPassword));
if (ELOG_IS_BETA == false)
{
EiWriteLicenseManager(CfgCreateFolder(root, "LicenseManager"), e);
}
devices = CfgCreateFolder(root,"Devices");
LockList(e->DeviceList);
{
for (i = 0;i < LIST_NUM(e->DeviceList);i++)
{
FOLDER *f;
EL_DEVICE *d = LIST_DATA(e->DeviceList, i);
f = CfgCreateFolder(devices, d->DeviceName);
SiWriteHubLogCfgEx(f, &d->LogSetting, true);
CfgAddBool(f, "NoPromiscusMode", d->NoPromiscus);
}
}
UnlockList(e->DeviceList);
}
开发者ID:m-a-n-a-v,项目名称:SoftEtherVPN_Stable,代码行数:38,代码来源:EtherLog.c
示例16: WpcFillEntryName
// Search for the data entry
WPC_ENTRY *WpcFindDataEntry(LIST *o, char *name)
{
UINT i;
char name_str[WPC_DATA_ENTRY_SIZE];
// Validate arguments
if (o == NULL || name == NULL)
{
return NULL;
}
WpcFillEntryName(name_str, name);
for (i = 0;i < LIST_NUM(o);i++)
{
WPC_ENTRY *e = LIST_DATA(o, i);
if (Cmp(e->EntryName, name_str, WPC_DATA_ENTRY_SIZE) == 0)
{
return e;
}
}
return NULL;
}
开发者ID:BIGbozi,项目名称:SoftEtherVPN,代码行数:25,代码来源:Wpc.c
示例17: GetBestLangByName
// Search for the best language from LCID
LANGLIST *GetBestLangByLcid(LIST *o, UINT lcid)
{
LANGLIST *ret;
UINT i;
// Validate arguments
if (o == NULL)
{
return NULL;
}
for (i = 0;i < LIST_NUM(o);i++)
{
LANGLIST *e = LIST_DATA(o, i);
if (IsIntInList(e->LcidList, lcid))
{
return e;
}
}
ret = GetBestLangByName(o, "en");
return ret;
}
开发者ID:alex-docker,项目名称:CE-dockerfiles,代码行数:25,代码来源:Table.c
示例18: DeleteSecObjFromEnumCache
// Remove the object which have the specified name from the cache
void DeleteSecObjFromEnumCache(SECURE *sec, char *name, UINT type)
{
UINT i;
// Validate arguments
if (sec == NULL || name == NULL || sec->EnumCache == NULL)
{
return;
}
for (i = 0;i < LIST_NUM(sec->EnumCache);i++)
{
SEC_OBJ *obj = LIST_DATA(sec->EnumCache, i);
if (StrCmpi(obj->Name, name) == 0)
{
if (obj->Type == type)
{
Delete(sec->EnumCache, obj);
FreeSecObject(obj);
break;
}
}
}
}
开发者ID:13eatrice,项目名称:SoftEtherVPN,代码行数:25,代码来源:Secure.c
示例19: LockList
// Get in-process listener socket in Cedar
SOCK *GetInProcListeningSock(CEDAR *c)
{
SOCK *s = NULL;
// Validate arguments
if (c == NULL)
{
return NULL;
}
LockList(c->ListenerList);
{
UINT i;
for (i = 0;i < LIST_NUM(c->ListenerList);i++)
{
LISTENER *r = LIST_DATA(c->ListenerList, i);
if (r->Protocol == LISTENER_INPROC)
{
Lock(r->lock);
{
s = r->Sock;
if (s != NULL)
{
AddRef(s->ref);
}
}
Unlock(r->lock);
break;
}
}
}
UnlockList(c->ListenerList);
return s;
}
开发者ID:benapetr,项目名称:SoftEtherVPN,代码行数:37,代码来源:Cedar.c
示例20: NullToken
// Cut out the token from string (Ignore blanks between delimiters)
TOKEN_LIST *ParseTokenWithoutNullStr(char *str, char *split_chars)
{
LIST *o;
UINT i, len;
bool last_flag;
BUF *b;
char zero = 0;
TOKEN_LIST *t;
// Validate arguments
if (str == NULL)
{
return NullToken();
}
if (split_chars == NULL)
{
split_chars = DefaultTokenSplitChars();
}
b = NewBuf();
o = NewListFast(NULL);
len = StrLen(str);
last_flag = false;
for (i = 0;i < (len + 1);i++)
{
char c = str[i];
bool flag = IsCharInStr(split_chars, c);
if (c == '\0')
{
flag = true;
}
if (flag == false)
{
WriteBuf(b, &c, sizeof(char));
}
else
{
if (last_flag == false)
{
WriteBuf(b, &zero, sizeof(char));
if ((StrLen((char *)b->Buf)) != 0)
{
Insert(o, CopyStr((char *)b->Buf));
}
ClearBuf(b);
}
}
last_flag = flag;
}
t = ZeroMalloc(sizeof(TOKEN_LIST));
t->NumTokens = LIST_NUM(o);
t->Token = ZeroMalloc(sizeof(char *) * t->NumTokens);
for (i = 0;i < t->NumTokens;i++)
{
t->Token[i] = LIST_DATA(o, i);
}
ReleaseList(o);
FreeBuf(b);
return t;
}
开发者ID:SoftEtherVPN,项目名称:SoftEtherVPN,代码行数:70,代码来源:Str.c
注:本文中的LIST_NUM函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论