本文整理汇总了C++中prbits函数的典型用法代码示例。如果您正苦于以下问题:C++ prbits函数的具体用法?C++ prbits怎么用?C++ prbits使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了prbits函数的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: prcause_1tr6
static int
prcause_1tr6(char *dest, u_char * p)
{
char *dp = dest;
int i, cause;
p++;
if (0 == *p) {
dp += sprintf(dp, " OK (cause length=0)\n");
return (dp - dest);
} else if (*p > 1) {
dp += sprintf(dp, " coding ");
dp += prbits(dp, p[2], 7, 2);
dp += sprintf(dp, " location ");
dp += prbits(dp, p[2], 4, 4);
*dp++ = '\n';
}
p++;
cause = 0x7f & *p;
/* locate cause value */
for (i = 0; i < cause_1tr6_len; i++)
if (cause_1tr6[i].nr == cause)
break;
/* display cause value if it exists */
if (i == cause_1tr6_len)
dp += sprintf(dp, "Unknown cause type %x!\n", cause);
else
dp += sprintf(dp, " cause value %x : %s \n", cause, cause_1tr6[i].descr);
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:34,代码来源:q931.c
示例2: prfacility
int
prfacility(char *dest, u_char * p)
{
char *dp = dest;
int l, l2;
p++;
l = *p++;
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p++, 8, 8);
dp += sprintf(dp, "\n");
l -= 1;
while (l > 0) {
dp += sprintf(dp, " octet 4 ");
dp += prbits(dp, *p++, 8, 8);
dp += sprintf(dp, "\n");
dp += sprintf(dp, " octet 5 %d\n", l2 = *p++ & 0x7f);
l -= 2;
dp += sprintf(dp, " contents ");
while (l2--) {
dp += sprintf(dp, "%2x ", *p++);
l--;
}
dp += sprintf(dp, "\n");
}
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:29,代码来源:q931.c
示例3: prcalling
static int
prcalling(char *dest, u_char * p)
{
int l;
char *dp = dest;
p++;
l = *p++ - 1;
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p, 8, 8);
*dp++ = '\n';
if (!(*p & 0x80)) {
dp += sprintf(dp, " octet 3a ");
dp += prbits(dp, *++p, 8, 8);
*dp++ = '\n';
l--;
};
p++;
dp += sprintf(dp, " number digits ");
while (l--)
*dp++ = *p++;
*dp++ = '\n';
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:25,代码来源:q931.c
示例4: prfeatureind
static int
prfeatureind(char *dest, u_char * p)
{
char *dp = dest;
p += 2; /* skip id, len */
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p, 8, 8);
*dp++ = '\n';
if (!(*p++ & 80)) {
dp += sprintf(dp, " octet 4 ");
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
}
dp += sprintf(dp, " Status: ");
switch (*p) {
case 0:
dp += sprintf(dp, "Idle");
break;
case 1:
dp += sprintf(dp, "Active");
break;
case 2:
dp += sprintf(dp, "Prompt");
break;
case 3:
dp += sprintf(dp, "Pending");
break;
default:
dp += sprintf(dp, "(Reserved)");
break;
}
*dp++ = '\n';
return (dp - dest);
}
开发者ID:emuikernel,项目名称:WNR2000v4,代码行数:35,代码来源:q931.c
示例5: prbearer_ni1
static
int
prbearer_ni1(char *dest, u_char * p)
{
char *dp = dest;
u_char len;
p++;
len = *p++;
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p, 8, 8);
switch (*p++) {
case 0x80:
dp += sprintf(dp, " Speech");
break;
case 0x88:
dp += sprintf(dp, " Unrestricted digital information");
break;
case 0x90:
dp += sprintf(dp, " 3.1 kHz audio");
break;
default:
dp += sprintf(dp, " Unknown information-transfer capability");
}
*dp++ = '\n';
dp += sprintf(dp, " octet 4 ");
dp += prbits(dp, *p, 8, 8);
switch (*p++) {
case 0x90:
dp += sprintf(dp, " 64 kbps, circuit mode");
break;
case 0xc0:
dp += sprintf(dp, " Packet mode");
break;
default:
dp += sprintf(dp, " Unknown transfer mode");
}
*dp++ = '\n';
if (len > 2) {
dp += sprintf(dp, " octet 5 ");
dp += prbits(dp, *p, 8, 8);
switch (*p++) {
case 0x21:
dp += sprintf(dp, " Rate adaption\n");
dp += sprintf(dp, " octet 5a ");
dp += prbits(dp, *p, 8, 8);
break;
case 0xa2:
dp += sprintf(dp, " u-law");
break;
default:
dp += sprintf(dp, " Unknown UI layer 1 protocol");
}
*dp++ = '\n';
}
return (dp - dest);
}
开发者ID:emuikernel,项目名称:WNR2000v4,代码行数:57,代码来源:q931.c
示例6: general
static int
general(char *dest, u_char * p)
{
char *dp = dest;
char ch = ' ';
int l, octet = 3;
p++;
l = *p++;
/* Iterate over all octets in the information element */
while (l--) {
dp += sprintf(dp, " octet %d%c ", octet, ch);
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
/* last octet in group? */
if (*p & 0x80) {
octet++;
ch = ' ';
} else if (ch == ' ')
ch = 'a';
else
ch++;
}
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:26,代码来源:q931.c
示例7: prcause
static
int
prcause(char *dest, u_char * p)
{
u_char *end;
char *dp = dest;
int i, cause;
end = p + p[1] + 1;
p += 2;
dp += sprintf(dp, " coding ");
dp += prbits(dp, *p, 7, 2);
dp += sprintf(dp, " location ");
dp += prbits(dp, *p, 4, 4);
*dp++ = '\n';
p = skipext(p);
cause = 0x7f & *p++;
/* locate cause value */
for (i = 0; i < CVSIZE; i++)
if (cvlist[i].nr == cause)
break;
/* display cause value if it exists */
if (i == CVSIZE)
dp += sprintf(dp, "Unknown cause type %x!\n", cause);
else
dp += sprintf(dp, " cause value %x : %s \n", cause, cvlist[i].edescr);
while (!0) {
if (p > end)
break;
dp += sprintf(dp, " diag attribute %d ", *p++ & 0x7f);
dp += sprintf(dp, " rej %d ", *p & 0x7f);
if (*p & 0x80) {
*dp++ = '\n';
break;
} else
dp += sprintf(dp, " av %d\n", (*++p) & 0x7f);
}
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:44,代码来源:q931.c
示例8: prchident
static int
prchident(char *dest, u_char * p)
{
char *dp = dest;
p += 2;
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p, 8, 8);
*dp++ = '\n';
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:11,代码来源:q931.c
示例9: prcharge
static int
prcharge(char *dest, u_char * p)
{
char *dp = dest;
int l;
p++;
l = *p++ - 1;
dp += sprintf(dp, " GEA ");
dp += prbits(dp, *p++, 8, 8);
dp += sprintf(dp, " Anzahl: ");
/* Iterate over all octets in the * information element */
while (l--)
*dp++ = *p++;
*dp++ = '\n';
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:17,代码来源:q931.c
示例10: prcalled
static int
prcalled(char *dest, u_char * p)
{
int l;
char *dp = dest;
p++;
l = *p++ - 1;
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
dp += sprintf(dp, " number digits ");
while (l--)
*dp++ = *p++;
*dp++ = '\n';
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:17,代码来源:q931.c
示例11: prbearer
static
int
prbearer(char *dest, u_char * p)
{
char *dp = dest, ch;
p += 2;
dp += sprintf(dp, " octet 3 ");
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
dp += sprintf(dp, " octet 4 ");
dp += prbits(dp, *p, 8, 8);
*dp++ = '\n';
if ((*p++ & 0x1f) == 0x18) {
dp += sprintf(dp, " octet 4.1 ");
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
}
/* check for user information layer 1 */
if ((*p & 0x60) == 0x20) {
ch = ' ';
do {
dp += sprintf(dp, " octet 5%c ", ch);
dp += prbits(dp, *p, 8, 8);
*dp++ = '\n';
if (ch == ' ')
ch = 'a';
else
ch++;
}
while (!(*p++ & 0x80));
}
/* check for user information layer 2 */
if ((*p & 0x60) == 0x40) {
dp += sprintf(dp, " octet 6 ");
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
}
/* check for user information layer 3 */
if ((*p & 0x60) == 0x60) {
dp += sprintf(dp, " octet 7 ");
dp += prbits(dp, *p++, 8, 8);
*dp++ = '\n';
}
return (dp - dest);
}
开发者ID:chinnyannieb,项目名称:empeg-hijack,代码行数:46,代码来源:q931.c
注:本文中的prbits函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论