Thanks JP. Functions you have provided are very useful.

-Abhishek

On Tue, 2007-06-26 at 12:30, Jayaprakasha Guddenahalli Naganna wrote:
> Treat BITS as just OCTET STRING.
> Example API's for processing bits from char* variable,
> Call this function by passing *val* from set_handler,
> /*
>  * bits       -- set val
>  * pos        -- which bit you want to read from set val
>  */
> int bit_get(const unsigned char *bits, int pos) {
>     unsigned int    mask;
>     int             i;
> 
>     mask = 0x80;ple API's for processing bits from char* variable,
>     for (i=0; i < (pos % 8); i++)
>         mask = mask >> 1;
> 
>     return (((mask & bits[(int)(pos / 8)]) == mask) ? 1 : 0);
> }
> 
> Call this function by passing *ret_val* from get_handler,
> /*
>  * bits       -- ret value from get_handler from function
>  * pos        -- which bit you want to set 
>  */ 
> void bit_set(unsigned char *bits, int pos) {
>     unsigned char      mask;
>     int                i;
> 
>     mask = 0x80;
>     for (i = 0; i < (pos % 8); i++)
>         mask = mask >> 1;
> 
>     bits[pos / 8] = bits[pos / 8] | mask;
>     return;
> } 
> Example snmpset command,
> Snmpset column.<index> x 28
> OR
> snmpset column.<index> b proxyServer,registrarServer
> 
> >> I suppose that numbering would be:
> >> 8 7 6 5 4 3 2 1
> >> - - X - X - - -
> >> If these bits would be set then index 0 of the octet string should be
> 
> >> equal to: 0x28.
> >> Is that correct?
> [JP] yes
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of
> Abhishek Mishra
> Sent: Tuesday, June 26, 2007 11:51 AM
> To: net-snmp-users@lists.sourceforge.net
> Cc: Abhishek Mishra
> Subject: How to convert BITS data into OCTET String
> 
> Hi,
> 
> We have a column in the table that have datatype of BITS. After
> compilation of the MIB file, it is converted into a character array. I
> found some information in the RFC# 3416/3417 regarding the conversion
> but could not understand well how to convert BITS field into the octet
> string. Following is the BITS field we are using:
> 
> SYNTAX      BITS {
>                   other(0),
>                   userAgent(1),
>                   proxyServer(2),
>                   redirectServer(3),
>                   registrarServer(4)
>                 }
> 
> Now, I have to set bit 2 (proxyServer) and 4 (registrarServer) into the
> octet string.
> Please guide me how the conversion would actually take place.
> 
> I suppose that numbering would be:
> 8 7 6 5 4 3 2 1
> - - X - X - - -
> 
> If these bits would be set then index 0 of the octet string should be
> equal to: 0x28.
> Is that correct?
> 
> Kind Regards,
> -Abhishek
> 
> ------------------------------------------------------------------------
> -
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Net-snmp-users mailing list
> Net-snmp-users@lists.sourceforge.net
> Please see the following page to unsubscribe or change other options:
> https://lists.sourceforge.net/lists/listinfo/net-snmp-users
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Net-snmp-users mailing list
Net-snmp-users@lists.sourceforge.net
Please see the following page to unsubscribe or change other options:
https://lists.sourceforge.net/lists/listinfo/net-snmp-users

Reply via email to