dsaplose.c

来自「ftam等标准协议服务器和客户端的源代码。」· C语言 代码 · 共 168 行

C
168
字号
/* dsaplose.c - DSAP: Support for directory protocol mappings */#ifndef	lintstatic char *rcsid = "$Header: /xtel/isode/isode/dsap/net/RCS/dsaplose.c,v 9.0 1992/06/16 12:14:05 isode Rel $";#endif/*  * $Header: /xtel/isode/isode/dsap/net/RCS/dsaplose.c,v 9.0 1992/06/16 12:14:05 isode Rel $ * * * $Log: dsaplose.c,v $ * Revision 9.0  1992/06/16  12:14:05  isode * Release 8.0 * *//* *                                NOTICE * *    Acquisition, use, and distribution of this module and related *    materials are subject to the restrictions of a license agreement. *    Consult the Preface in the User's Manual for the full terms of *    this agreement. * *//* LINTLIBRARY */#include <stdio.h>#include <varargs.h>#include "tailor.h"#include "quipu/dsap.h"#ifndef	lintstatic int  _dsaplose ();static int  _dsapreject ();#endif/*  */#ifndef	lintint	dsaplose (va_alist)va_dcl{    int	    reason,	    result;    struct DSAPindication *di;    va_list ap;    va_start (ap);    di = va_arg (ap, struct DSAPindication *);    reason = va_arg (ap, int);    result = _dsaplose (di, reason, ap);    va_end (ap);    return result;}#else/* VARARGS4 */int	dsaplose (di, reason, what, fmt)struct DSAPindication *di;int	reason;char   *what,       *fmt;{    return dsaplose (di, reason, what, fmt);}#endif/*  */#ifndef	lintstatic int  _dsaplose (di, reason, ap)  /* what, fmt, args ... */register struct DSAPindication *di;int     reason;va_list	ap;{    register char  *bp;    char    buffer[BUFSIZ];    struct DSAPabort	* da;    if (di) {	bzero ((char *) di, sizeof *di);	di->di_type = DI_ABORT;	da = &(di->di_abort);	da->da_reason = reason;	asprintf (bp = buffer, ap);	bp += strlen (bp);	copyDSAPdata (buffer, bp - buffer, da);    }    return NOTOK;}#endif#ifndef	lintint	dsapreject (va_alist)va_dcl{    int	    reason,	    id,	    result;    struct DSAPindication *di;    va_list ap;    va_start (ap);    di = va_arg (ap, struct DSAPindication *);    reason = va_arg (ap, int);    id = va_arg (ap, int);    result = _dsapreject (di, reason, id, ap);    va_end (ap);    return result;}#else/* VARARGS4 */int	dsapreject (di, reason, id, what, fmt)struct DSAPindication *di;int	reason;int	id;char   *what,       *fmt;{    return dsapreject (di, reason, id, what, fmt);}#endif/*  */#ifndef	lintstatic int  _dsapreject (di, reason, id, ap)  /* what, fmt, args ... */register struct DSAPindication *di;int     reason;int	id;va_list	ap;{    register char  *bp;    char    buffer[BUFSIZ];    struct DSAPpreject	* dp;    if (di) {	bzero ((char *) di, sizeof *di);	di->di_type = DI_PREJECT;	dp = &(di->di_preject);	dp->dp_id = id;	dp->dp_reason = reason;	asprintf (bp = buffer, ap);	bp += strlen (bp);	copyDSAPdata (buffer, bp - buffer, dp);    }    return (NOTOK);}#endif

⌨️ 快捷键说明

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