Annotation of 43BSDReno/contrib/isode-beta/h/quipu/ds_error.h, revision 1.1

1.1     ! root        1: /* ds_error.h - directory service errors */
        !             2: 
        !             3: /*
        !             4:  * $Header: /f/osi/h/quipu/RCS/ds_error.h,v 7.0 89/11/23 21:56:30 mrose Rel $
        !             5:  *
        !             6:  *
        !             7:  * $Log:       ds_error.h,v $
        !             8:  * Revision 7.0  89/11/23  21:56:30  mrose
        !             9:  * Release 6.0
        !            10:  * 
        !            11:  */
        !            12: 
        !            13: /*
        !            14:  *                               NOTICE
        !            15:  *
        !            16:  *    Acquisition, use, and distribution of this module and related
        !            17:  *    materials are subject to the restrictions of a license agreement.
        !            18:  *    Consult the Preface in the User's Manual for the full terms of
        !            19:  *    this agreement.
        !            20:  *
        !            21:  */
        !            22: 
        !            23: 
        !            24: #ifndef DSERRORH
        !            25: #define DSERRORH
        !            26: 
        !            27: #include "quipu/dsp.h"
        !            28: 
        !            29: struct DSE_abandon_fail {
        !            30:     int DSE_ab_problem;
        !            31: #define DSE_AB_NOSUCHOPERATION  1
        !            32: #define DSE_AB_TOOLATE          2
        !            33: #define DSE_AB_CANNOTABANDON    3
        !            34:     int DSE_ab_invokeid;
        !            35: };
        !            36: 
        !            37: struct DSE_at_problem {
        !            38:     int         DSE_at_what;
        !            39: #define DSE_AT_NOSUCHATTRIBUTE          1
        !            40: #define DSE_AT_INVALIDATTRIBUTESYNTAX   2
        !            41: #define DSE_AT_UNDEFINEDATTRIBUTETYPE   3
        !            42: #define DSE_AT_INAPPROPRIATEMATCHING    4
        !            43: #define DSE_AT_CONSTRAINTVIOLATION      5
        !            44: #define DSE_AT_TYPEORVALUEEXISTS        6
        !            45:     AttributeType DSE_at_type;
        !            46:     AttributeValue DSE_at_value;
        !            47:     struct DSE_at_problem *dse_at_next;
        !            48: };
        !            49: #define DSE_AT_NOPROBLEM ((struct DSE_at_problem*)0)
        !            50: 
        !            51: struct DSE_attribute {
        !            52:     DN DSE_at_name;
        !            53:     struct DSE_at_problem DSE_at_plist;
        !            54: } ;
        !            55: 
        !            56: 
        !            57: struct DSE_name {
        !            58:     int DSE_na_problem;
        !            59: #define DSE_NA_NOSUCHOBJECT             1
        !            60: #define DSE_NA_ALIASPROBLEM             2
        !            61: #define DSE_NA_INVALIDATTRIBUTESYNTAX   3
        !            62: #define DSE_NA_ALIASDEREFERENCE         4
        !            63:     DN DSE_na_matched;
        !            64: };
        !            65: 
        !            66: 
        !            67: struct DSE_referral {
        !            68:     ContinuationRef DSE_ref_candidates;
        !            69:     DN                  DSE_ref_prefix;
        !            70:                        /* Context prefix only in DSP           */
        !            71: };
        !            72: 
        !            73: struct DSE_security {
        !            74:     int DSE_sc_problem;
        !            75: #define DSE_SC_AUTHENTICATION           1
        !            76: #define DSE_SC_INVALIDCREDENTIALS       2
        !            77: #define DSE_SC_ACCESSRIGHTS             3
        !            78: #define DSE_SC_INVALIDSIGNATURE         4
        !            79: #define DSE_SC_PROTECTIONREQUIRED       5
        !            80: #define DSE_SC_NOINFORMATION           6
        !            81: };
        !            82: 
        !            83: struct DSE_service {
        !            84:     int DSE_sv_problem;
        !            85: #define DSE_SV_BUSY                     1
        !            86: #define DSE_SV_UNAVAILABLE              2
        !            87: #define DSE_SV_UNWILLINGTOPERFORM       3
        !            88: #define DSE_SV_CHAININGREQUIRED         4
        !            89: #define DSE_SV_UNABLETOPROCEED          5
        !            90: #define DSE_SV_INVALIDREFERENCE         6       /* DSP ONLY */
        !            91: #define DSE_SV_TIMELIMITEXCEEDED        7
        !            92: #define DSE_SV_ADMINLIMITEXCEEDED      8
        !            93: #define DSE_SV_LOOPDETECT               9
        !            94: #define DSE_SV_UNAVAILABLECRITICALEXTENSION    10
        !            95: #define DSE_SV_OUTOFSCOPE              11
        !            96: #define DSE_SV_DITERROR                        12
        !            97: };
        !            98: 
        !            99: struct DSE_update {
        !           100:     int DSE_up_problem;
        !           101: #define DSE_UP_NAMINGVIOLATION          1
        !           102: #define DSE_UP_OBJECTCLASSVIOLATION     2
        !           103: #define DSE_UP_NOTONNONLEAF             3
        !           104: #define DSE_UP_NOTONRDN                 4
        !           105: #define DSE_UP_ALREADYEXISTS            5
        !           106: #define DSE_UP_AFFECTSMULTIPLEDSAS      6
        !           107: #define DSE_UP_NOOBJECTCLASSMODS        7
        !           108: };
        !           109: 
        !           110: struct DSError {
        !           111:     int dse_type;
        !           112: #define DSE_INTR_ABANDON_FAILED        -5      /* Call interrupted - abandon failed */
        !           113: #define DSE_INTR_ABANDONED     -4      /* Call interrupted - abandoned */
        !           114: #define DSE_INTRERROR          -3      /* Call interrupted */
        !           115: #define DSE_LOCALERROR         -2      /* Error in DUA */
        !           116: #define DSE_REMOTEERROR                -1      /* Problem with DSA */
        !           117: #define DSE_NOERROR             0
        !           118: #define DSE_ATTRIBUTEERROR      1
        !           119: #define DSE_NAMEERROR           2
        !           120: #define DSE_SERVICEERROR        3
        !           121: #define DSE_REFERRAL            4
        !           122: #define DSE_ABANDONED           5
        !           123:                        /* Abandoned does not have any parameter and    */
        !           124:                        /* so there is no struct for this value         */
        !           125: #define DSE_SECURITYERROR       6
        !           126: #define DSE_ABANDON_FAILED      7
        !           127: #define DSE_UPDATEERROR         8
        !           128: #define DSE_DSAREFERRAL                9
        !           129: #define ds_recog_err(a) ((a >= DSE_ATTRIBUTEERROR) && (a <= DSE_DSAREFERRAL))
        !           130:     union {
        !           131:        struct DSE_attribute dse_un_attribute;
        !           132:        struct DSE_name dse_un_name;
        !           133:        struct DSE_service dse_un_service;
        !           134:        struct DSE_referral dse_un_referral;
        !           135:        struct DSE_security dse_un_security;
        !           136:        struct DSE_abandon_fail dse_un_abandon_fail;
        !           137:        struct DSE_update dse_un_update;
        !           138:     }   dse_un;
        !           139: };
        !           140: 
        !           141: 
        !           142: 
        !           143:        /* THIS SECTION DEFINES THE PROCEDURE CALLS */
        !           144: 
        !           145: /* All of the DUA calls are SYNCHRONOUS, with no access to referrals    */
        !           146: /* A DUA can access lower level hooks if if needs to be more clever     */
        !           147: /* Each call has a single structure fore each direction, as defined     */
        !           148: 
        !           149: /*
        !           150: All routines return integer values with the following
        !           151: possible values
        !           152: */
        !           153: 
        !           154: #define DS_OK  0                /* Success                              */
        !           155: #define DS_ERROR_LOCAL -1       /* Error within the DUA module          */
        !           156: 
        !           157: #define DS_ERROR_CONNECT -2     /* Failed to connect to a remote DSA    */
        !           158: #define DS_ERROR_PROVIDER -3    /* Other OSI provider error             */
        !           159: #define DS_X500_ERROR  -4      /* Synonym for remote error */
        !           160: #define DS_ERROR_REMOTE -4      /* Remote error.  Further details will  */
        !           161:                                /* be in the error parameter            */
        !           162: 
        !           163: #define DS_CONTINUE -5         /* operation not finished... continuing */
        !           164: #define DS_SUSPEND -6          /* operation has deliberately suspended */
        !           165: #define DS_ERROR_ABANDONED -7  /* RoIntr caused succesful ds_abandon */
        !           166: #define DS_ERROR_ABANDON_FAILED -8     /* RoIntr caused unsuccesful ds_abandon */
        !           167: 
        !           168: #define ERR_ABANDON_FAIL dse_un.dse_un_abandon_fail
        !           169: #define ERR_ATTRIBUTE    dse_un.dse_un_attribute
        !           170: #define ERR_NAME         dse_un.dse_un_name
        !           171: #define ERR_REFERRAL     dse_un.dse_un_referral
        !           172: #define ERR_SECURITY     dse_un.dse_un_security
        !           173: #define ERR_SERVICE      dse_un.dse_un_service
        !           174: #define ERR_UPDATE       dse_un.dse_un_update
        !           175: #define ERR_ALIAS        dse_un.dse_un_alias
        !           176: 
        !           177: #endif

unix.superglobalmegacorp.com

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