HP C
Run-Time Library Reference Manual for OpenVMS Systems


Previous Contents Index


[w]delch

Delete the character on the specified window at the current position of the cursor. The delch function operates on the stdscr window.

Format

#include <curses.h>

int delch();

int wdelch (WINDOW *win);


Argument

win

A pointer to the window.

Description

All of the characters to the right of the cursor on the same line are shifted to the left, and a blank character is appended to the end of the line.

Return Values

OK Indicates success.
ERR Indicates an error.

delete

Deletes a file.

Format

#include <unixio.h>

int delete (const char *file_spec);


Argument

file_spec

A pointer to the string that is an OpenVMS or UNIX style file specification. The file specification can include a wildcard in its version number (but not in any other part of the file spec). So, for example, files of the form filename.txt;* can be deleted.

Description

If you specify a directory in the file name and it is a search list that contains an error, HP C for OpenVMS Systems interprets it as a file error.

When delete is used to delete a symbolic link, the link itself is deleted, not the file to which it refers.

The remove and delete functions are functionally equivalent in the HP C RTL.

See also remove .

Note

The delete routine is not available to C++ programmers because it conflicts with the C++ reserved word delete . C++ programmers should use the ANSI/ISO C standard function remove instead.

Return Values

0 Indicates success.
nonzero value Indicates that the operation has failed.

[w]deleteln

Delete the line at the current position of the cursor. The deleteln function acts on the stdscr window.

Format

#include <curses.h>

int deleteln();

int wdeleteln (WINDOW *win);


Argument

win

A pointer to the window.

Description

Every line below the deleted line moves up, and the bottom line becomes blank. The current (y,x) coordinates of the cursor remain unchanged.

Return Values

OK Indicates success.
ERR Indicates an error.

delwin

Deletes the specified window from memory.

Format

#include <curses.h>

int delwin (WINDOW *win);


Argument

win

A pointer to the window.

Description

If the window being deleted contains a subwindow, the subwindow is invalidated. Delete subwindows before deleting their parent. The delwin function refreshes all windows covered by the deleted window.

Return Values

OK Indicates success.
ERR Indicates an error.

difftime

Computes the difference, in seconds, between the two times specified by the time1 and time2 arguments.

Format

#include <time.h>

double difftime (time_t time2, time_t time1);


Arguments

time2

A time value of type time_t .

time1

A time value of type time_t .

Description

The type time_t is defined in the <time.h> header file as follows:


typedef unsigned long int time_t 


Return Value

n time2 - time1 in seconds expressed as a double .

dirname

Reports the parent directory name of a file pathname.

Format

#include <libgen.h>

char *dirname (char *path);

Function Variants The dirname function has variants named _dirname32 and _dirname64 for use with 32-bit and 64-bit pointer sizes, respectively. See Section 1.10 for more information on using pointer-size-specific functions.

Argument

path

The file pathname.

Description

The dirname function takes a pointer to a character string that contains a UNIX pathname and returns a pointer to a string that is a pathname of the parent directory of that file. Trailing slash (/) characters in the path are not counted as part of the path.

This function returns a pointer to the string "." (dot), when the path argument:

The dirname function can modify the string pointed to by the path argument.

The dirname and basename functions together yield a complete pathname. The expression dirname (path) obtains the pathname of the directory where basename (path) is found.

See also basename .


Return Values

x A pointer to a string that is the parent directory of the path argument.
"." The path argument:
  • Does not contain a slash (/).
  • Is a NULL pointer.
  • Points to an empty string.

Example

Using the dirname function, the following example reads a pathname, changes the current working directory to the parent directory, and opens a file.


    char path [MAXPATHLEN], *pathcopy; 
    int fd; 
 
    fgets(path, MAXPATHLEN, stdin); 
    pathcopy = strdup(path); 
    chdir(dirname(pathcopy)); 
    fd = open(basename(path), O_RDONLY); 


div

Returns the quotient and the remainder after the division of its arguments.

Format

#include <stdlib.h>

div_t div (int numer, int denom);


