[SR-Users] About setflag()'s parameter

Daniel-Constantin Mierla miconda at gmail.com
Tue Jul 6 10:05:35 CEST 2010


Hello,

here is a wiki page with some flag bitmask vector examples that might help:
http://www.kamailio.org/dokuwiki/doku.php/tutorials:openser-flag-operations

The cfg file examples are for older kamailio versions.

Cheers,
Daniel


On 7/6/10 4:02 AM, Alex Balashov wrote:
> On 07/05/2010 09:59 PM, zhou tianjun wrote:
>
>> I'm in doubt of the means of setflag()'s parameter. I have looked for
>> it everywhere including internet and the ser source code, but no any
>> docs explained it in detail. can anybody tell me about it  ?
>
> It sets bits in a 32-bit integer (it may be 64-bit on 64-bit 
> platforms, of this I am not sure) that is bound to a transaction, so 
> those "flags" may be accessed in requests and replies associated with 
> a given transaction, or, further down in the execution flow of same 
> message handler.
>
> It is precisely equivalent to the way bit vectors are used in 
> general-purpose programming languages, e.g.
>
>     int flags = 0;
>
>     flags |= (1 << 4);  /* Set bit 4 */
>
>     if(flags & (1 << 4)) {
>        printf("Bit 4 is set!\n");
>     } else {
>        printf("Bit 4 is not set!\n");
>     }
>
>     /* If bit 4 is set, unset it */
>
>     if(flags & (1 << 4))
>        flags &= ~(1 << 4);
>
>

-- 
Daniel-Constantin Mierla
http://www.asipto.com/




More information about the sr-users mailing list