⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ocitrace.h

📁 视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.
💻 H
📖 第 1 页 / 共 2 页
字号:
#ifndef DBD_OCI_TRACEON/* OCI functions "wrapped" to produce tracefile dumps (may be handy when giving  diagnostic info to Oracle Support, or just learning about OCI)  Macros are named "_log" as a mnemonic that they log to the tracefile if needed  Macros named "_log_stat" return status in last parameter.*/#define DBD_OCI_TRACEON	(DBIS->debug >= 6)#define DBD_OCI_TRACEFP	(DBILOGFP)#define OciTp		("\tOCI")		/* OCI Trace Prefix */#define OciTstr(s)	((s) ? (text*)(s) : (text*)"<NULL>")#define ul_t(v)		((unsigned long)(v))#define pul_t(v)	((unsigned long *)(v))#define sl_t(v)		((signed long)(v))#define psl_t(v)	((signed long *)(v))/* XXX TO DO    1.	Add parenthesis around all macro args. (or do item 4 below case-by-case)    DMG: Partly done, sort of. At least the types all match the doc'd casts, anyway.    2.	#define a set of OciTxxx macros for different types of parameters	that would allow	a: casting to be hidden	b: casting easily changed on different platforms (64bit etc)	c: mapping of some type values to strings,	d: return pointed-to value instead of pointer where applicable   How to output arguments that are handles to opaque entities (OCIEnv*, etc)?   Output of pointer address is a quick n' dirty way of identifying   any number of handles that may be allocated.... yuck...   It sure would be nice to give something more mnemonic! (and meaningful!)   XXX Turn pointers into variable names by adding a prefix letter and, where	appropriate an &, thus: "...,&p%ld,...",	If done well the log will read like a compilable program.*/#define OCIObjectPin_log_stat(envhp,errhp,or,ot,stat)\    stat = OCIObjectPin(envhp,errhp,or,(OCIComplexObject *)0,OCI_PIN_LATEST,OCI_DURATION_TRANS,OCI_LOCK_NONE,ot);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sObjectPin_log_stat(%p,%p,%p,%p)=%s\n",\		         OciTp, (void*)envhp, (void*)errhp,or,ot,oci_status_name(stat)),stat \   : stat#define OCICollGetElem_log_stat(envhp,errhp,v,i,ex,e,ne,stat)\    stat = OCICollGetElem(envhp,errhp, v,i,ex,e,ne);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sOCICollGetElem_log_stat(%p,%p,%d,%d,%d,%d,%d)=%s\n",\		         OciTp, (void*)envhp, (void*)errhp,v,i,ex,e,ne,oci_status_name(stat)),stat \   : stat#define OCITableFirst_log_stat(envhp,errhp,v,i,stat)\    stat = OCITableFirst(envhp,errhp,v,i);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sOCITableFirst_log_stat(%p,%p,%d,%d)=%s\n",\		         OciTp, (void*)envhp, (void*)errhp,v,i,oci_status_name(stat)),stat \   : stat#define OCIObjectGetAttr_log_stat(envhp,errhp,v,no,ot,tn,tnl,ani,ans,av,atdo, stat)\    stat = OCIObjectGetAttr(errhp,errhp,v,no,ot,tn,tnl,1,(ub4 *)0, 0,ani,ans,av,atdo,stat);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sOCIObjectGetAttr_log_stat(%p,%p,%d,%d,%d,%d,%d,%d,%d,%d,%d)=%s\n",\		         OciTp, (void*)envhp,(void*)errhp,v,no,ot,tn,tnl,ani,ans,av,atdo,(void*)errhp,oci_status_name(stat)),stat \   : stat#define OCIIntervalToText_log_stat(envhp,errhp,di,sb,ln,sl,stat)\    stat = OCIIntervalToText(envhp,errhp, *(OCIInterval**)di,3,3,sb,ln,sl);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "% OCIIntervalToText(%p,%p,%p,%s)=%s\n",\		         OciTp, (void*)errhp, di,sl,sb,oci_status_name(stat)),stat \  : stat#define OCIDateTimeToText_log_stat(envhp,errhp,d,sl,sb,stat)\    stat = OCIDateTimeToText(envhp,errhp, *(OCIDateTime**)d,(CONST text*) 0,(ub1) 0,0, (CONST text*) 0, (ub4) 0,(ub4 *)sl,sb );\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "% OCIDateTimeToText(%p,%p,%p,%s)=%s\n",\		         OciTp, (void*)errhp, d,sl,sb,oci_status_name(stat)),stat \  : stat#define OCIDateToText_log_stat(errhp,d,sl,sb,stat)\    stat = OCIDateToText(errhp, (CONST OCIDate *) d,(CONST text*) 0,(ub1) 0, (CONST text*) 0, (ub4) 0,(ub4 *)sl,sb );\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sDateToText_log_stat(%p,%p,%p,%s)=%s\n",\		         OciTp, (void*)errhp, d,sl,sb,oci_status_name(stat)),stat \  : stat#define OCIIterDelete_log_stat(envhp,errhp,itr,stat)\	stat = OCIIterDelete(envhp,errhp,itr );\	(DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sOCIIterDelete_log_stat(%p,%p,%d)=%s\n",\		         OciTp, (void*)envhp, (void*)errhp,itr,oci_status_name(stat)),stat \   : stat#define OCIIterCreate_log_stat(envhp,errhp,coll,itr,stat)\    stat = OCIIterCreate(envhp,errhp,coll,itr);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sIterCreate_log_stat(%p,%p,%p)=%s\n",\		         OciTp, (void*)envhp, (void*)errhp,(void*)coll,oci_status_name(stat)),stat \   : stat#define OCICollSize_log_stat(envhp,errhp,coll,coll_siz,stat)\    stat = OCICollSize(envhp,errhp,(CONST OCIColl *)coll,coll_siz);\    (DBD_OCI_TRACEON) \		   ?  PerlIO_printf(DBD_OCI_TRACEFP,\		         "%sOCICollSize_log_stat(%p,%p,%d)=%s\n",\		         OciTp, (void*)envhp, (void*)errhp,oci_status_name(stat)),stat \   : stat#define OCIDefineObject_log_stat(defnp,errhp,tdo,eo_buff,stat)\    stat = OCIDefineObject(defnp,errhp,tdo,eo_buff,0,0, 0);\   (DBD_OCI_TRACEON) \	   ?  PerlIO_printf(DBD_OCI_TRACEFP,\	         "%sOCIDefineObject(%p,%p,%d)=%s\n",\	         OciTp, (void*)defnp, (void*)errhp, (void*)tdo,oci_status_name(stat)),stat \   : stat#define OCITypeByName_log_stat(envhp,errhp,svchp,p1,l,tdo,stat)\    stat = OCITypeByName(envhp,errhp,svchp,(const oratext*)"",0,p1,l,0,0,OCI_DURATION_TRANS,OCI_TYPEGET_ALL,tdo);\    (DBD_OCI_TRACEON) \	   ?  PerlIO_printf(DBD_OCI_TRACEFP,\	         "%sTypeByName(%p,%p,%p,%s,%d)=%s\n",\	         OciTp, (void*)envhp, (void*)errhp, (void*)svchp, (char*)(p1),(l),oci_status_name(stat)),stat \   : stat/* added by lab */#define OCILobCharSetId_log_stat( envhp, errhp, locp, csidp, stat ) \   stat = OCILobCharSetId( envhp, errhp, locp, csidp ); \	(DBD_OCI_TRACEON) \   ?  PerlIO_printf(DBD_OCI_TRACEFP,\         "%sLobCharSetId(%p,%p,%p,%d)=%s\n",\         OciTp, (void*)envhp, (void*)errhp, (void*)locp, *csidp, oci_status_name(stat)),stat \   : stat/* added by lab */#define OCILobCharSetForm_log_stat( envhp, errhp, locp, formp, stat ) \   stat = OCILobCharSetForm( envhp, errhp, locp, formp ); \	(DBD_OCI_TRACEON) \   ?  PerlIO_printf(DBD_OCI_TRACEFP,\         "%sLobCharSetForm(%p,%p,%p,%d)=%s\n",\         OciTp, (void*)envhp, (void*)errhp, (void*)locp, *formp, oci_status_name(stat)),stat \   : stat/* added by lab */#define OCINlsEnvironmentVariableGet_log_stat( valp, size, item, charset, rsizep ,stat ) \   stat = OCINlsEnvironmentVariableGet(  valp, size, item, charset, rsizep ); \	(DBD_OCI_TRACEON) \   ?  PerlIO_printf(DBD_OCI_TRACEFP,\         "%sNlsEnvironmentVariableGet(%d,%d,%d,%d,%d)=%s\n",\         OciTp, *valp, size, item, charset, *rsizep, oci_status_name(stat)),stat \   : stat/* added by lab */#define OCIEnvNlsCreate_log_stat( envp, mode, ctxp, f1, f2, f3, sz, usremepp ,chset, nchset ,stat ) \   stat = OCIEnvNlsCreate(envp, mode, ctxp, f1, f2, f3, sz, usremepp ,chset, nchset ); \	(DBD_OCI_TRACEON) \   ?  PerlIO_printf(DBD_OCI_TRACEFP,\         "%sNlsEnvCreate(%p,%d,%d,%p,%p,%p,%d,%p,%d,%d)=%s\n", \         OciTp, (void*)envp, mode, ctxp, (void*)f1, (void*)f2, (void*)f3, sz, (void*)usremepp ,chset, nchset, oci_status_name(stat)),stat \   : stat#define OCIAttrGet_log_stat(th,ht,ah,sp,at,eh,stat)                    \	stat = OCIAttrGet(th,ht,ah,sp,at,eh);				\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,			\	  "%sAttrGet(%p,%s,%p,%p,%lu,%p)=%s\n",			\	  OciTp, (void*)th,oci_hdtype_name(ht),(void*)ah,pul_t(sp),ul_t(at),(void*)eh,\	  oci_status_name(stat)),stat : stat #define OCIAttrGet_parmap(imp_sth,dh, ht, p1, l, stat)              \		  	OCIAttrGet_log_stat(dh, ht,			\		(void*)(p1), (l), OCI_ATTR_PARAM, imp_sth->errhp, stat)#define OCIAttrGet_parmdp(imp_sth, parmdp, p1, l, a, stat)              \	OCIAttrGet_log_stat(parmdp, OCI_DTYPE_PARAM,			\		(void*)(p1), (l), (a), imp_sth->errhp, stat)#define OCIAttrGet_stmhp_stat(imp_sth, p1, l, a, stat)                  \	OCIAttrGet_log_stat(imp_sth->stmhp, OCI_HTYPE_STMT,		\		(void*)(p1), (l), (a), imp_sth->errhp, stat)#define OCIAttrSet_log_stat(th,ht,ah,s1,a,eh,stat)                      \	stat=OCIAttrSet(th,ht,ah,s1,a,eh);				\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,			\	  "%sAttrSet(%p,%s,%p,%lu,%lu,%p)=%s\n",			\	  OciTp, (void*)th,oci_hdtype_name(ht),(void*)(ah),ul_t(s1),ul_t(a),(void*)eh,	\	  oci_status_name(stat)),stat : stat#define OCIBindByName_log_stat(sh,bp,eh,p1,pl,v,vs,dt,in,al,rc,mx,cu,md,stat)  \	stat=OCIBindByName(sh,bp,eh,p1,pl,v,vs,dt,in,al,rc,mx,cu,md);	\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,			\	  "%sBindByName(%p,%p,%p,\"%s\",placeh_len=%ld,value_p=%p,value_sz=%ld," \	  "dty=%u,indp=%p,alenp=%p,rcodep=%p,maxarr_len=%lu,curelep=%p (*=%d),mode=%lu)=%s\n",\ 	  OciTp, (void*)sh,(void*)bp,(void*)eh,p1,sl_t(pl),(void*)(v),	\	  sl_t(vs),(ub2)(dt),(void*)(in),(ub2*)(al),(ub2*)(rc),		\	  ul_t((mx)),pul_t((cu)),(cu ? *(int*)cu : 0 ) ,ul_t((md)),				\	  oci_status_name(stat)),stat : stat#define	OCIBindArrayOfStruct_log_stat(bp,ep,sd,si,sl,sr,stat)	\	stat=OCIBindArrayOfStruct(bp,ep,sd,si,sl,sr);		\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,	\	  "%sOCIBindArrayOfStruct(%p,%p,%u,%u,%u,%u)=%s\n",	\	  OciTp,(void*)bp,(void*)ep,sd,si,sl,sr,		\	  oci_status_name(stat)),stat : stat#define OCIBindDynamic_log(bh,eh,icx,cbi,ocx,cbo,stat)                 \	stat=OCIBindDynamic(bh,eh,icx,cbi,ocx,cbo);			\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,			\	  "%sBindDynamic(%p,%p,%p,%p,%p,%p)=%s\n",			\	  OciTp, (void*)bh,(void*)eh,(void*)icx,(void*)cbi,		\	  (void*)ocx,(void*)cbo,					\	  oci_status_name(stat)),stat : stat#define OCIDefineByPos_log_stat(sh,dp,eh,p1,vp,vs,dt,ip,rp,cp,m,stat)   \	stat=OCIDefineByPos(sh,dp,eh,p1,vp,vs,dt,ip,rp,cp,m);		\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,			\	  "%sDefineByPos(%p,%p,%p,%lu,%p,%ld,%u,%p,%p,%p,%lu)=%s\n",	\	  OciTp, (void*)sh,(void*)dp,(void*)eh,ul_t((p1)),(void*)(vp),	\	  sl_t(vs),(ub2)dt,(void*)(ip),(ub2*)(rp),(ub2*)(cp),ul_t(m),	\	  oci_status_name(stat)),stat : stat#define OCIDescribeAny_log_stat(sh,eh,op,ol,opt,il,ot,dh,stat)         \	stat=OCIDescribeAny(sh,eh,op,ol,opt,il,ot,dh);			\	(DBD_OCI_TRACEON) ? PerlIO_printf(DBD_OCI_TRACEFP,			\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -