[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

3641.0. "REGISTER NOT WORKING - URGENT" by AEOEN2::BOURDILLON () Thu Aug 27 1992 12:01

I have marked this urgent since no one has replied to my first question (Note 3471.0 
on 30 July 1992, which was clarified in a reply). Since it was probably too obscure,
I am putting it in another way here.

If a guru reads this and it doesn't make sense, please tell me!

I have written an Access Module, which uses Register, Enable, Set, Show, Create, etc. 
directives. All of the directives, including the Register directive, return a
cvr of MCC_S_RESPONSE, MCC_S_COMMON_EXCEPTION or MCC_S_SPECIALIZED_EXCEPTION. I have a 
test harness which allows me to seed errors in the directives. Using this I am able to 
generate the full range of errors and successes for all directives except for the 
Register directive. This is especially puzzling since the Register directive seems to
return the correct exception data. Below are two examples of the Register directive, with
tracing on.


(REGISTER directive success .......)

MCC> register smssif aasd
Entering do_directive for SMSSIF REGISTER
  ......
Leaving Directive with cvr=52854857 and reply_index=17
Entering do_directive for SMSSIF SHOW
  ....
Entering get_smssif_id
Leaving get_smssif_id with status = 52854793
  ....
Leaving Directive with cvr=52854857 and reply_index=17

[  0 ] (
    [  1 ] (
        [  1 ] (
            [  1 ]          05
            [  2 ]          aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00 08 00 01 04 61 61
            73 64 00 00
            [  3 ]          00
            )
        )
    )
Entering do_directive for SMSSIF DEREGISTER
Leaving Directive with cvr = 52854857 and reply_index = 16

SMSSIF AEO825_NS:.aasd
AT 27-AUG-1992 16:23:01

Registration successful





(REGISTER directive failure ......)


MCC> register smssif aasd
Entering do_directive for SMSSIF REGISTER
   ......
Leaving Directive with cvr=52854881 and reply_index=16

[  11 ] (
    [  1 ]      7b   -- {
    )
SMSSIF AEO825_NS:.aasd
AT 27-AUG-1992 16:12:09

Registration successful
MCC>






Is this the correct behaviour for the Registration FM? According to the specification,
Deregister should only be called if the Register directive fails.

Also why does the Registration FM say that the Registration is successful when it
returns bad status?



Ben
T.RTitleUserPersonal
Name
DateLines
3641.1Need further investigationTOOK::TANEd TanFri Aug 28 1992 16:359
    Hi Ben,
    	This is to let you know that I am looking into your problem. I need
    to do some investigation and might need more information from you.
    
    	I used to work on Registration FM but now no one is "in charge of"
    this module. For the past few months have been busy trying to ship EFT
    of another product, didn't monitor this note conference.
    
    /Ed
3641.2Please provide more informationTOOK::TANEd TanFri Aug 28 1992 16:4417
    Hi Ben,
    	Could you send your MSL for your global entity smssif to me at
    TOOK::TAN.
    
    	Also, you can define a logical to trace REGISTRATION FM. Do the
    following and go into MCC and issue your register command again, and
    please post it the log here or send it to me.
    
    
    $ DEFINE MCC_REGISTRATION_FM_LOG 6
    $ MANAGE/ENTER
    
    MCC> REGISTER SMSSIF ASSD
    ...
    
    /Ed
                           
3641.3More information!AEOEN1::BOURDILLONTue Sep 01 1992 06:151425
Ed,

Here is the trace of the SMSSIF register and deregister commands for both
normal and exception completion status. I have appended
the MSL for the global entity SMSSIF to the end of this
note.

Thank you for the help.


Ben




***********************************************************************



AEOEN2\BEN>def mcc_smssif_am_log 4
AEOEN2\BEN>def mcc_registration_fm_log 6
AEOEN2\BEN>mcc
DECmcc (V1.2.0)


***********************************************************************

First the correct Registration of the entity

***********************************************************************


MCC> register smssif aasd
Saving mcc_registration_fm bit mask (6)
%MCC-E-REVECTCONFLICT, revectoring conflict
-SYSTEM-F-DEBUG, command interpreter debugger signal at PC=000F2B4C, PSL=03C0000
0
%TRACE-E-TRACEBACK, symbolic stack dump follows
module name     routine name                     line       rel PC    abs PC

                                                           000F2B4C  000F2B4C
----- above condition handler called with exception 0000046C:
%SYSTEM-F-DEBUG, command interpreter debugger signal at PC=0031D6DD, PSL=03C0000
0
----- end of exception message
                                                           0031D6DD  0031D6DD
                                                           000A3165  000A3165
                                                           0007ACAB  0007ACAB
                                                           0007546C  0007546C
                                                           00085BB1  00085BB1
                                                           000A326D  000A326D
                                                           000EFF3F  000EFF3F
                                                           000B00AB  000B00AB
                                                           000AFDB3  000AFDB3
                                                           000AFD35  000AFD35
                                                           000AF775  000AF775
                                                           000AF258  000AF258
                                                           000AF077  000AF077
                                                           001C8924  001C8924
                                                           001C9636  001C9636
                                                           001C813D  001C813D
                                                           001CB305  001CB305
                                                           001CA6DB  001CA6DB
                                                           001C7608  001C7608
                                                           001C5E0C  001C5E0C
                                                           000C5076  000C5076
MCC_MAIN        main                             7687      00000208  000020B4
                                                           0000596F  0000596F
MCC_KERNEL_INIT MCC_KERNEL_INITIALIZE             163      00000027  000059A3
                                                           0000594A  0000594A
Entering REGISTER

IN_ENTITY:
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000

IN_P:


IN_Q:

%MCC-E-REVECTCONFLICT, revectoring conflict
-SYSTEM-F-DEBUG, command interpreter debugger signal at PC=000F2B4C, PSL=03C0000
0
%TRACE-E-TRACEBACK, symbolic stack dump follows
module name     routine name                     line       rel PC    abs PC

                                                           000F2B4C  000F2B4C
----- above condition handler called with exception 0000046C:
%SYSTEM-F-DEBUG, command interpreter debugger signal at PC=00326DE8, PSL=03C0000
0
----- end of exception message
                                                           00326DE8  00326DE8
                                                           0007492A  0007492A
                                                           00085B91  00085B91
                                                           000DA363  000DA363
                                                           0032576F  0032576F
                                                           0031DC2F  0031DC2F
                                                           000A3165  000A3165
                                                           0007ACAB  0007ACAB
                                                           0007546C  0007546C
                                                           00085BB1  00085BB1
                                                           000A326D  000A326D
                                                           000EFF3F  000EFF3F
                                                           000B00AB  000B00AB
                                                           000AFDB3  000AFDB3
                                                           000AFD35  000AFD35
                                                           000AF775  000AF775
                                                           000AF258  000AF258
                                                           000AF077  000AF077
                                                           001C8924  001C8924
                                                           001C9636  001C9636
                                                           001C813D  001C813D
                                                           001CB305  001CB305
                                                           001CA6DB  001CA6DB
                                                           001C7608  001C7608
                                                           001C5E0C  001C5E0C
                                                           000C5076  000C5076
MCC_MAIN        main                             7687      00000208  000020B4
                                                           0000596F  0000596F
MCC_KERNEL_INIT MCC_KERNEL_INITIALIZE             163      00000027  000059A3
                                                           0000594A  0000594A
Entering dict_mutex_init

Returning from dict_mutex_init
 

Built class node 20 in dict list

Entering routine cfg_get_operation_mode:

Leaving routine cfg_get_operation_mode:

Operation mode id is 0



Get registration state from DNS:

Global entity

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000


DNS attribute name is MCC_REGISTRATION_STATE



Global entity does not exist


Calling register AM entry point

Entering do_directive for SMSSIF REGISTER
Entering get_smsa_from_agent
Entering mcc_smssif_get_idname with level=0
Leaving mcc_smssif_get_idname with name = aasd
Entering mcc_smssif_send_command with Q 0 and msg = 27
Entering mcc_smssif_init_comm
Response Queue : Group 2, Queue 203
Command Queue : Group 2, Queue 33
Entering get_agent_size with message type 27
Leaving get_agent_message_size, message size = 342
Entering mcc_smssif_get_response with Q 203 and msg = 27
Entering REGISTER SMSSIF create_reply with mcc status=52854793, agent status=0
Leaving REGISTER SMSSIF create_reply with mcc status=52854793, reply_index=17
Leaving Directive with cvr=52854857 and reply_index=17

OUT_P from register AM call

[  1 ] (
    )

Calling AM show entry point


IN_E to show idents AM call
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000
Entering do_directive for SMSSIF SHOW
Entering check_smssif_registered
Leaving check_smssif_registered with regd=1
Entering get_ident
Entering get_smssif_id
Leaving get_smssif_id with status = 52854793
Entering SHOW SMSSIF create_reply with mcc status=52854793, agent status=0
Leaving Directive with cvr = 52854857 and reply_index = 17

[  0 ] (
    [  1 ] (
        [  1 ] (
            [  1 ]             05
            [  2 ]             aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00 08 00 0
1 04 61 61
            73 64 00 00
            [  3 ]             00
            )
        )
    )
OUT_P from show idents AM call

[  0 ] (
    [  1 ] (
        [  1 ] (
            [  1 ]             05
            [  2 ]             aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00 08 00 0
1 04 61 61
            73 64 00 00
            [  3 ]             00
            )
        )
    )
OUT_E from show idents AM call
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000


Write registration state to DNS:

Global entity

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000


DNS attribute name is MCC_REGISTRATION_STATE

registration state is 10


ROLLINGBACK AM
Entering do_directive for SMSSIF DEREGISTER
Entering check_smssif_registered
Leaving check_smssif_registered with regd=1
Leaving Directive with cvr = 52854857 and reply_index = 16
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000

[  0 ] (
    [  1 ] (
        [  1 ] (
            [  1 ]             05
            [  2 ]             aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00 08 00 0
1 04 61 61
            73 64 00 00
            [  3 ]             00
            )
        )
    )
OUT_P:


[  1 ] (
    )
Returning from Register


SMSSIF AEO825_NS:.aasd
AT  1-SEP-1992 10:27:16

Registration successful
MCC>





***********************************************************************

Now the Deregistration of this entity

***********************************************************************


MCC> deregister smssif aasd
Saving mcc_registration_fm bit mask (6)
%MCC-E-REVECTCONFLICT, revectoring conflict
-SYSTEM-F-DEBUG, command interpreter debugger signal at PC=000F2B4C, PSL=03C0000
0
%TRACE-E-TRACEBACK, symbolic stack dump follows
module name     routine name                     line       rel PC    abs PC

                                                           000F2B4C  000F2B4C
----- above condition handler called with exception 0000046C:
%SYSTEM-F-DEBUG, command interpreter debugger signal at PC=0031F47C, PSL=03C0000
0
----- end of exception message
                                                           0031F47C  0031F47C
                                                           000A3165  000A3165
                                                           0007ACAB  0007ACAB
                                                           0007546C  0007546C
                                                           00085BB1  00085BB1
                                                           000A326D  000A326D
                                                           000EFF3F  000EFF3F
                                                           000B00AB  000B00AB
                                                           000AFDB3  000AFDB3
                                                           000AFD35  000AFD35
                                                           000AF775  000AF775
                                                           000AF258  000AF258
                                                           000AF077  000AF077
                                                           001C8924  001C8924
                                                           001C9636  001C9636
                                                           001C813D  001C813D
                                                           001CB305  001CB305
                                                           001CA6DB  001CA6DB
                                                           001C7608  001C7608
                                                           001C5E0C  001C5E0C
                                                           000C5076  000C5076
MCC_MAIN        main                             7687      00000208  000020B4
                                                           0000596F  0000596F
MCC_KERNEL_INIT MCC_KERNEL_INITIALIZE             163      00000027  000059A3
                                                           0000594A  0000594A
Entering DEREGISTER

IN_ENTITY:
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000

IN_P:


IN_Q:

p_fullname_entity is

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000



IN_P TO SHOW DOMAIN *:

[  1 ] (
    [  18 ] (
        [  1 ] (
            [  0 ] (
                [  1 ]                 01
                [  2 ]                 14
                [  3 ]                 01
                [  4 ]                 05
                [  5 ]                 aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00
 08 00 01 04 61 61
                73 64 00 00
                )
            )
        )
    )
IN_E TO SHOW DOMAIN *:
        entity [0] wild = INSTANCE_FULL class = 8

OUT_P FROM SHOW DOMAIN *:

[  2 ] (
    [  1 ]     01
    [  2 ]     03 26 d8 5a
    )
OUT_E FROM SHOW DOMAIN *:
        entity [0] wild = INSTANCE_FULL class = 8


Get registration state from DNS:

Global entity

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000


DNS attribute name is MCC_REGISTRATION_STATE



Global entity exists

registration state is 10


OUT_P:


[  1 ] (
    )
Returning from Deregister


SMSSIF AEO825_NS:.aasd
AT  1-SEP-1992 10:37:57

Deregistration successful.
MCC>





***********************************************************************

Now Registration of the entity with an exception returned

***********************************************************************


MCC> register smssif aasd
%MCC-E-REVECTCONFLICT, revectoring conflict
-SYSTEM-F-DEBUG, command interpreter debugger signal at PC=000F2B4C, PSL=03C0000
0
%TRACE-E-TRACEBACK, symbolic stack dump follows
module name     routine name                     line       rel PC    abs PC

                                                           000F2B4C  000F2B4C
----- above condition handler called with exception 0000046C:
%SYSTEM-F-DEBUG, command interpreter debugger signal at PC=0031D6DD, PSL=03C0000
0
----- end of exception message
                                                           0031D6DD  0031D6DD
                                                           000A3165  000A3165
                                                           0007ACAB  0007ACAB
                                                           0007546C  0007546C
                                                           00085BB1  00085BB1
                                                           000A326D  000A326D
                                                           000EFF3F  000EFF3F
                                                           000B00AB  000B00AB
                                                           000AFDB3  000AFDB3
                                                           000AFD35  000AFD35
                                                           000AF775  000AF775
                                                           000AF258  000AF258
                                                           000AF077  000AF077
                                                           001C8924  001C8924
                                                           001C9636  001C9636
                                                           001C813D  001C813D
                                                           001CB305  001CB305
                                                           001CA6DB  001CA6DB
                                                           001C7608  001C7608
                                                           001C5E0C  001C5E0C
                                                           000C5076  000C5076
MCC_MAIN        main                             7687      00000208  000020B4
                                                           0000596F  0000596F
MCC_KERNEL_INIT MCC_KERNEL_INITIALIZE             163      00000027  000059A3
                                                           0000594A  0000594A
Entering REGISTER

IN_ENTITY:
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000

IN_P:


IN_Q:

%MCC-E-REVECTCONFLICT, revectoring conflict
-SYSTEM-F-DEBUG, command interpreter debugger signal at PC=000F2B4C, PSL=03C0000
0
%TRACE-E-TRACEBACK, symbolic stack dump follows
module name     routine name                     line       rel PC    abs PC

                                                           000F2B4C  000F2B4C
----- above condition handler called with exception 0000046C:
%SYSTEM-F-DEBUG, command interpreter debugger signal at PC=00326DE8, PSL=03C0000
0
----- end of exception message
                                                           00326DE8  00326DE8
                                                           0007492A  0007492A
                                                           00085B91  00085B91
                                                           000DA363  000DA363
                                                           0032576F  0032576F
                                                           0031DC2F  0031DC2F
                                                           000A3165  000A3165
                                                           0007ACAB  0007ACAB
                                                           0007546C  0007546C
                                                           00085BB1  00085BB1
                                                           000A326D  000A326D
                                                           000EFF3F  000EFF3F
                                                           000B00AB  000B00AB
                                                           000AFDB3  000AFDB3
                                                           000AFD35  000AFD35
                                                           000AF775  000AF775
                                                           000AF258  000AF258
                                                           000AF077  000AF077
                                                           001C8924  001C8924
                                                           001C9636  001C9636
                                                           001C813D  001C813D
                                                           001CB305  001CB305
                                                           001CA6DB  001CA6DB
                                                           001C7608  001C7608
                                                           001C5E0C  001C5E0C
                                                           000C5076  000C5076
MCC_MAIN        main                             7687      00000208  000020B4
                                                           0000596F  0000596F
MCC_KERNEL_INIT MCC_KERNEL_INITIALIZE             163      00000027  000059A3
                                                           0000594A  0000594A
Entering dict_mutex_init

Returning from dict_mutex_init

Built class node 20 in dict list

Entering routine cfg_get_operation_mode:

Leaving routine cfg_get_operation_mode:

Operation mode id is 0



Get registration state from DNS:

Global entity

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000


DNS attribute name is MCC_REGISTRATION_STATE



Global entity does not exist


Calling register AM entry point

Entering do_directive for SMSSIF REGISTER
Entering get_smsa_from_agent
Entering mcc_smssif_get_idname with level=0
Leaving mcc_smssif_get_idname with name = aasd
Entering mcc_smssif_send_command with Q 0 and msg = 27
Entering mcc_smssif_init_comm
Response Queue : Group 2, Queue 204
Command Queue : Group 2, Queue 33
Entering get_agent_size with message type 27
Leaving get_agent_message_size, message size = 342
Entering mcc_smssif_get_response with Q 204 and msg = 27
Reply Error : Write SMSSIF aasd, Read SMSSIF aasd; status = 123
Entering REGISTER SMSSIF create_reply with mcc status=52854793, agent status=123
Entering build_invalid_reply
Leaving build_invalid_reply with status = 52854793
Leaving REGISTER SMSSIF create_reply with mcc status=52854881, reply_index=16
Leaving Directive with cvr=52854881 and reply_index=16

[  11 ] (
    [  1 ]     7b  -- {
    )
OUT_P from register AM call

[  11 ] (
    [  1 ]     7b  -- {
    )

Write registration state to DNS:

Global entity

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000


DNS attribute name is MCC_REGISTRATION_STATE

registration state is 10


OUT_P:


[  1 ] (
    )
Returning from Register


SMSSIF AEO825_NS:.aasd
AT  1-SEP-1992 10:41:17

Registration successful
MCC>





***********************************************************************

Now the Deregistration of the entity which should not be in the namespace

***********************************************************************

MCC> deregister smssif aasd
%MCC-E-REVECTCONFLICT, revectoring conflict
-SYSTEM-F-DEBUG, command interpreter debugger signal at PC=000F2B4C, PSL=03C0000
0
%TRACE-E-TRACEBACK, symbolic stack dump follows
module name     routine name                     line       rel PC    abs PC

                                                           000F2B4C  000F2B4C
----- above condition handler called with exception 0000046C:
%SYSTEM-F-DEBUG, command interpreter debugger signal at PC=0031F47C, PSL=03C0000
0
----- end of exception message
                                                           0031F47C  0031F47C
                                                           000A3165  000A3165
                                                           0007ACAB  0007ACAB
                                                           0007546C  0007546C
                                                           00085BB1  00085BB1
                                                           000A326D  000A326D
                                                           000EFF3F  000EFF3F
                                                           000B00AB  000B00AB
                                                           000AFDB3  000AFDB3
                                                           000AFD35  000AFD35
                                                           000AF775  000AF775
                                                           000AF258  000AF258
                                                           000AF077  000AF077
                                                           001C8924  001C8924
                                                           001C9636  001C9636
                                                           001C813D  001C813D
                                                           001CB305  001CB305
                                                           001CA6DB  001CA6DB
                                                           001C7608  001C7608
                                                           001C5E0C  001C5E0C
                                                           000C5076  000C5076
MCC_MAIN        main                             7687      00000208  000020B4
                                                           0000596F  0000596F
MCC_KERNEL_INIT MCC_KERNEL_INITIALIZE             163      00000027  000059A3
                                                           0000594A  0000594A
Entering DEREGISTER

IN_ENTITY:
        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000

IN_P:


IN_Q:

p_fullname_entity is

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000



IN_P TO SHOW DOMAIN *:

[  1 ] (
    [  18 ] (
        [  1 ] (
            [  0 ] (
                [  1 ]                 01
                [  2 ]                 14
                [  3 ]                 01
                [  4 ]                 05
                [  5 ]                 aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00
 08 00 01 04 61 61
                73 64 00 00
                )
            )
        )
    )
IN_E TO SHOW DOMAIN *:
        entity [0] wild = INSTANCE_FULL class = 8

OUT_P FROM SHOW DOMAIN *:

[  2 ] (
    [  1 ]     01
    [  2 ]     03 26 d8 5a
    )
OUT_E FROM SHOW DOMAIN *:
        entity [0] wild = INSTANCE_FULL class = 8


Get registration state from DNS:

Global entity

        entity [0] wild = NOT_WILD class = 20 id = 1 type = 5
        instance = �...� .�:?.......aasd..
        %XAA000400A6C22091EB3A3F18940008000104616173640000




DNS attribute name is MCC_REGISTRATION_STATE



Global entity exists

registration state is 10


OUT_P:


[  1 ] (
    )
Returning from Deregister


SMSSIF AEO825_NS:.aasd
AT  1-SEP-1992 10:56:35

Deregistration successful.
MCC> 





(****************************************************************************
**++
**
**  MODULE NAME:  MCC_SMSSIF_AM_SRVC_IF.MS
**
**  FACILITY:  
**	SMS
**
**  MODULE DESCRIPTION:
**	This contains the Management Specification language for the
**	SMSSIF entity
**
**  AUTHORS:
**      Ben Bourdillon
**
**  CREATION DATE:  30-07-92
**
**  DESIGN ISSUES:
**
**
**
**  MODIFICATION HISTORY:
**
**  04-08-92	JFBB	Changed name of mcc_smssif_reference_attributes.ms 
**			to mcc_smssif_reference_attribs.ms because cocoon
**			adds the prefix MGMT$SRC_ which brings the previous
**			name to more than 39 chars.
**			Added Number of Failures and Number of Restarts to 
**			Counters Partition
**  13-08-92	JFBB	1. SMSSIF Events text tidied up. (Events were not used
**			   in BL0.)
**			2. Corrections made, so that Events numbers and 
**			   Attribute numbers do not clash.
**  26-08-92	JFBB	SMSSIF global entity set to 20 (registration authority)
**
***************************************************************************)



MANAGEMENT SPECIFICATION MCC_SMSSIF_AM_SRVC_IF;
    VERSION = V1.0.0;
    SYMBOL-PREFIX = MCC_;



    (* Include the general types *)

    INCLUDE mcc_smssif_types.ms;



GLOBAL ENTITY SMSSIF = 20 :
    IDENTIFIER = (Name),
    SYMBOL = CLASS_SMSSIF,




    IDENTIFIER ATTRIBUTES

	ATTRIBUTE Name = 1 : FullName
	    DNS_IDENT = PRIMARY_NAME,
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_NAME,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Name;

    END ATTRIBUTES; (* IDENTIFIER *)






    (* Include REGISTRATION FM Reference Attributes *)


    INCLUDE MCC_SMSSIF_REFERENCE_ATTRIBS.MS;




    CHARACTERISTIC ATTRIBUTES

	ATTRIBUTE Node Name = 200 : Latin1String
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_NODE_NAME,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Node Name;


	ATTRIBUTE Component Name = 201 : Latin1String
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_COMPONENT_NAME,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE COMPONENT NAME;


	ATTRIBUTE Component Vers = 202 : Latin1String
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_COMPONENT_VERSION,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Component Vers;


	ATTRIBUTE Max Retries = 203 : Unsigned16
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_MAXIMUM_RETRIES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Max Retries;


	ATTRIBUTE Retry Timer = 204 : Unsigned16
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_RETRY_TIMER,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Retry Timer;


	ATTRIBUTE Attempt Timeout = 205 : Unsigned16
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_ATTEMPT_TIMEOUT,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Attempt Timeout;


	ATTRIBUTE Message Lifetime = 206 : Unsigned32
	    ACCESS = SETTABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_MESSAGE_LIFETIME,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Message Lifetime;


    END ATTRIBUTES; (* CHARACTERISTIC *)



    STATUS ATTRIBUTES

	ATTRIBUTE State = 300 : SMSSIF_STATE_TYPE
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_STATE,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE State;


	ATTRIBUTE Creation Time = 301 : BinAbsTim
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_CREATION_TIME,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Creation Time;


    END ATTRIBUTES; (* STATUS *)



    COUNTER ATTRIBUTES

	ATTRIBUTE Incoming Messages = 400 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_INCOMING_MESSAGES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Incoming Messages;


	ATTRIBUTE Outgoing Messages = 401 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_OUTGOING_MESSAGES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Outgoing Messages;


	ATTRIBUTE Discarded Incoming Messages = 402 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_DISC_IN_MESSAGES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Discarded Incoming Messages;


	ATTRIBUTE Discarded Outgoing Messages = 403 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_DISC_OUT_MESSAGES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Discarded Outgoing Messages;


	ATTRIBUTE Incoming Files = 404 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_INCOMING_FILES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Incoming Files;


	ATTRIBUTE Outgoing Files = 405 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_OUTGOING_FILES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Outgoing Files;


	ATTRIBUTE SMSA Connection = 406 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_SMSA_CONNECTION,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE SMSA Connection;


	ATTRIBUTE SMSA Connected = 407 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_SMSA_CONNECTED,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE SMSA Connected;


	ATTRIBUTE SCP Connection = 408 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_SCP_CONNECTION,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE SCP Connection;


	ATTRIBUTE SCP Connected = 409 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_SCP_CONNECTED,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE SCP Connected;


	ATTRIBUTE Timer Retries = 410 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_TIMER_RETRIES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Timer Retries;


	ATTRIBUTE Timer Maximum Retries = 411 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_TIMER_MAX_RETRIES,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Timer Maximum Retries;


	ATTRIBUTE Message Lifetime Expired = 412 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_MSG_LIFE_EXPIRED,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Message Lifetime Expired;


	ATTRIBUTE Number of Failures = 413 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_FAILURE_COUNT,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Number of Failures;


	ATTRIBUTE Number of Restarts = 414 : Counter32
	    ACCESS = NONSETABLE,
	    DISPLAY = TRUE,
	    SYMBOL = SMSSIF_RESTART_COUNT,
	    CATEGORIES = ( CONFIGURATION )
	END ATTRIBUTE Number of Restarts;


    END ATTRIBUTES; (* COUNTER *)




    EVENT PARTITION NOTIFICATION EVENTS = 16 :

	EVENT  SMSSIF Enabled = 600 :
	    DISPLAY = TRUE,
	    SYMBOL  = SMSSIF_EVT_ENABLED,
	    TEXT    = "The entity SMSSIF !<SMSSIF Name> has been enabled",

	    ARGUMENT SMSSIF Name = 1 : Latin1String
		DISPLAY = FALSE,
		SYMBOL  = ARG_EVT_SMSSIF_NAME
	    END ARGUMENT SMSSIF Name;

	END EVENT SMSSIF Enabled;


	EVENT  SMSSIF Disabled = 601 : 
	    DISPLAY = TRUE,
	    SYMBOL  = SMSSIF_EVT_DISABLED,
	    TEXT    = "The entity SMSSIF !<SMSSIF Name> has been disabled"

	    ARGUMENT SMSSIF Name = 1 : Latin1String
		DISPLAY = FALSE,
		SYMBOL  = ARG_EVT_SMSSIF_NAME
	    END ARGUMENT SMSSIF Name;

	END EVENT SMSSIF Disabled;


	EVENT  SMSSIF Fatal = 602 :
	    DISPLAY = TRUE,
	    SYMBOL  = SMSSIF_EVT_FATAL,
	    TEXT    = "A Fatal error has occurred in the entity 
		       SMSSIF !<SMSSIF Name>"

	    ARGUMENT SMSSIF Name = 1 : Latin1String
		DISPLAY = FALSE,
		SYMBOL  = ARG_EVT_SMSSIF_NAME
	    END ARGUMENT SMSSIF Name;

	END EVENT SMSSIF Fatal;



    END EVENT PARTITION NOTIFICATION EVENTS;




    (******************************************
    ** Directives for SMSSIF Class follow .....
    *******************************************)




    (* REGISTER *)

    DIRECTIVE REGISTER = 29 :
	DIRECTIVE-TYPE = ACTION,
	DISPLAY = TRUE,
	SYMBOL = CONFIG_REGISTER,
	CATEGORIES = ( CONFIGURATION ),

	REQUEST
	    (* No input arguments *)
	END REQUEST;


	RESPONSE Register Success = 1 :
	    SYMBOL = REGISTER_SUCCESS,
	    TEXT = "Registration successful",
	END RESPONSE Register Success;


	EXCEPTION Register Dup = 2 :
	    SYMBOL = REGISTER_DUP,
	    TEXT = "Entity already registered.",
	END EXCEPTION Register Dup;



	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE REGISTER;





    (* DEREGISTER *)

    DIRECTIVE DEREGISTER = 30 :
	DIRECTIVE-TYPE = ACTION,
	DISPLAY = TRUE,
	SYMBOL = CONFIG_DEREGISTER,
	CATEGORIES = ( CONFIGURATION ),

	REQUEST
	    (* No input arguments *)
	END REQUEST;


	RESPONSE Deregister Success = 1 :
	    SYMBOL = DEREGISTER_SUCCESS,
	    TEXT = "Deregistration successful.",
	END RESPONSE Deregister Success;


	EXCEPTION Deregister No Op = 2 :
	    SYMBOL = DEREGISTER_NO_OP,
	    TEXT = "Entity was not registered.",
	END EXCEPTION Deregister No Op;


    	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE DEREGISTER;






    (* ENABLE *)

    DIRECTIVE ENABLE = 14 :
	DIRECTIVE-TYPE = ACTION,
	CATEGORIES = ( CONFIGURATION ),

	REQUEST
	    (* No input arguments *)
	END REQUEST;


	RESPONSE Success = 0 :
	    SYMBOL = SMSSIF_ENABLE_SUCCESS,
	    TEXT = "SMSSIF instance enabled successfully.",
	END RESPONSE Success;


	EXCEPTION Already Enabled = 1 :
	    SYMBOL = SMSSIF_ENABLE_ENABLED,
	    TEXT = "SMSSIF instance is already enabled.",
	END EXCEPTION Already Enabled;


	EXCEPTION Not registered = 2 :
	    SYMBOL = SMSSIF_ENABLE_NOT_REG,
	    TEXT = "SMSSIF instance is not registered.",
	END EXCEPTION Not registered;



	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE ENABLE;





    (* DISABLE *)

    DIRECTIVE DISABLE = 15 :
	DIRECTIVE-TYPE = ACTION,
	CATEGORIES = ( CONFIGURATION ),

	REQUEST
	    (* No input arguments *)
	END REQUEST;


	RESPONSE Success = 0 :
	    SYMBOL = SMSSIF_DISABLE_SUCCESS,
	    TEXT = "SMSSIF instance disabled successfully.",
	END RESPONSE Success;


	EXCEPTION Disable Not Enabled = 1 :
	    SYMBOL = SMSSIF_DISABLE_NOT_EN,
	    TEXT = "SMSSIF instance was not enabled.",
	END EXCEPTION Disable Not Enabled;


	EXCEPTION Not registered = 2 :
	    SYMBOL = SMSSIF_DISABLE_NOT_REG,
	    TEXT = "SMSSIF instance is not registered.",
	END EXCEPTION Not registered;


    	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE DISABLE;





    (* SHOW *)

    DIRECTIVE SHOW = 1 :
	DIRECTIVE-TYPE = EXAMINE,
	CATEGORIES = ( CONFIGURATION ),


	REQUEST
	    (* No input arguments *)
	END REQUEST;


	RESPONSE Show Success = 0 :
	    SYMBOL = SMSSIF_SHOW_SUCCESS,
	    TEXT = "Examination of attributes shows : ",
	    ARGUMENT Show Values = 1 : Attrib_List
		SYMBOL = ARG_SMSSIF_SHOW_VALUES
	    END ARGUMENT Show values;
	END RESPONSE Show Success;



	EXCEPTION Not registered = 1 :
	    SYMBOL = SMSSIF_SHOW_NOT_REG,
	    TEXT = "SMSSIF instance is not registered.",
	END EXCEPTION Not registered;




    	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE SHOW;







    (* SET *)

    DIRECTIVE SET = 2 :
	DIRECTIVE-TYPE = MODIFY,
	CATEGORIES = ( CONFIGURATION ),

	REQUEST

	    ARGUMENT Modify List = 1 : Attrib_List
		ECHO = TRUE,
		DISPLAY = TRUE,
		REQUIRED = TRUE,
		DEFAULT = NO DEFAULT,
		SYMBOL = SET_MODIFY_LIST
	    END ARGUMENT Modify List;



	END REQUEST;


	RESPONSE Set Success = 0 :
	    SYMBOL = SMSSIF_SET_SUCCESS,
	    TEXT = "Modification completed successfully.",
	END RESPONSE Set Success;


	EXCEPTION Wrong State = 1 :
	    SYMBOL = SMSSIF_SET_WRONG_STATE,
	    TEXT = "SMSSIF instance must be disabled before this operation.",
	END EXCEPTION Wrong State;


	EXCEPTION Not registered = 2 :
	    SYMBOL = SMSSIF_SET_NOT_REG,
	    TEXT = "SMSSIF instance is not registered.",
	END EXCEPTION Not registered;


	EXCEPTION Unrecognised Argument = 3 :
	    SYMBOL = SMSSIF_SET_ARG_NOT_REC,
	    TEXT = "Argument not recognised.",
	END EXCEPTION Unrecognised Argument;


	EXCEPTION Value out of range = 4 :
	    SYMBOL = SMSSIF_SET_OOR,
	    TEXT = "Set value for attribute is out of range. Valid 
		    range is !<Min Value> to !<Max Value>",

	    ARGUMENT Min Value = 01 : UNSIGNED32
		DISPLAY = FALSE,
		SYMBOL  = ARG_SMSSIF_SET_MIN
            END ARGUMENT Min Value;

	    ARGUMENT Max Value = 02 : UNSIGNED32
		DISPLAY = FALSE,
		SYMBOL  = ARG_SMSSIF_SET_MAX
            END ARGUMENT Max Value;

	END EXCEPTION Value out of range;



    	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE SET;




    (* GETEVENT *)


    DIRECTIVE GETEVENT = 65 :
	DIRECTIVE-TYPE = EVENT,
	DISPLAY    = TRUE,
	CATEGORIES = ( ALL ),

        REQUEST
	    ARGUMENT Event List = 1 : EventIdList
		ECHO     = TRUE,
		DISPLAY  = TRUE,
		REQUIRED = TRUE,
		DEFAULT  = NO DEFAULT,
		SYMBOL   = ARG_EVENT_ID_LIST
	    END ARGUMENT Event List;
	END REQUEST;

	RESPONSE Event Received = 1 :
	    SYMBOL = SMSSIF_EVENT_RECEIVED,
	    TEXT   = "Event Received",
	    ARGUMENT Event Response = 01 : Event_report
		DISPLAY = TRUE,
		SYMBOL  = ARG_EVENT_REPORT
            END ARGUMENT Event Response;
	END RESPONSE Event Received;

	RESPONSE No More Events = 2 :
	    SYMBOL = SMSSIF_NO_MORE_EVENTS,
            TEXT   = "Time Scope of Interest Expired, No More Events"
	END RESPONSE No More Events;

	EXCEPTION Event Lost = 1 :
            SYMBOL = SMSSIF_EVENT_LOST,
            TEXT   = "Event Manager reported a Lost Event"
        END EXCEPTION Event Lost;


    	(* Now include common exceptions *)

	INCLUDE MCC_SMSSIF_COMMON_EXCEPTIONS.MS;



    END DIRECTIVE GETEVENT;




    (* Now include directives required for registration
    ** SET, SHOW, REGISTER and DEREGISTER are explicitly
    ** defined in this MSL file and so are not included
    *)


    INCLUDE MCC_SMSSIF_ERASE_DIRECTIVE.MS;
    INCLUDE MCC_SMSSIF_RENAME_DIRECTIVE.MS;
    INCLUDE MCC_SMSSIF_DIRECTORY_DIRECTIVE.MS;



END ENTITY SMSSIF;



END SPECIFICATION MCC_SMSSIF_AM_SRVC_IF.








3641.4The Solution (many thanks to Ed Tan)AEOEN1::BOURDILLONThu Sep 03 1992 08:5618
Thank you for the mail message, Ed.

The solution for anyone who has a similar problem is :

1. The Registration FM insists that SHOW SUCCESS is
   always defined to 1 in the MSL.

2. I was using an out-of-date Register verb.


The combination caused my problems and I am very
grateful to Ed Tan for solving them for me.


Thank you.


Ben
3641.5More explanation.TOOK::TANEd TanThu Sep 03 1992 23:44126
Here is the original mail message to Ben.
    
    ===========================================================================
    
	First of all, I would like to describe the DECmcc Registration of global
entity process so that you understand.

	When you register a global entity via FCL or Map, for example

MCC> REGISTER SMSSIF aasd

	the following steps should happen

1.  The REGISTRATION FM Register entry point (not your Register entry point) is
    called.

2.  If the fullname (aasd) is not registered completely, the fullname will be
    created in the namespace.

3.  Then your AM's Register entry point will be called with any in_p. Your AM's
    Register entry point can do whatever you need to do for this instance.

4.  Then your AM's SHOW IDENTIFIER entry point is called to get all the
    identifiers.

5.  For each identifiers returned that is not the fullname, it is put in the
    namespace.

6.  Then AM's SHOW ALL CHARACTERISTIC entry point is called to get all the
    characteristic attributes. The variant selectors are put in the namespace.

7.  The AM is called for all the child entities that should be registered
    (DYNAMIC = FALSE in the MSL)
    The child entity instances are put in the namespace.



	In your first log of correct Registration of the entity, the fullname is
put in the namespace. Then your AM's Register entry point is called and you
return success [ 1 ] (). Then your SHOW ALL IDENTIFIERS entry point is called
and you return in out_p the only one fullname identifier which is not correct.

	The incorrect out_p you return is

[  0 ] (
    [  1 ] (
	[  1 ] (
	    [  1 ]           05
	    [  2 ]	     aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00 08 00 01
04 61 61 73 64 00 00
	    [  3 ]	     00
	    )                                                                  
	)
    )


	In your MSL for DIRECTIVE SHOW, your RESPONSE for SHOW SUCCESS is

	RESPONSE Show Success = 0 :

	It should be changed to

	RESPONSE Show Success = 1 :

	Also when you return in out_p the SHOW IDENTIFIER reply it should be

[  1 ] (	<==  change this from 0 to 1
    [  1 ] (
	[  1 ] (
	    [  1 ]           05
	    [  2 ]	     aa 00 04 00 a6 c2 20 91 eb 3a 3f 18 94 00 08 00 01
04 61 61 73 64 00 00
	    [  3 ]	     00
	    )
	)
    )

	This 1 is the value you put in the mcc_l_id field of the ILVbuffer
in the call to mcc_ilv_put_param_begin when you build the out_p.

	Example:

	#define SMSSIF_SHOW_SUCCESS 1

	struct MCC_R_ILV_CONTEXT ILVout ;
	MCC_T_Descriptor *p_dsc_out_p ;

	...

	p_dsc_out_p->mcc_l_id = SMSSIF_SHOW_SUCCESS ;

	...

	status = mcc_ilv_put_param_begin(&ILVout, p_dsc_out_p) ;

=============================

	REGISTRATION FM is expecting a 1, not a 0. Also your AM's SHOW
IDENTIFIER entry point should return a status of MCC_S_RESPONSE (please check
this).


	This should take care of the first problem.


	For the second log of register, the fullname is put in the namespace.
Then your AM's Register entry point is called. It fails for whatever reason.
I have this question for your AM's Register entry point. When your AM's
Register entry point is called, what does it do? Please list all the tasks that
this entry point do.

	The reason that Registration is successful is first of all the fullname
is in the namespace, and secondly your MSL does not have support for partial
registration. So the Registration successful message is printed.

	Your REGISTER Directive in MSL is out of date. I am sending you the
new REGISTER Directive MSL in the next message. Please update your MSL with
this change.

	Please make the above two changes and send me the answer to the question
I have for you for further investigation. We are close to solving your
problem. Thanks.

/Ed