NAME
PAPI_get_executable_info - get the executables address space info
CONTENTS
Synopsis
Description
Arguments
Return Values
Errors
Example
Data Structures
Authors
Bugs
See Also
SYNOPSIS
C Interface
#include <papi.h>
const PAPI_exe_info_t *PAPI_get_executable_info(void);
Fortran Interface
#include fpapi.h
PAPIF_get_exe_info(C_STRING fullname, C_STRING name,
C_LONG_LONG text_start,
C_LONG_LONG C_LONG_LONG data_start,
C_LONG_LONG data_end,
C_LONG_LONG C_LONG_LONG bss_end,
C_INT
DESCRIPTION
In C, this function returns a pointer to a structure containing information about
the current program. In Fortran, some fields of the structure are returned explicitly.
ARGUMENTS
The following arguments are implicit in the structure returned by the C function,
or explicitly returned by Fortran.
fullname -- fully qualified path + filename of the executable
name -- filename of the executable with no path information
text_start, text_end -- Start and End addresses of program text segment
data_start, data_end -- Start and End addresses of program data segment
bss_start, bss_end -- Start and End addresses of program bss segment
RETURN VALUES
On success, the C function returns a non-NULL pointer,
and the Fortran function returns
PAPI_OK.
On error, NULL is returned by the C function,
and a non-zero error code is returned by the Fortran function.
ERRORS
PAPI_EINVAL | |
One or more of the arguments is invalid.
|
|
EXAMPLE
const PAPI_exe_info_t *prginfo = NULL;
if (PAPI_library_init(PAPI_VER_CURRENT) != PAPI_VER_CURRENT)
exit(1);
if ((prginfo = PAPI_get_executable_info()) == NULL)
exit(1);
printf("Start of user program is at %p\n",prginfo->text_start);
printf("End of user program is at %p\n",prginfo->text_end);
DATA STRUCTURES
typedef struct _papi_address_map {
char name[PAPI_MAX_STR_LEN];
caddr_t text_start; /* Start address of program text segment */
caddr_t text_end; /* End address of program text segment */
caddr_t data_start; /* Start address of program data segment */
caddr_t data_end; /* End address of program data segment */
caddr_t bss_start; /* Start address of program bss segment */
caddr_t bss_end; /* End address of program bss segment */
} PAPI_address_map_t;
typedef struct _papi_program_info {
char fullname[PAPI_MAX_STR_LEN]; /* path+name */
PAPI_address_map_t address_info;
} PAPI_exe_info_t;
AUTHORS
The PAPI Team. See them at the PAPI Web Site:
http://icl.cs.utk.edu/projects/papi
BUGS
Only the
text_start and
text_end fields are filled on every architecture.
SEE ALSO
PAPI_library_init (3),
PAPI_get_hardware_info (3),
PAPI_get_opt (3)
PAPI Programmers Reference | PAPI_get_executable_info (3) | November, 2003 |
|
|