Previous | Contents | Index |
Add an entry to a database.
status = PMDF_database_add_entry
(database, entry, value, create_db, replace, setbits, bits)
Argument Data type Access Mechanism database signed longword read value entry descriptor read reference value descriptor read reference create_db boolean read value replace boolean read value setbits boolean read value bits unsigned longword read value
status = PMDFdatabaseAddEntry
(database, entry, entry_len, value, value_len, create_db, replace, setbits, bits)
int PMDFdatabaseAddEntry(int database, char *entry, int entry_len, char *value, int value_len, int create_db, int replace, int setbits, unsigned long int bits)
database
Database to add the entry to.entry
Entry to add to the database (e.g., alias name). Length of this string should not exceedKEY_LENGTH
for a short database orLONG_KEY_LENGTH
for a long database.entry_len
Length in bytes of the entry.value
Value to associate with the database entry (e.g., alias translation value). Length of this string should not exceedDATA_LENGTH
for a short database orLONG_DATA_LENGTH
for a long database.value_len
Length in bytes of the entry's value.create_db
When true, create the database if it does not already exist.replace
When true, replace the entry if one already exists in the database.setbits
When true, set control bits associated with a personal alias database entry.bits
Integer longword containing personal alias control bits.
PMDFdatabaseAddEntry
adds an entry to a database. If the database is not already opened, it will be opened. When no more database accesses are to be performed, the database should be closed withPMDFdatabaseClose
. The specified entry and its associated value will be added to the database. If the database does not exist, then it will be created if create_db is true; otherwise, aPMDF__CANOPNDAT
error will be returned and no database created. When a database is created, it will be created as a long database, if possible, and as a short database if not. If the specified entry already exists in the database, then it will be replaced if replace is true; otherwise, aPMDF__CANTUPDAT
error will be returned and no entry added. The length of the entry and its value can not exceed, respectively, the key and data lengths used by the database. PMDF databases come in two sizes: short and long. A short database uses a key length ofKEY_LENGTH
and a data length ofDATA_LENGTH
. A long database uses a key length ofLONG_KEY_LENGTH
and a data length ofLONG_DATA_LENGTH
. The values of these constants are given in Table 1-2. The database to use is specified with the database argument. The possible values for that argument are shown in Table 1-4. In that table, the second column gives the symbolic names for the different databases, as defined in the API include files described in Section 1.11. Whenever possible, programmers should use the symbolic names rather than the actual values.
The setbits and bits arguments are for use only with personal alias databases. When setbits is true, the control bits specified in the bit mask bits will be set for the alias. In this case, the length of value can not exceed DATA_LENGTH - 4 or LONG_DATA_LENGTH - 4. The bits in the bit mask bits control aspects of the alias and are shown in the table below:
Table 1-4 Database Symbolic Names and Values Database Symbolic name Value Alias PMDF_DATABASE_ALIAS 1 Domain PMDF_DATABASE_DOMAIN 3 PMDF-MR FROM_MR PMDF_DATABASE_FROM_MR 4 PMDF-X400 FROM_X400 PMDF_DATABASE_FROM_X400 5 General PMDF_DATABASE_GENERAL 6 Personal alias PMDF_DATABASE_PERSONAL_ALIAS 7 Address reversal PMDF_DATABASE_REVERSE 8 PMDF-MR TO_MR PMDF_DATABASE_TO_MR 9 PMDF-X400 TO_X400 PMDF_DATABASE_TO_X400 11 User profile PMDF_DATABASE_USER_PROFILE 12 Popstore forward PMDF_DATABASE_POPSTORE_FORWARD 13 Pipe PMDF_DATABASE_PIPE 15 Forward PMDF_DATABASE_FORWARD 16 PMDF_ALIAS_ADDRESS_BIT should always be set; otherwise, it will not be possible to manipulate the resulting alias from within the PMDF DB utility. PMDF_ALIAS_FAX_BIT should be set if the alias is to be manipulated from within PMDF DB's FAX mode. The API include files described in Section 1.11 provide values for the PMDF_ALIAS_ symbolic names.
Bit Usage PMDF_ALIAS_ADDRESS_BIT Alias translation value is an address or mailing list PMDF_ALIAS_FAX_BIT Alias translation value is a FAX address PMDF_ALIAS_PUBLIC_BIT When set, alias is public; when clear, alias is private PMDF_ALIAS_EXPAND_BIT When set, alias is expanded in message headers; when clear, alias is not expanded PMDF_ALIAS_RECEIPT_BIT When set, receipts are allowed to pass through; when clear, receipts are blocked
PMDF__OK Normal, successful completion. PMDF__BAD Bad parameter value: illegal value specified for database. PMDF__CANOPNDAT Database could not be opened. If it does not exist, then create_db must be true in order to force the creation of the database. PMDF__CANTUPDAT Cannot update the database. Attempt to add or replace the entry failed. PMDF__DUPENTRY Entry already exists and replace was false. No entry added. PMDF__ENTWONFIT Length of entry or value too long for database. No entry added. PMDF__INVSTRDES Invalid string descriptor for entry or value: one or both descriptors has an invalid value in its DSC$B_CLASS field. No entry added. PMDF__STRTRUERR Supplied string entry or value is too long. No entry added.
Previous | Next | Contents | Index |