Back to index

openldap  2.4.31
Functions | Variables
protocol.c File Reference
#include "nssov.h"

Go to the source code of this file.

Functions

 NSSOV_CBPRIV (protocol, char buf[256];struct berval name;struct berval numb;)
static int write_protocol (nssov_protocol_cbp *cbp, Entry *entry)
 NSSOV_HANDLE (NSSOV_HANDLE(protocol, byname)
 READ_INT32 (fp, protocol)
 Debug (LDAP_DEBUG_TRACE,"nssov_protocol_bynumber(%s)\n", cbp.numb.bv_val, 0, 0)
 nssov_filter_byid (cbp.mi, 1,&cbp.numb,&filter)) NSSOV_HANDLE(protocol
 Debug (LDAP_DEBUG_TRACE,"nssov_protocol_all()\n", 0, 0, 0)

Variables

static struct berval = BER_BVC("(objectClass=ipProtocol)")
filter bv_val = fbuf
cbp numb bv_len = snprintf(cbp.buf,sizeof(cbp.buf),"%d",protocol)
BER_BVZEROcbp
 NSLCD_ACTION_PROTOCOL_BYNUMBER
 all
 NSLCD_ACTION_PROTOCOL_ALL
 filter = cbp.mi->mi_filter

Function Documentation

Debug ( LDAP_DEBUG_TRACE  ,
"nssov_protocol_bynumber(%s)\n ,
cbp.numb.  bv_val,
,
 
)
Debug ( LDAP_DEBUG_TRACE  ,
"nssov_protocol_all()\n ,
,
,
 
)
NSSOV_CBPRIV ( protocol  ,
char buf;struct berval name;struct berval numb;  [256] 
)
nssov_filter_byid ( cbp.  mi,
,
&cbp.  numb,
filter 
)
NSSOV_HANDLE ( NSSOV_HANDLE protocol,
byname   
)

Definition at line 120 of file protocol.c.

                              {sizeof(fbuf)};
       filter.bv_val = fbuf;
       BER_BVZERO(&cbp.numb);
       READ_STRING(fp,cbp.buf);
       cbp.name.bv_len = tmpint32;
       cbp.name.bv_val = cbp.buf;,
       Debug(LDAP_DEBUG_TRACE,"nssov_protocol_byname(%s)\n",cbp.name.bv_val,0,0);,
       NSLCD_ACTION_PROTOCOL_BYNAME,
       nssov_filter_byname(cbp.mi,0,&cbp.name,&filter)
)

NSSOV_HANDLE(
       protocol,bynumber,
       int protocol;
       char fbuf[1024];
       struct berval filter = {sizeof(fbuf)};

Here is the call graph for this function:

READ_INT32 ( fp  ,
protocol   
)
static int write_protocol ( nssov_protocol_cbp *  cbp,
Entry entry 
) [static]

Definition at line 51 of file protocol.c.

{
       int32_t tmpint32,tmp2int32,tmp3int32;
       int i,numname,dupname,proto;
       struct berval name,*names;
       Attribute *a;
       char *tmp;

       /* get the most canonical name */
       nssov_find_rdnval( &entry->e_nname, cbp->mi->mi_attrs[0].an_desc, &name );
       /* get the other names for the protocol */
       a = attr_find( entry->e_attrs, cbp->mi->mi_attrs[0].an_desc );
       if ( !a || !a->a_vals )
       {
              Debug(LDAP_DEBUG_ANY,"protocol entry %s does not contain %s value\n",
                     entry->e_name.bv_val, cbp->mi->mi_attrs[0].an_desc->ad_cname.bv_val, 0 );
              return 0;
       }
       names = a->a_vals;
       numname = a->a_numvals;
       /* if the name is not yet found, get the first entry from names */
       if (BER_BVISNULL(&name)) {
              name=names[0];
              dupname = 0;
       } else {
              dupname = -1;
              for (i=0; i<numname; i++) {
                     if ( bvmatch(&name, &a->a_nvals[i])) {
                            dupname = i;
                            break;
                     }
              }
       }
       /* get the protocol number */
       a = attr_find( entry->e_attrs, cbp->mi->mi_attrs[1].an_desc );
       if ( !a || !a->a_vals )
       {
              Debug(LDAP_DEBUG_ANY,"protocol entry %s does not contain %s value\n",
                     entry->e_name.bv_val, cbp->mi->mi_attrs[1].an_desc->ad_cname.bv_val, 0 );
              return 0;
       } else if ( a->a_numvals > 1 ) {
              Debug(LDAP_DEBUG_ANY,"protocol entry %s contains multiple %s values\n",
                     entry->e_name.bv_val, cbp->mi->mi_attrs[1].an_desc->ad_cname.bv_val, 0 );
       }
       proto=(int)strtol(a->a_vals[0].bv_val,&tmp,0);
       if (*tmp)
       {
              Debug(LDAP_DEBUG_ANY,"protocol entry %s contains non-numeric %s value\n",
                     entry->e_name.bv_val, cbp->mi->mi_attrs[1].an_desc->ad_cname.bv_val, 0 );
              return 0;
       }
       /* write the entry */
       WRITE_INT32(cbp->fp,NSLCD_RESULT_BEGIN);
       WRITE_BERVAL(cbp->fp,&name);
       if ( dupname >= 0 ) {
              WRITE_INT32(cbp->fp,numname-1);
       } else {
              WRITE_INT32(cbp->fp,numname);
       }
       for (i=0;i<numname;i++) {
              if (i == dupname) continue;
              WRITE_BERVAL(cbp->fp,&names[i]);
       }
       WRITE_INT32(cbp->fp,proto);
       return 0;
}

Here is the call graph for this function:


Variable Documentation

all

Definition at line 150 of file protocol.c.

static struct berval = BER_BVC("(objectClass=ipProtocol)") [static]

Definition at line 35 of file protocol.c.

cbp numb bv_len = snprintf(cbp.buf,sizeof(cbp.buf),"%d",protocol)

Definition at line 142 of file protocol.c.

cbp numb bv_val = fbuf

Definition at line 139 of file protocol.c.

Definition at line 143 of file protocol.c.

filter = cbp.mi->mi_filter

Definition at line 155 of file protocol.c.

Definition at line 153 of file protocol.c.

Definition at line 144 of file protocol.c.