typedef unsigned int uword;
#define readGSM_33(c1) { \
- gsm_byte *c = (c1); \
- LARc[0] = (*c++ & 0xF) << 2; /* 1 */ \
- LARc[0] |= (*c >> 6) & 0x3; \
- LARc[1] = *c++ & 0x3F; \
- LARc[2] = (*c >> 3) & 0x1F; \
- LARc[3] = (*c++ & 0x7) << 2; \
- LARc[3] |= (*c >> 6) & 0x3; \
- LARc[4] = (*c >> 2) & 0xF; \
- LARc[5] = (*c++ & 0x3) << 2; \
- LARc[5] |= (*c >> 6) & 0x3; \
- LARc[6] = (*c >> 3) & 0x7; \
- LARc[7] = *c++ & 0x7; \
- Nc[0] = (*c >> 1) & 0x7F; \
- bc[0] = (*c++ & 0x1) << 1; \
- bc[0] |= (*c >> 7) & 0x1; \
- Mc[0] = (*c >> 5) & 0x3; \
- xmaxc[0] = (*c++ & 0x1F) << 1; \
- xmaxc[0] |= (*c >> 7) & 0x1; \
- xmc[0] = (*c >> 4) & 0x7; \
- xmc[1] = (*c >> 1) & 0x7; \
- xmc[2] = (*c++ & 0x1) << 2; \
- xmc[2] |= (*c >> 6) & 0x3; \
- xmc[3] = (*c >> 3) & 0x7; \
- xmc[4] = *c++ & 0x7; \
- xmc[5] = (*c >> 5) & 0x7; \
- xmc[6] = (*c >> 2) & 0x7; \
- xmc[7] = (*c++ & 0x3) << 1; /* 10 */ \
- xmc[7] |= (*c >> 7) & 0x1; \
- xmc[8] = (*c >> 4) & 0x7; \
- xmc[9] = (*c >> 1) & 0x7; \
- xmc[10] = (*c++ & 0x1) << 2; \
- xmc[10] |= (*c >> 6) & 0x3; \
- xmc[11] = (*c >> 3) & 0x7; \
- xmc[12] = *c++ & 0x7; \
- Nc[1] = (*c >> 1) & 0x7F; \
- bc[1] = (*c++ & 0x1) << 1; \
- bc[1] |= (*c >> 7) & 0x1; \
- Mc[1] = (*c >> 5) & 0x3; \
- xmaxc[1] = (*c++ & 0x1F) << 1; \
- xmaxc[1] |= (*c >> 7) & 0x1; \
- xmc[13] = (*c >> 4) & 0x7; \
- xmc[14] = (*c >> 1) & 0x7; \
- xmc[15] = (*c++ & 0x1) << 2; \
- xmc[15] |= (*c >> 6) & 0x3; \
- xmc[16] = (*c >> 3) & 0x7; \
- xmc[17] = *c++ & 0x7; \
- xmc[18] = (*c >> 5) & 0x7; \
- xmc[19] = (*c >> 2) & 0x7; \
- xmc[20] = (*c++ & 0x3) << 1; \
- xmc[20] |= (*c >> 7) & 0x1; \
- xmc[21] = (*c >> 4) & 0x7; \
- xmc[22] = (*c >> 1) & 0x7; \
- xmc[23] = (*c++ & 0x1) << 2; \
- xmc[23] |= (*c >> 6) & 0x3; \
- xmc[24] = (*c >> 3) & 0x7; \
- xmc[25] = *c++ & 0x7; \
- Nc[2] = (*c >> 1) & 0x7F; \
- bc[2] = (*c++ & 0x1) << 1; /* 20 */ \
- bc[2] |= (*c >> 7) & 0x1; \
- Mc[2] = (*c >> 5) & 0x3; \
- xmaxc[2] = (*c++ & 0x1F) << 1; \
- xmaxc[2] |= (*c >> 7) & 0x1; \
- xmc[26] = (*c >> 4) & 0x7; \
- xmc[27] = (*c >> 1) & 0x7; \
- xmc[28] = (*c++ & 0x1) << 2; \
- xmc[28] |= (*c >> 6) & 0x3; \
- xmc[29] = (*c >> 3) & 0x7; \
- xmc[30] = *c++ & 0x7; \
- xmc[31] = (*c >> 5) & 0x7; \
- xmc[32] = (*c >> 2) & 0x7; \
- xmc[33] = (*c++ & 0x3) << 1; \
- xmc[33] |= (*c >> 7) & 0x1; \
- xmc[34] = (*c >> 4) & 0x7; \
- xmc[35] = (*c >> 1) & 0x7; \
- xmc[36] = (*c++ & 0x1) << 2; \
- xmc[36] |= (*c >> 6) & 0x3; \
- xmc[37] = (*c >> 3) & 0x7; \
- xmc[38] = *c++ & 0x7; \
- Nc[3] = (*c >> 1) & 0x7F; \
- bc[3] = (*c++ & 0x1) << 1; \
- bc[3] |= (*c >> 7) & 0x1; \
- Mc[3] = (*c >> 5) & 0x3; \
- xmaxc[3] = (*c++ & 0x1F) << 1; \
- xmaxc[3] |= (*c >> 7) & 0x1; \
- xmc[39] = (*c >> 4) & 0x7; \
- xmc[40] = (*c >> 1) & 0x7; \
- xmc[41] = (*c++ & 0x1) << 2; \
- xmc[41] |= (*c >> 6) & 0x3; \
- xmc[42] = (*c >> 3) & 0x7; \
- xmc[43] = *c++ & 0x7; /* 30 */ \
- xmc[44] = (*c >> 5) & 0x7; \
- xmc[45] = (*c >> 2) & 0x7; \
- xmc[46] = (*c++ & 0x3) << 1; \
- xmc[46] |= (*c >> 7) & 0x1; \
- xmc[47] = (*c >> 4) & 0x7; \
- xmc[48] = (*c >> 1) & 0x7; \
- xmc[49] = (*c++ & 0x1) << 2; \
- xmc[49] |= (*c >> 6) & 0x3; \
- xmc[50] = (*c >> 3) & 0x7; \
- xmc[51] = *c & 0x7; /* 33 */ \
+ gsm_byte *__c = (c1); \
+ LARc[0] = (*__c++ & 0xF) << 2; /* 1 */ \
+ LARc[0] |= (*__c >> 6) & 0x3; \
+ LARc[1] = *__c++ & 0x3F; \
+ LARc[2] = (*__c >> 3) & 0x1F; \
+ LARc[3] = (*__c++ & 0x7) << 2; \
+ LARc[3] |= (*__c >> 6) & 0x3; \
+ LARc[4] = (*__c >> 2) & 0xF; \
+ LARc[5] = (*__c++ & 0x3) << 2; \
+ LARc[5] |= (*__c >> 6) & 0x3; \
+ LARc[6] = (*__c >> 3) & 0x7; \
+ LARc[7] = *__c++ & 0x7; \
+ Nc[0] = (*__c >> 1) & 0x7F; \
+ bc[0] = (*__c++ & 0x1) << 1; \
+ bc[0] |= (*__c >> 7) & 0x1; \
+ Mc[0] = (*__c >> 5) & 0x3; \
+ xmaxc[0] = (*__c++ & 0x1F) << 1; \
+ xmaxc[0] |= (*__c >> 7) & 0x1; \
+ xmc[0] = (*__c >> 4) & 0x7; \
+ xmc[1] = (*__c >> 1) & 0x7; \
+ xmc[2] = (*__c++ & 0x1) << 2; \
+ xmc[2] |= (*__c >> 6) & 0x3; \
+ xmc[3] = (*__c >> 3) & 0x7; \
+ xmc[4] = *__c++ & 0x7; \
+ xmc[5] = (*__c >> 5) & 0x7; \
+ xmc[6] = (*__c >> 2) & 0x7; \
+ xmc[7] = (*__c++ & 0x3) << 1; /* 10 */ \
+ xmc[7] |= (*__c >> 7) & 0x1; \
+ xmc[8] = (*__c >> 4) & 0x7; \
+ xmc[9] = (*__c >> 1) & 0x7; \
+ xmc[10] = (*__c++ & 0x1) << 2; \
+ xmc[10] |= (*__c >> 6) & 0x3; \
+ xmc[11] = (*__c >> 3) & 0x7; \
+ xmc[12] = *__c++ & 0x7; \
+ Nc[1] = (*__c >> 1) & 0x7F; \
+ bc[1] = (*__c++ & 0x1) << 1; \
+ bc[1] |= (*__c >> 7) & 0x1; \
+ Mc[1] = (*__c >> 5) & 0x3; \
+ xmaxc[1] = (*__c++ & 0x1F) << 1; \
+ xmaxc[1] |= (*__c >> 7) & 0x1; \
+ xmc[13] = (*__c >> 4) & 0x7; \
+ xmc[14] = (*__c >> 1) & 0x7; \
+ xmc[15] = (*__c++ & 0x1) << 2; \
+ xmc[15] |= (*__c >> 6) & 0x3; \
+ xmc[16] = (*__c >> 3) & 0x7; \
+ xmc[17] = *__c++ & 0x7; \
+ xmc[18] = (*__c >> 5) & 0x7; \
+ xmc[19] = (*__c >> 2) & 0x7; \
+ xmc[20] = (*__c++ & 0x3) << 1; \
+ xmc[20] |= (*__c >> 7) & 0x1; \
+ xmc[21] = (*__c >> 4) & 0x7; \
+ xmc[22] = (*__c >> 1) & 0x7; \
+ xmc[23] = (*__c++ & 0x1) << 2; \
+ xmc[23] |= (*__c >> 6) & 0x3; \
+ xmc[24] = (*__c >> 3) & 0x7; \
+ xmc[25] = *__c++ & 0x7; \
+ Nc[2] = (*__c >> 1) & 0x7F; \
+ bc[2] = (*__c++ & 0x1) << 1; /* 20 */ \
+ bc[2] |= (*__c >> 7) & 0x1; \
+ Mc[2] = (*__c >> 5) & 0x3; \
+ xmaxc[2] = (*__c++ & 0x1F) << 1; \
+ xmaxc[2] |= (*__c >> 7) & 0x1; \
+ xmc[26] = (*__c >> 4) & 0x7; \
+ xmc[27] = (*__c >> 1) & 0x7; \
+ xmc[28] = (*__c++ & 0x1) << 2; \
+ xmc[28] |= (*__c >> 6) & 0x3; \
+ xmc[29] = (*__c >> 3) & 0x7; \
+ xmc[30] = *__c++ & 0x7; \
+ xmc[31] = (*__c >> 5) & 0x7; \
+ xmc[32] = (*__c >> 2) & 0x7; \
+ xmc[33] = (*__c++ & 0x3) << 1; \
+ xmc[33] |= (*__c >> 7) & 0x1; \
+ xmc[34] = (*__c >> 4) & 0x7; \
+ xmc[35] = (*__c >> 1) & 0x7; \
+ xmc[36] = (*__c++ & 0x1) << 2; \
+ xmc[36] |= (*__c >> 6) & 0x3; \
+ xmc[37] = (*__c >> 3) & 0x7; \
+ xmc[38] = *__c++ & 0x7; \
+ Nc[3] = (*__c >> 1) & 0x7F; \
+ bc[3] = (*__c++ & 0x1) << 1; \
+ bc[3] |= (*__c >> 7) & 0x1; \
+ Mc[3] = (*__c >> 5) & 0x3; \
+ xmaxc[3] = (*__c++ & 0x1F) << 1; \
+ xmaxc[3] |= (*__c >> 7) & 0x1; \
+ xmc[39] = (*__c >> 4) & 0x7; \
+ xmc[40] = (*__c >> 1) & 0x7; \
+ xmc[41] = (*__c++ & 0x1) << 2; \
+ xmc[41] |= (*__c >> 6) & 0x3; \
+ xmc[42] = (*__c >> 3) & 0x7; \
+ xmc[43] = *__c++ & 0x7; /* 30 */ \
+ xmc[44] = (*__c >> 5) & 0x7; \
+ xmc[45] = (*__c >> 2) & 0x7; \
+ xmc[46] = (*__c++ & 0x3) << 1; \
+ xmc[46] |= (*__c >> 7) & 0x1; \
+ xmc[47] = (*__c >> 4) & 0x7; \
+ xmc[48] = (*__c >> 1) & 0x7; \
+ xmc[49] = (*__c++ & 0x1) << 2; \
+ xmc[49] |= (*__c >> 6) & 0x3; \
+ xmc[50] = (*__c >> 3) & 0x7; \
+ xmc[51] = *__c & 0x7; /* 33 */ \
}
static inline void conv66(gsm_byte * d, wav_byte * c) {
int ie;
char *name;
void (*dump)(char *output, int maxlen, void *value, int len);
-} ies[] = {
+} infoelts[] = {
{ DUNDI_IE_EID, "ENTITY IDENT", dump_eid },
{ DUNDI_IE_CALLED_CONTEXT, "CALLED CONTEXT", dump_string },
{ DUNDI_IE_CALLED_NUMBER, "CALLED NUMBER", dump_string },
const char *dundi_ie2str(int ie)
{
int x;
- for (x=0;x<(int)sizeof(ies) / (int)sizeof(ies[0]); x++) {
- if (ies[x].ie == ie)
- return ies[x].name;
+ for (x = 0; x < ARRAY_LEN(infoelts); x++) {
+ if (infoelts[x].ie == ie)
+ return infoelts[x].name;
}
return "Unknown IE";
}
return;
}
found = 0;
- for (x=0;x<(int)sizeof(ies) / (int)sizeof(ies[0]); x++) {
- if (ies[x].ie == ie) {
- if (ies[x].dump) {
- ies[x].dump(interp, (int)sizeof(interp), iedata + 2, ielen);
- snprintf(tmp, (int)sizeof(tmp), " %s%-15.15s : %s\n", (spaces ? " " : "" ), ies[x].name, interp);
+ for (x = 0; x < ARRAY_LEN(infoelts); x++) {
+ if (infoelts[x].ie == ie) {
+ if (infoelts[x].dump) {
+ infoelts[x].dump(interp, (int)sizeof(interp), iedata + 2, ielen);
+ snprintf(tmp, (int)sizeof(tmp), " %s%-15.15s : %s\n", (spaces ? " " : "" ), infoelts[x].name, interp);
outputf(tmp);
} else {
if (ielen)
snprintf(interp, (int)sizeof(interp), "%d bytes", ielen);
else
strcpy(interp, "Present");
- snprintf(tmp, (int)sizeof(tmp), " %s%-15.15s : %s\n", (spaces ? " " : "" ), ies[x].name, interp);
+ snprintf(tmp, (int)sizeof(tmp), " %s%-15.15s : %s\n", (spaces ? " " : "" ), infoelts[x].name, interp);
outputf(tmp);
}
found++;
return 0;
}
-static int cache_lookup(struct dundi_request *req, dundi_eid *peer_eid, unsigned long crc32, int *lowexpiration)
+static int cache_lookup(struct dundi_request *req, dundi_eid *peer_eid, unsigned long checksum, int *lowexpiration)
{
char key[256];
char eid_str[20];
dundi_eid_to_str_short(eid_str, sizeof(eid_str), peer_eid);
dundi_eid_to_str_short(eidroot_str, sizeof(eidroot_str), &req->root_eid);
ast_eid_to_str(eid_str_full, sizeof(eid_str_full), peer_eid);
- snprintf(key, sizeof(key), "%s/%s/%s/e%08lx", eid_str, req->number, req->dcontext, crc32);
+ snprintf(key, sizeof(key), "%s/%s/%s/e%08lx", eid_str, req->number, req->dcontext, checksum);
res |= cache_lookup_internal(now, req, key, eid_str_full, lowexpiration);
snprintf(key, sizeof(key), "%s/%s/%s/e%08lx", eid_str, req->number, req->dcontext, 0L);
res |= cache_lookup_internal(now, req, key, eid_str_full, lowexpiration);
break;
x++;
/* Check for hints */
- snprintf(key, sizeof(key), "hint/%s/%s/%s/e%08lx", eid_str, tmp, req->dcontext, crc32);
+ snprintf(key, sizeof(key), "hint/%s/%s/%s/e%08lx", eid_str, tmp, req->dcontext, checksum);
res2 |= cache_lookup_internal(now, req, key, eid_str_full, lowexpiration);
snprintf(key, sizeof(key), "hint/%s/%s/%s/e%08lx", eid_str, tmp, req->dcontext, 0L);
res2 |= cache_lookup_internal(now, req, key, eid_str_full, lowexpiration);
} else if(sin->sin_port != last_port)
ast_log(LOG_WARNING, "change to port ignored until next asterisk re-start\n");
} else if (!strcasecmp(v->name, "bindaddr")) {
- struct hostent *hp;
- struct ast_hostent he;
- hp = ast_gethostbyname(v->value, &he);
- if (hp) {
- memcpy(&sin->sin_addr, hp->h_addr, sizeof(sin->sin_addr));
+ struct hostent *hep;
+ struct ast_hostent hent;
+ hep = ast_gethostbyname(v->value, &hent);
+ if (hep) {
+ memcpy(&sin->sin_addr, hep->h_addr, sizeof(sin->sin_addr));
} else
ast_log(LOG_WARNING, "Invalid host/IP '%s'\n", v->value);
} else if (!strcasecmp(v->name, "authdebug")) {