Annotation of 43BSDReno/contrib/isode-beta/ftam/ftamlose.c, revision 1.1.1.1

1.1       root        1: /* ftamlose.c - FPM: you lose */
                      2: 
                      3: #ifndef        lint
                      4: static char *rcsid = "$Header: /f/osi/ftam/RCS/ftamlose.c,v 7.0 89/11/23 21:53:43 mrose Rel $";
                      5: #endif
                      6: 
                      7: /* 
                      8:  * $Header: /f/osi/ftam/RCS/ftamlose.c,v 7.0 89/11/23 21:53:43 mrose Rel $
                      9:  *
                     10:  *
                     11:  * $Log:       ftamlose.c,v $
                     12:  * Revision 7.0  89/11/23  21:53:43  mrose
                     13:  * Release 6.0
                     14:  * 
                     15:  */
                     16: 
                     17: /*
                     18:  *                               NOTICE
                     19:  *
                     20:  *    Acquisition, use, and distribution of this module and related
                     21:  *    materials are subject to the restrictions of a license agreement.
                     22:  *    Consult the Preface in the User's Manual for the full terms of
                     23:  *    this agreement.
                     24:  *
                     25:  */
                     26: 
                     27: 
                     28: /* LINTLIBRARY */
                     29: 
                     30: #include <stdio.h>
                     31: #include <varargs.h>
                     32: #include "fpkt.h"
                     33: 
                     34: /*  */
                     35: 
                     36: #ifndef        lint
                     37: int    fpktlose (va_alist)
                     38: va_dcl
                     39: {
                     40:     int     observer,
                     41:            reason,
                     42:             result,
                     43:             source;
                     44:     struct FTAMindication   ftis;
                     45:     register struct ftamblk *fsb;
                     46:     register struct FTAMindication *fti;
                     47:     va_list    ap;
                     48: 
                     49:     va_start (ap);
                     50: 
                     51:     fsb = va_arg (ap, struct ftamblk *);
                     52:     fti = va_arg (ap, struct FTAMindication *);
                     53:     reason = va_arg (ap, int);
                     54: 
                     55:     if (fsb -> fsb_flags & FSB_INIT)
                     56:        observer = EREF_IFPM, source = EREF_RFPM;
                     57:     else
                     58:        observer = EREF_RFPM, source = EREF_IFPM;
                     59: 
                     60:     result = _ftamoops (fti, reason, 1, observer, source, ap);
                     61: 
                     62:     va_end (ap);
                     63: 
                     64:     if (fsb -> fsb_fd == NOTOK)
                     65:        return result;
                     66: 
                     67:     (void) FAbortRequestAux (fsb, type_FTAM_PDU_f__p__abort__request,
                     68:                             FACTION_PERM, fti -> fti_abort.fta_diags, 1,
                     69:                             &ftis);
                     70: 
                     71:     return result;
                     72: }
                     73: #else
                     74: /* VARARGS5 */
                     75: 
                     76: int    fpktlose (fsb, fti, reason, what, fmt)
                     77: struct ftamblk *fsb;
                     78: struct FTAMindication *fti;
                     79: int    reason;
                     80: char   *what,
                     81:        *fmt;
                     82: {
                     83:     return fpktlose (fsb, fti, reason, what, fmt);
                     84: }
                     85: #endif
                     86: 
                     87: /*  */
                     88: 
                     89: #ifndef        lint
                     90: int    ftamlose (va_alist)
                     91: va_dcl
                     92: {
                     93:     int     fatal,
                     94:            reason,
                     95:            result;
                     96:     struct FTAMindication *fti;
                     97:     va_list    ap;
                     98: 
                     99:     va_start (ap);
                    100: 
                    101:     fti = va_arg (ap, struct FTAMindication *);
                    102:     reason = va_arg (ap, int);
                    103:     fatal = va_arg (ap, int);
                    104: 
                    105:     result = _ftamoops (fti, reason, fatal, EREF_NONE, EREF_NONE, ap);
                    106: 
                    107:     va_end (ap);
                    108: 
                    109:     return result;
                    110: }
                    111: #else
                    112: /* VARARGS4 */
                    113: 
                    114: int    ftamlose (fti, reason, fatal, what, fmt)
                    115: register struct FTAMindication *fti;
                    116: int    reason,
                    117:        fatal;
                    118: char   *what,
                    119:        *fmt;
                    120: {
                    121:     return ftamlose (fti, reason, fatal, what, fmt);
                    122: }
                    123: #endif
                    124: 
                    125: /*  */
                    126: 
                    127: #ifndef        lint
                    128: int    ftamoops (va_alist)
                    129: va_dcl
                    130: {
                    131:     int            reason,
                    132:            result,
                    133:            fatal,
                    134:            observer,
                    135:            source;
                    136:     struct FTAMindication *fti;
                    137:     va_list ap;
                    138: 
                    139:     va_start (ap);
                    140: 
                    141:     fti = va_arg (ap, struct FTAMindication *);
                    142:     reason = va_arg (ap, int);
                    143:     fatal = va_arg (ap, int);
                    144:     observer = va_arg (ap, int);
                    145:     source = va_arg (ap, int);
                    146: 
                    147:     result = _ftamoops (fti, reason, fatal, source, observer, ap);
                    148: 
                    149:     va_end (ap);
                    150: 
                    151:     return result;
                    152: }
                    153: 
                    154: 
                    155: static int  _ftamoops (fti, reason, fatal, observer, source, ap)
                    156: register struct FTAMindication *fti;
                    157: int    reason,
                    158:        fatal,
                    159:        observer,
                    160:        source;
                    161: va_list        ap;
                    162: {
                    163:     register char  *bp;
                    164:     char    buffer[BUFSIZ];
                    165:     register struct FTAMabort  *fta;
                    166:     register struct FTAMdiagnostic *ftd;
                    167: 
                    168:     if (fti) {
                    169:        bzero ((char *) fti, sizeof *fti);
                    170:        fti -> fti_type = FTI_ABORT;
                    171:        fta = &fti -> fti_abort;
                    172: 
                    173:        asprintf (bp = buffer, ap);
                    174:        bp += strlen (bp);
                    175: 
                    176:        fta -> fta_peer = 0;
                    177:        fta -> fta_action = fatal ? FACTION_PERM : FACTION_TRANS;
                    178: 
                    179:        ftd = &fta -> fta_diags[0];
                    180:        ftd -> ftd_type = fatal ? DIAG_PERM : DIAG_TRANS;
                    181:        ftd -> ftd_identifier = reason;
                    182:        ftd -> ftd_observer = observer;
                    183:        ftd -> ftd_source = source;
                    184:        ftd -> ftd_delay = DIAG_NODELAY;
                    185:        copyFTAMdata (buffer, bp - buffer, ftd);
                    186: 
                    187:        fta -> fta_ndiag = 1;
                    188:     }
                    189: 
                    190:     return NOTOK;
                    191: }
                    192: #else
                    193: /* VARARGS7 */
                    194: 
                    195: int    ftamoops (fti, reason, fatal, observer, source, what, fmt)
                    196: struct FTAMindication *fti;
                    197: int    reason,
                    198:        fatal,
                    199:        observer,
                    200:        source;
                    201: char   *what,
                    202:        *fmt;
                    203: {
                    204:     return ftamoops (fti, reason, fatal, observer, source, what, fmt);
                    205: }
                    206: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.