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);


--
Alex Balashov - Principal
Evariste Systems LLC
1170 Peachtree Street
12th Floor, Suite 1200
Atlanta, GA 30309
Tel: +1-678-954-0670
Fax: +1-404-961-1892
Web: http://www.evaristesys.com/

_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to