[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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 |
1903.0. "%MCC-E-FULLNAME_ERROR, error in Full Name value" by ROM01::LILLI () Tue Dec 10 1991 04:20
Hello,
I'm developing an AM to control and monitor the DEFINITY Pabx (ATT);
I have some problems about the register directive, may be you can help me.
I follow the all steps write in the notes file and inside the MM programming:
. Manually add a DNS directory for the definity entities ie.
MCC_DEFINITY_BACKTRANSLATION
. Make shure DNS_IDENT is defined for each attribute in the identifier
partition:
GLOBAL ENTITY DEFINITY = 20 :
IDENTIFIER = (Name,Access_port),
DYNAMIC = FALSE,
SYMBOL = CLASS_DEFINITY,
IDENTIFIER ATTRIBUTES
ATTRIBUTE Name = 1 : FullName
DNS_IDENT = PRIMARY_NAME,
ACCESS = NONSETABLE,
DISPLAY = TRUE,
CATEGORIES = (CONFIGURATION),
SYMBOL = DEFINITY_NAME
END ATTRIBUTE Name;
ATTRIBUTE Access_port = 2 : Latin1String
DNS_IDENT = ALTERNATE_NAME,
ACCESS = NONSETABLE,
DISPLAY = TRUE,
CATEGORIES = (CONFIGURATION),
SYMBOL = DEFINITY_ADDR
END ATTRIBUTE Access_port;
END ATTRIBUTES;
. Adds the config directive and the reference attributes
. Make shure that SHOW DEFINITY <ENTITY> ALL IDENTIFIER works.
I use pseudo_entity inside the toolkit to respond to AM directive because I
have not the DEFINITY pabx :
MCC_DEFINITY_PSEUDO_DEFINITY.C
typedef struct
{ /* offsets for interface */
char Name[16]; /* 0 - 15 */
unsigned short Name_flag; /* 16 - 17 */
unsigned short Baud_rate; /* 18 - 19 */
unsigned short Baud_rate_flag; /* 20 - 21 */
unsigned short Word_length; /* 22 - 23 */
unsigned short Word_length_flag; /* 24 - 25 */
unsigned short Parity; /* 26 - 27 */
unsigned short Parity_flag; /* 28 - 29 */
unsigned short Stop_bit; /* 30 - 31 */
unsigned short Stop_bit_flag; /* 32 - 33 */
int Alarm_State; /* 34 - 37 */
unsigned short Alarm_State_flag; /* 38 - 39 */
int Session_State; /* 40 - 43 */
unsigned short Session_State_flag; /* 44 - 45 */
char Responsible_person[4]; /* 46 - 49 */
unsigned short Responsible_person_flag; /* 50 - 51 */
char phone_number[4]; /* 52 - 55 */
unsigned short phone_number_flag; /* 56 - 57 */
unsigned char Access_port[8]; /* 58 - 65 */
unsigned short Access_port_flag; /* 66 - 67 */
}dt_pseudo_DEFINITY;
static dt_pseudo_DEFINITY pseudo_DEFINITY_instance =
{
{'P','a','b','x','_','_','_','_','_','_','_','_','_','_','_','1'},
PSEUDO_ENTITY_READ_ATTRIBUTE,
9600,
PSEUDO_ENTITY_READ_ATTRIBUTE,
8,
PSEUDO_ENTITY_READ_ATTRIBUTE,
0,
PSEUDO_ENTITY_READ_ATTRIBUTE,
1,
PSEUDO_ENTITY_READ_ATTRIBUTE,
3,
PSEUDO_ENTITY_READ_ATTRIBUTE,
1,
PSEUDO_ENTITY_READ_ATTRIBUTE,
"Abc",
PSEUDO_ENTITY_READ_ATTRIBUTE,
"123",
PSEUDO_ENTITY_READ_ATTRIBUTE,
{'P','o','r','t','_','0','0','1'},
PSEUDO_ENTITY_READ_ATTRIBUTE
};
When I issue the :
MCC> sho definity pabx___________1 all attribute
DEFINITY ACTTL4_NS:.pabx___________1
AT 9-DEC-1991 16:32:48 All Attributes
Access_port = "Port_001"
Name =
%MCC-E-FULLNAME_ERROR, error in Full Name value
Alarm_State = Normal
Session_State = Off
Baud_rate = 9600
Parity = 0
Stop_bit = 1
Word_length = 8
MCC> sho definity pabx___________1 all identifier
DEFINITY ACTTL4_NS:.pabx___________1
AT 9-DEC-1991 17:35:31 Identifiers
Examination of attributes shows:
Access_port = "Port_001"
Name =
%MCC-E-FULLNAME_ERROR, error in Full Name value
%MCC-E-FULLNAME_ERROR, error in Full Name value
As you see I have an error in the full-name value so my
SHOW DEFINITY <INSTANCE> ALL IDENTIFIER does not work. Now my problem is to
understand how to assign inside the NAME Identifier Attribute (FULLName) the
pabx___________1.
Have you ever seen the following message :
%MCC-E-FULLNAME_ERROR, error in Full Name value
Any Idea ?
Thanks in advance
Raimondo
T.R | Title | User | Personal Name | Date | Lines |
---|
1903.1 | Some Sample Code | MOLAR::ROBERTS | Keith Roberts - DECmcc Toolkit Team | Thu Dec 12 1991 16:41 | 109 |
|
Raimondo
I hope you didn't think I forgot about you. We have been working very
hard to get the Field Test out the door. DECmcc for VMS is ready, and
the Ultrix kit should ready by Friday.
The problem you are having is with the Full Name datatype.
A Full Name is an abstract datatype; that is, contains data which you
can not directly access. In particular, the binary encoded DNS name
server information plus the ascii name which you provide.
To build a Full Name datatype you must call the DECmcc system routine:
mcc_dns_opaque_fullname
This routine will convert your simple text string name to the encoded
Full Name.
Here is a sample code segment. You will have to change this a bit for
your own application -- For Example, I put the DECmcc Descriptor on the
stack and of course when this routine returns, its gone!
To run this test program on VMS with the debugger:
$ cc/debug/noopt test.c
$ link/debug test,sys$input/option
sys$library:mcc_kernel_shr.exe/share
sys$library:mcc_kernel_init.obj
$ run test
It is *very* important to link with the Kernel Shr & Init routines
You are probably thinking that the SRM documentation on this subject is
inadequate; you are probably correct. The DECmcc Toolkit team is quite
aware of the documentation issues and is making great strides to
improve in these areas.
If I can be of any further help, please just ask.
Keith
--------------------------------------------------------------------
/************************************************************************
* *
* This program will demonstrate how to convert a simple character *
* array (char) to a DECmcc Full Name Datatype *
* *
* Keith Roberts *
* DECmcc Toolkit Team *
* 12-Dec-1991 *
* *
************************************************************************/
#include <mcc_interface_def.h>
#include <mcc_descrip.h>
main()
{
char *p_string;
MCC_T_Unsigned16 string_len;
MCC_T_FullName opaque_string;
MCC_T_Unsigned16 opaque_string_len;
MCC_T_Unsigned32 dns_status;
MCC_T_CVR status;
MCC_T_Descriptor fullname_dx;
/*
* Set up the character string to be used in makeing the FullName
*/
p_string = "pabx___________1";
string_len = strlen( p_string );
/*
* Call the DECmcc DNS routine to build the Full Name
*/
status = mcc_dns_opaque_fullname(
p_string,
&string_len,
&opaque_string,
&opaque_string_len,
&dns_status );
/*
* Set up the DECmcc Descriptor to point to the Full Name
* - The dtype field isn't important anymore, so just set it to 0
* - The flags field must be set to 0 (I suspect there is a literal
* code for this, but I don't know what it is)
* - I set the id field to 0, but you should use what ever code
* is correct for your application
*/
fullname_dx.mcc_w_maxstrlen = sizeof( opaque_string );
fullname_dx.mcc_w_curlen = opaque_string_len;
fullname_dx.mcc_b_dtype = 0;
fullname_dx.mcc_b_class = DSC_K_CLASS_S;
fullname_dx.mcc_b_flags = 0;
fullname_dx.mcc_b_ver = MCC_K_VER_DESCRIPTOR;
fullname_dx.mcc_l_dt = MCC_K_DT_FULL_NAME;
fullname_dx.mcc_l_id = 0;
fullname_dx.mcc_a_pointer = &opaque_string;
fullname_dx.mcc_a_link = MCC_K_NULL_PTR;
}
|