Arguments

numer

A numerator of type int .

denom

A denominator of type int .

Description

The type div_t is defined in the standard header file <stdlib.h> as follows:


typedef struct 
        { 
             int   quot, rem; 
        } div_t; 


dlclose

Deallocates the address space for a shared library.

Format

#include <dlfcn.h>

void dlclose (void *handle);


Argument

handle

Pointer to the shared library.

Description

The dlclose function deallocates the address space allocated by the HP C RTL for the handle.

There is no way on OpenVMS systems to unload a shareable image dynamically loaded by the LIB$FIND_IMAGE_SYMBOL routine, which is the routine called by the dlsym function. In other words, there is no way on OpenVMS systems to release the address space occupied by the shareable image brought into memory by dlsym .


dlerror

Returns a string describing the last error that occurred from a call to dlopen , dlclose , or dlsym .

Format

#include <dlfcn.h>

char *dlerror (void);


Return Value

x A string describing the last error that occurred from a call to dlopen , dlclose , or dlsym .

dlopen

Provides an interface to the dynamic library loader to allow shareable images to be loaded and called at run time.

Format

#include <dlfcn.h>

void *dlopen (char *pathname, int mode);


Arguments

pathname

The name of the shareable image. This name is saved for subsequent use by the dlsym function.

mode

This argument is ignored on OpenVMS systems.

Description

The dlopen function provides an interface to the dynamic library loader to allow shareable images to be loaded and called at run time.

This function does not load a shareable image but rather saves its pathname argument for subsequent use by the dlsym function. dlsym is the function that actually loads the shareable image through a call to LIB$FIND_IMAGE_SYMBOL.

The pathname argument of the dlopen function must be the name of the shareable image. This name is passed as-is by the dlsym function to the LIB$FIND_IMAGE_SYMBOL routine as the filename argument. No image-name argument is specified in the call to LIB$FIND_IMAGE_SYMBOL, so default file specification of SYS$SHARE:.EXE is applied to the image name.

The dlopen function returns a handle that is used by a dlsym or dlclose call. If an error occurs, a NULL pointer is returned.


Return Values

x A handle to be used by a dlsym or dlclose call.
NULL Indicates an error.

dlsym

Returns the address of the symbol name found in a shareable image.

Format

#include <dlfcn.h>

void *dlsym (void *handle, char *name);


Arguments

handle

Pointer to the shareable image.

name

Pointer to the symbol name.

Description

The dlsym function returns the address of the symbol name found in the shareable image corresponding to handle. If the symbol is not found, a NULL pointer is returned.

As of OpenVMS Version 7.3-2, library symbols containing lowercase characters can be loaded using the dlsym function. More generally, the functions that dynamically load libraries ( dlopen , dlsym , dlclose , dlerror ) are enhanced to provide the following capabilities:


Return Values

x Address of the symbol name found.
NULL Indicates that the symbol was not found.

drand48

Generates uniformly distributed pseudorandom-number sequences. Returns 48-bit, nonnegative, double-precision floating-point values.

Format

#include <stdlib.h>

double drand48 (void);


Description

The drand48 function generates pseudorandom numbers using the linear congruential algorithm and 48-bit integer arithmetic.

It returns nonnegative, double-precision, floating-point values uniformly distributed over the range of y values such that 0.0 <= y < 1.0.

Before you call drand48 , use either srand48 , seed48 , or lcong48 to initialize the random-number generator. You must initialize prior to invoking the drand48 function because it stores the last 48-bit Xi generated into an internal buffer. (Although it is not recommended, constant default initializer values are supplied automatically if the drand48 , lrand48 , or mrand48 functions are called without first calling an initialization function.)

The drand48 function works by generating a sequence of 48-bit integer values, Xi, according to the linear congruential formula:


       Xn+1 = (aXn+c)mod m        n >= 0 

The argument m equals 248 , so 48-bit integer arithmetic is performed. Unless you invoke lcong48 , the multiplier value a and the addend value c are:


     a = 5DEECE66D16 = 2736731631558
     c = B16 = 138

The values returned by drand48 are computed by first generating the next 48-bit Xi in the sequence. Then the appropriate bits, according to the type of returned data item, are copied from the high-order (most significant) bits of Xi and transformed into the returned value.

See also srand48 , seed48 , lcong48 , lrand48 , and mrand48 .


Return Value

n A nonnegative, double-precision, floating-point value.

dup, dup2

Allocate a new descriptor that refers to a file specified by a file descriptor returned by open , creat , or pipe .

Format

#include <unistd.h>

int dup (int file_desc1);

int dup2 (int file_desc1, int file_desc2);


Arguments

file_desc1

The file descriptor being duplicated.

file_desc2

The new file descriptor to be assigned to the file designated by file_desc1.

Description

The dup function causes a previously unallocated descriptor to refer to its argument, while the dup2 function causes its second argument to refer to the same file as its first argument.

The argument file_desc1 is invalid if it does not describe an open file; file_desc2 is invalid if the new file descriptor cannot be allocated. If file_desc2 is connected to an open file, that file is closed.


Return Values

n The new file descriptor.
- 1 Indicates that an invalid argument was passed to the function.

[no]echo

Set the terminal so that characters may or may not be echoed on the terminal screen. This mode of single-character input is only supported with Curses.

Format

#include <curses.h>

void echo (void);

void noecho (void);


Description

The noecho function may be helpful when accepting input from the terminal screen with wgetch and wgetstr ; it prevents the input characters from being written onto the screen.

ecvt

Converts its argument to a null-terminated string of ASCII digits and returns the address of the string. The string is stored in a thread-specific memory location created by the HP C RTL.

Format

#include <stdlib.h>

char *ecvt (double value, int ndigits, int *decpt, int *sign);


Arguments

value

An object of type double that is converted to a null-terminated string of ASCII digits.

ndigits

The number of ASCII digits to be used in the converted string.

decpt

The position of the decimal point relative to the first character in the returned string. A negative int value means that the decimal point is decpt number of spaces to the left of the returned digits (the spaces being filled with zeros). A 0 value means that the decimal point is immediately to the left of the first digit in the returned string.

sign

An integer value that indicates whether the value argument is positive or negative. If value is negative, the function places a nonzero value at the address specified by sign. Otherwise, the function assigns 0 to the address specified by sign.

Description

The ecvt function converts value to a null-terminated string of length ndigits, and returns a pointer to it. The resulting low-order digit is rounded to the correct digit for outputting ndigits digits in C E-format. The decpt argument is assigned the position of the decimal point relative to the first character in the string.

Repeated calls to the ecvt function overwrite any existing string.

The ecvt , fcvt , and gcvt functions represent the following special values specified in the IEEE Standard for floating-point arithmetic:
Value Representation
Quiet NaN NaNQ
Signalling NaN NaNS
+Infinity Infinity
- Infinity - Infinity

The sign associated with each of these values is stored into the sign argument. In IEEE floating-point representation, a value of 0 (zero) can be positive or negative, as set by the sign argument.

See also gcvt and fcvt .


Return Value

x The value of the converted string.

encrypt

Encrypts a string using the key generated by the setkey function.

Format

#include <unistd.h>

#include <stdlib.h>

void encrypt (char *block[64], int edflag;)


Argument

block

A character array of length 64 containing 0s and 1s.

edflag

An integer. If edflag is 0, the argument is encrypted; if nonzero, it is decrypted.

Description

The encrypt function encrypts a string using the key generated by the setkey function.

The first argument to encrypt is a character array of length 64 containing 0s and 1s. The argument array is modified in place to a similar array representing the bits of the argument after having been subjected to the DES algorithm using the key set by setkey .

The second argument, edflag, determines whether the first argument is encrypted or decrypted: if edflag is 0, the first argument array is encrypted; if nonzero, it is decrypted.

No value is returned.

See also crypt and setkey .


Return Value

pointer Pointer to the encrypted password.


Previous Next Contents Index