| hello Jerry,
I'm running the same executable file on two different ULTRIX/RISC systems.
The first one has DECmcc V1.3.0 installed, the seconde one has T1.3.1
installed. When running my program on the system having DECmcc V1.3.0, the
status returned by mcc_dict_translate_name_code() is MCC_S_NORMAL as well as
the mcc_code is returned.However, when running the same code on the system
having DECmcc T1.3.1 installed the status returned by
mcc_dict_translate_name_code() is the following '52875018' MCC_S_NOENTITY.
Find below the two system configurations as well as some dumps proceeded
before and after the call to mcc_dict_translate_name_code() on both systems.
node name rubix: DECstation 5000/125 ULTRIX 4.2-A
---------------
MCRBMSDICTT130 installed DECmcc Dictionary
MCRBMST130 installed DECmcc Basic Management System
node name solix: DECstation 5000/200 ULTRIX 4.3
---------------
MCRBMSDICTT131 installed DECmcc Dictionary
MCRBMST131 installed DECmcc Basic Management System
here after is an extract of my code.
status= mcc_aes_create(&entity_aes, &class, &instance, &wild_type);
if (status =! MCC_S_NORMAL) return(status);
instance_code.mcc_b_class = DSC_K_CLASS_S;
instance_code.mcc_b_dtype = DSC_K_DTYPE_T;
instance_code.mcc_b_flags = 0;
instance_code.mcc_b_ver = MCC_K_VER_DESCRIPTOR;
instance_code.mcc_l_id = MCC_K_NULL_PTR;
instance_code.mcc_l_dt = MCC_K_DT_UNSIGNED32;
instance_code.mcc_a_link = MCC_K_NULL_PTR;
instance_code.mcc_w_maxstrlen = 100;
instance_code.mcc_w_curlen = 0;
instance_code.mcc_a_pointer = (unsigned char *)&code;
status= mcc_dict_translate_name_code(
entity_aes,
&instance_code,
Rcode);
See after, the result of two dumps proceeded before and after the call to
mcc_dict_translate_name_code. Dumps have been proceeded on both systems
running the identical executable file.
--node rubix, running DECmcc V1.3.0
[2] stopped at [mcc_get_class_code:64 ,0x4002fc] Rcode);
(dbx) call mcc_aes_dump(entity_aes)
entity [0] wild = NOT_WILD class = 1 id = 0 type = 3
instance = NODE4
mcc_aes_dump returns successfully
(dbx) dump **before the call to mcc_dict_translate_name_code()
mcc_get_class_code(class_name = 0x10001dd8 = "NODE4") ["mcc_return_primary_id.c":64, 0x4002fc]
instance = struct {
mcc_w_maxstrlen = 404
mcc_b_dtype = 14
mcc_b_class = 1
mcc_a_pointer = 0x10001dd8 = "NODE4"
mcc_w_curlen = 5
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 0
mcc_l_dt = 3
mcc_a_link = (nil)
}
status = 0
Rcode = struct {
rcode_l_sts = 4774888
rcode_l_stv = 268522496
}
class_str_len = 5
class_str = 0x32
entity_aes = 0x100b6a00
code = 0
class = 1
More (n if no)?y
wild_type = 1
instance_code = struct {
mcc_w_maxstrlen = 100
mcc_b_dtype = 14
mcc_b_class = 1
mcc_a_pointer = 0x7fffba20 = ""
mcc_w_curlen = 0
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 0
mcc_l_dt = 35
mcc_a_link = (nil)
}
(dbx)
[3] stopped at [mcc_get_class_code:66 ,0x400338] status= mcc_aes_delete(&entity_aes);
(dbx) dump **after the call to mcc_dict_translate_name_code()
mcc_get_class_code(class_name = 0x5) ["mcc_return_primary_id.c":66, 0x400338]
instance = struct {
mcc_w_maxstrlen = 27136
mcc_b_dtype = 11
mcc_b_class = 16
mcc_a_pointer = 0x326cf0a
mcc_w_curlen = 816
mcc_b_flags = 64
mcc_b_ver = 0
mcc_l_id = 269183488
mcc_l_dt = 2147465772
mcc_a_link = 0x48dbe8
}
status = 52854793
Rcode = struct {
rcode_l_sts = 4774888
rcode_l_stv = 268522496
}
class_str_len = 5
class_str = 0x32
entity_aes = 0x100b6a00
code = 12
class = 2
More (n if no)?y
wild_type = 0
instance_code = struct {
mcc_w_maxstrlen = 32777
mcc_b_dtype = 38
mcc_b_class = 3
mcc_a_pointer = 0x100b6a00 = "^A"
mcc_w_curlen = 4
mcc_b_flags = 255
mcc_b_ver = 127
mcc_l_id = 269183488
mcc_l_dt = 0
mcc_a_link = 0x100b6a00
}
(dbx)
--node solix, running DECmcc T1.3.1
[4] stopped at [mcc_get_class_code:64 ,0x4002fc] Rcode);
(dbx) call mcc_aes_dump(entity_aes)
entity [0] wild = NOT_WILD class = 1 id = 0 type = 3
instance = NODE4
mcc_aes_dump returns successfully
(dbx) dump **before the call to mcc_dict_translate_name_code()
mcc_get_class_code(class_name = 0x10001dd8 = "NODE4") ["mcc_return_primary_id.c]
Rcode = struct {
rcode_l_sts = 4774888
rcode_l_stv = 268522496
}
class_str_len = 5
class_str = 0x32
entity_aes = 0x100b3a00
code = 0
class = 1
wild_type = 1
instance_code = struct {
mcc_w_maxstrlen = 100
mcc_b_dtype = 14
mcc_b_class = 1
mcc_a_pointer = 0x7fffb4d0 = ""
mcc_w_curlen = 0
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 0
mcc_l_dt = 35
mcc_a_link = (nil)
}
instance = struct {
mcc_w_maxstrlen = 404
mcc_b_dtype = 14
mcc_b_class = 1
mcc_a_pointer = 0x10001dd8 = "NODE4"
mcc_w_curlen = 5
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 0
mcc_l_dt = 3
mcc_a_link = (nil)
}
status = 0
(dbx)
[6] stopped at [mcc_get_class_code:66 ,0x400338] status= mcc_aes_delete(&entity_aes);
(dbx) dump **after the call to mcc_dict_translate_name_code()
mcc_get_class_code(class_name = 0x10001dd8 = "NODE4") ["mcc_return_primary_id.c":66, 0x400338]
Rcode = struct {
rcode_l_sts = 4774888
rcode_l_stv = 268522496
}
class_str_len = 5
class_str = 0x32
entity_aes = 0x100b3a00
code = 0
class = 1
wild_type = 1
instance_code = struct {
mcc_w_maxstrlen = 100
mcc_b_dtype = 14
mcc_b_class = 1
mcc_a_pointer = 0x7fffb4d0 = ""
mcc_w_curlen = 0
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 0
mcc_l_dt = 35
mcc_a_link = (nil)
}
instance = struct {
mcc_w_maxstrlen = 404
mcc_b_dtype = 14
mcc_b_class = 1
mcc_a_pointer = 0x10001dd8 = "NODE4"
mcc_w_curlen = 5
mcc_b_flags = 0
mcc_b_ver = 1
mcc_l_id = 0
mcc_l_dt = 3
mcc_a_link = (nil)
}
status = 52875018
(dbx)
|
|
Having a quick look at your code, it seems that the MCC
data type you provide in your instance_code descriptor is
not correct :
> instance_code.mcc_l_dt = MCC_K_DT_UNSIGNED32;
should be
instance_code.mcc_l_dt = MCC_K_DT_LATIN1STRING;
It may be enough to justify the problem.
If not, no idea... :-)
Regards.
Pierre.
|