亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? operation.c

?? OpenLdap是LDAP的開源項目
?? C
字號:
/* operation.c - deal with operation subsystem *//* $OpenLDAP: pkg/ldap/servers/slapd/back-monitor/operation.c,v 1.36.2.6 2007/01/02 21:44:05 kurt Exp $ *//* This work is part of OpenLDAP Software <http://www.openldap.org/>. * * Copyright 2001-2007 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted only as authorized by the OpenLDAP * Public License. * * A copy of this license is available in file LICENSE in the * top-level directory of the distribution or, alternatively, at * <http://www.OpenLDAP.org/license.html>. *//* ACKNOWLEDGEMENTS: * This work was initially developed by Pierangelo Masarati for inclusion * in OpenLDAP Software. */#include "portable.h"#include <stdio.h>#include <ac/string.h>#include "slap.h"#include "back-monitor.h"#include "lber_pvt.h"struct monitor_ops_t {	struct berval	rdn;	struct berval	nrdn;} monitor_op[] = {	{ BER_BVC( "cn=Bind" ),		BER_BVNULL },	{ BER_BVC( "cn=Unbind" ),	BER_BVNULL },	{ BER_BVC( "cn=Add" ),		BER_BVNULL },	{ BER_BVC( "cn=Delete" ),	BER_BVNULL },	{ BER_BVC( "cn=Modrdn" ),	BER_BVNULL },	{ BER_BVC( "cn=Modify" ),	BER_BVNULL },	{ BER_BVC( "cn=Compare" ),	BER_BVNULL },	{ BER_BVC( "cn=Search" ),	BER_BVNULL },	{ BER_BVC( "cn=Abandon" ),	BER_BVNULL },	{ BER_BVC( "cn=Extended" ),	BER_BVNULL },	{ BER_BVNULL,			BER_BVNULL }};static intmonitor_subsys_ops_destroy(	BackendDB		*be,	monitor_subsys_t	*ms );static intmonitor_subsys_ops_update(	Operation		*op,	SlapReply		*rs,	Entry                   *e );intmonitor_subsys_ops_init(	BackendDB		*be,	monitor_subsys_t	*ms ){	monitor_info_t	*mi;		Entry		*e_op, **ep;	monitor_entry_t	*mp;	char		buf[ BACKMONITOR_BUFSIZE ];	int 		i;	struct berval	bv_zero = BER_BVC( "0" );	assert( be != NULL );	ms->mss_destroy = monitor_subsys_ops_destroy;	ms->mss_update = monitor_subsys_ops_update;	mi = ( monitor_info_t * )be->be_private;	if ( monitor_cache_get( mi,			&ms->mss_ndn, &e_op ) )	{		Debug( LDAP_DEBUG_ANY,			"monitor_subsys_ops_init: "			"unable to get entry \"%s\"\n",			ms->mss_ndn.bv_val, 			0, 0 );		return( -1 );	}	attr_merge_one( e_op, mi->mi_ad_monitorOpInitiated, &bv_zero, &bv_zero );	attr_merge_one( e_op, mi->mi_ad_monitorOpCompleted, &bv_zero, &bv_zero );	mp = ( monitor_entry_t * )e_op->e_private;	mp->mp_children = NULL;	ep = &mp->mp_children;	for ( i = 0; i < SLAP_OP_LAST; i++ ) {		struct berval	rdn;		Entry		*e;		/*		 * Initiated ops		 */		snprintf( buf, sizeof( buf ),				"dn: %s,%s\n"				"objectClass: %s\n"				"structuralObjectClass: %s\n"				"cn: %s\n"				"%s: 0\n"				"%s: 0\n"				"creatorsName: %s\n"				"modifiersName: %s\n"				"createTimestamp: %s\n"				"modifyTimestamp: %s\n",				monitor_op[ i ].rdn.bv_val,				ms->mss_dn.bv_val,				mi->mi_oc_monitorOperation->soc_cname.bv_val,				mi->mi_oc_monitorOperation->soc_cname.bv_val,				&monitor_op[ i ].rdn.bv_val[ STRLENOF( "cn=" ) ],				mi->mi_ad_monitorOpInitiated->ad_cname.bv_val,				mi->mi_ad_monitorOpCompleted->ad_cname.bv_val,				mi->mi_creatorsName.bv_val,				mi->mi_creatorsName.bv_val,				mi->mi_startTime.bv_val,				mi->mi_startTime.bv_val );		e = str2entry( buf );		if ( e == NULL ) {			Debug( LDAP_DEBUG_ANY,				"monitor_subsys_ops_init: "				"unable to create entry \"%s,%s\"\n",				monitor_op[ i ].rdn.bv_val,				ms->mss_ndn.bv_val, 0 );			return( -1 );		}			/* steal normalized RDN */		dnRdn( &e->e_nname, &rdn );		ber_dupbv( &monitor_op[ i ].nrdn, &rdn );			mp = monitor_entrypriv_create();		if ( mp == NULL ) {			return -1;		}		e->e_private = ( void * )mp;		mp->mp_info = ms;		mp->mp_flags = ms->mss_flags \			| MONITOR_F_SUB | MONITOR_F_PERSISTENT;		if ( monitor_cache_add( mi, e ) ) {			Debug( LDAP_DEBUG_ANY,				"monitor_subsys_ops_init: "				"unable to add entry \"%s,%s\"\n",				monitor_op[ i ].rdn.bv_val,				ms->mss_ndn.bv_val, 0 );			return( -1 );		}		*ep = e;		ep = &mp->mp_next;	}	monitor_cache_release( mi, e_op );	return( 0 );}static intmonitor_subsys_ops_destroy(	BackendDB		*be,	monitor_subsys_t	*ms ){	int		i;	for ( i = 0; i < SLAP_OP_LAST; i++ ) {		if ( !BER_BVISNULL( &monitor_op[ i ].nrdn ) ) {			ch_free( monitor_op[ i ].nrdn.bv_val );		}	}	return 0;}static intmonitor_subsys_ops_update(	Operation		*op,	SlapReply		*rs,	Entry                   *e ){	monitor_info_t		*mi = ( monitor_info_t * )op->o_bd->be_private;	ldap_pvt_mp_t		nInitiated = LDAP_PVT_MP_INIT,				nCompleted = LDAP_PVT_MP_INIT;	struct berval		rdn;	int 			i;	Attribute		*a;	static struct berval	bv_ops = BER_BVC( "cn=operations" );	assert( mi != NULL );	assert( e != NULL );	dnRdn( &e->e_nname, &rdn );	if ( dn_match( &rdn, &bv_ops ) ) {		ldap_pvt_mp_init( nInitiated );		ldap_pvt_mp_init( nCompleted );		ldap_pvt_thread_mutex_lock( &slap_counters.sc_ops_mutex );		for ( i = 0; i < SLAP_OP_LAST; i++ ) {			ldap_pvt_mp_add( nInitiated, slap_counters.sc_ops_initiated_[ i ] );			ldap_pvt_mp_add( nCompleted, slap_counters.sc_ops_completed_[ i ] );		}		ldap_pvt_thread_mutex_unlock( &slap_counters.sc_ops_mutex );			} else {		for ( i = 0; i < SLAP_OP_LAST; i++ ) {			if ( dn_match( &rdn, &monitor_op[ i ].nrdn ) )			{				ldap_pvt_thread_mutex_lock( &slap_counters.sc_ops_mutex );				ldap_pvt_mp_init_set( nInitiated, slap_counters.sc_ops_initiated_[ i ] );				ldap_pvt_mp_init_set( nCompleted, slap_counters.sc_ops_completed_[ i ] );				ldap_pvt_thread_mutex_unlock( &slap_counters.sc_ops_mutex );				break;			}		}		if ( i == SLAP_OP_LAST ) {			/* not found ... */			return( 0 );		}	}	a = attr_find( e->e_attrs, mi->mi_ad_monitorOpInitiated );	assert ( a != NULL );	/* NOTE: no minus sign is allowed in the counters... */	UI2BV( &a->a_vals[ 0 ], nInitiated );	ldap_pvt_mp_clear( nInitiated );		a = attr_find( e->e_attrs, mi->mi_ad_monitorOpCompleted );	assert ( a != NULL );	/* NOTE: no minus sign is allowed in the counters... */	UI2BV( &a->a_vals[ 0 ], nCompleted );	ldap_pvt_mp_clear( nCompleted );	/* FIXME: touch modifyTimestamp? */	return SLAP_CB_CONTINUE;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久综合五月天婷婷伊人| 欧美在线观看一二区| 亚洲一区在线播放| 亚洲激情一二三区| 亚洲国产一区在线观看| 亚洲午夜久久久久久久久电影网| 中文字幕制服丝袜一区二区三区 | 2020国产成人综合网| 精品日韩av一区二区| 日韩午夜精品电影| 精品国产乱码久久久久久久 | 亚洲欧洲一区二区三区| 欧美国产一区二区| 亚洲另类在线一区| 亚洲综合另类小说| 乱一区二区av| 国产黄人亚洲片| k8久久久一区二区三区| 91麻豆swag| 欧美一区二区三区成人| 久久婷婷一区二区三区| 1024成人网| 日本亚洲三级在线| 国产成人精品三级麻豆| 欧美性视频一区二区三区| 日韩午夜在线影院| 日本一区二区三区国色天香| 亚洲天堂成人网| 人人狠狠综合久久亚洲| 国产福利一区二区三区| 欧美中文字幕一区| 精品嫩草影院久久| 亚洲综合男人的天堂| 紧缚奴在线一区二区三区| 成人一级黄色片| 欧美日韩久久一区| 国产日韩亚洲欧美综合| 亚洲综合区在线| 国产成人啪午夜精品网站男同| 91亚洲精华国产精华精华液| 制服丝袜亚洲播放| 亚洲欧洲一区二区三区| 久久99精品视频| 欧美伊人精品成人久久综合97| 日韩精品一区二区三区视频在线观看 | 成人在线视频一区| 91精品一区二区三区久久久久久 | 精品国产乱码久久久久久图片| 中文字幕一区二区三区不卡 | 国产精品亚洲人在线观看| 欧洲一区在线电影| 中文字幕av一区 二区| 日本视频在线一区| 欧美写真视频网站| 国产精品国产三级国产aⅴ原创 | 91蝌蚪porny成人天涯| 久久午夜免费电影| 日韩精品视频网| 欧美丝袜丝交足nylons图片| 一色桃子久久精品亚洲| 国产成人日日夜夜| 国产婷婷精品av在线| 国产一区二区三区不卡在线观看 | 久久 天天综合| 4438成人网| 午夜精品在线看| 欧美色精品天天在线观看视频| 亚洲私人黄色宅男| www.视频一区| 国产精品久久久久久久久久久免费看| 精品亚洲成a人在线观看| 欧美精品日韩一本| 日日夜夜精品视频免费| 欧美色精品在线视频| 午夜一区二区三区视频| 欧洲国产伦久久久久久久| 亚洲卡通动漫在线| 91浏览器入口在线观看| 中文字幕一区二区三区乱码在线| 亚洲在线免费播放| 欧美日韩精品三区| 日韩黄色片在线观看| 日韩一级黄色片| 久久99精品视频| 国产欧美精品日韩区二区麻豆天美| 黄页网站大全一区二区| 久久色中文字幕| 国产成人免费网站| 国产精品久久久久影院| 色狠狠综合天天综合综合| 亚洲一区二区视频| 日韩精品综合一本久道在线视频| 毛片av一区二区| 久久久99久久| 91在线免费看| 亚洲午夜免费视频| 久久综合久久99| 91亚洲男人天堂| 日日摸夜夜添夜夜添国产精品| 日韩欧美久久久| 丰满少妇久久久久久久| 樱花影视一区二区| 91精品国产一区二区人妖| 丁香激情综合五月| 亚洲一区二区在线观看视频 | av欧美精品.com| 亚洲自拍另类综合| 久久男人中文字幕资源站| av在线一区二区三区| 秋霞影院一区二区| 亚洲图片你懂的| 精品少妇一区二区三区在线视频 | 日韩avvvv在线播放| 欧美激情综合网| 欧美日韩免费电影| 成人午夜电影网站| 日韩av网站免费在线| 中文字幕一区二区三区色视频| 欧美一区二区三区精品| aaa欧美大片| 美国三级日本三级久久99| 一区二区在线观看不卡| 精品91自产拍在线观看一区| 一本大道av一区二区在线播放| 久久精品国产网站| 一区二区不卡在线视频 午夜欧美不卡在| 欧美电影一区二区| 91蜜桃在线免费视频| 韩国三级电影一区二区| 一区二区三区色| 中文字幕av一区二区三区| 精品粉嫩超白一线天av| 欧美日韩国产bt| 色婷婷亚洲综合| 成人动漫一区二区在线| 国产一区二区剧情av在线| 亚洲第一激情av| 一区二区三区免费| 亚洲欧美日韩久久精品| 最新欧美精品一区二区三区| 久久久不卡网国产精品一区| 日韩免费成人网| 精品久久久久久久久久久院品网 | 亚洲精品国产无套在线观| 久久综合狠狠综合| 精品伦理精品一区| 日韩一区二区三区精品视频 | 久久久久久黄色| 欧美成人bangbros| 日韩欧美一区二区视频| 69p69国产精品| 日韩一级免费一区| 日韩免费看的电影| 精品国产一区二区三区四区四| 日韩视频在线观看一区二区| 欧美一级片免费看| 日韩小视频在线观看专区| 欧美成人精品高清在线播放 | 成人毛片老司机大片| 国产成人夜色高潮福利影视| 国产乱人伦偷精品视频不卡| 国产丶欧美丶日本不卡视频| 国产成人免费9x9x人网站视频| 成人网在线播放| 91在线观看美女| 在线视频一区二区免费| 正在播放亚洲一区| 久久亚区不卡日本| 亚洲三级电影全部在线观看高清| 亚洲欧美另类小说视频| 亚洲国产精品一区二区www在线| 婷婷六月综合亚洲| 久久99精品久久久久久动态图 | 成人avav影音| 欧美怡红院视频| 精品裸体舞一区二区三区| 国产三级久久久| 亚洲高清在线视频| 久久精品国产亚洲a| 99热精品国产| 91 com成人网| 国产欧美综合色| 一区二区三区四区亚洲| 美女免费视频一区二区| kk眼镜猥琐国模调教系列一区二区| 欧洲视频一区二区| 国产午夜精品一区二区三区四区| 日韩美女视频一区二区| 看片的网站亚洲| 色婷婷一区二区| 久久青草欧美一区二区三区| 亚洲综合无码一区二区| 国产一区二区三区免费观看| 欧美写真视频网站| 中文字幕欧美三区| 美腿丝袜亚洲三区| 日本电影亚洲天堂一区| 久久久久久夜精品精品免费| 亚洲国产精品影院| av在线综合网|