Example #1
0
orl_return ELFENTRY ElfFini( elf_handle elf_hnd )
{
    orl_return          error;

    while( elf_hnd->first_file_hnd != NULL ) {
        error = ElfRemoveFileLinks( elf_hnd->first_file_hnd );
        if( error != ORL_OKAY ) return( error );
    }
    elf_hnd->funcs->free( elf_hnd );
    return( ORL_OKAY );
}
Example #2
0
orl_return ELFENTRY ElfFini( elf_handle elf_hnd )
{
    orl_return          error;

    while( elf_hnd->first_file_hnd != NULL ) {
        error = ElfRemoveFileLinks( elf_hnd->first_file_hnd );
        if( error != ORL_OKAY ) {
            return( error );
        }
    }
    ORL_PTR_FREE( elf_hnd, elf_hnd );
    return( ORL_OKAY );
}
Example #3
0
orl_return ELFENTRY ElfFileInit( elf_handle elf_hnd, void *file, elf_file_handle *pefh )
{
    elf_file_handle     elf_file_hnd;
    orl_return          error;

    elf_file_hnd = (elf_file_handle)elf_hnd->funcs->alloc( sizeof( elf_file_handle_struct ) );
    if( elf_file_hnd == NULL ) {
        return( ORL_OUT_OF_MEMORY );
    }
    elf_file_hnd->elf_sec_hnd = NULL;
    elf_file_hnd->file = file;
    elf_file_hnd->sec_name_hash_table = NULL;
    ElfAddFileLinks( elf_hnd, elf_file_hnd );
    error = ElfLoadFileStructure( elf_file_hnd );
    if( error != ORL_OKAY ) {
        ElfRemoveFileLinks( elf_file_hnd );
        elf_file_hnd = NULL;
    }
    *pefh = elf_file_hnd;
    return( error );
}
Example #4
0
orl_return ELFENTRY ElfFileFini( elf_file_handle elf_file_hnd )
{
    return( ElfRemoveFileLinks( elf_file_hnd ) );
}