accessors.c File Reference

#include "spebase.h"
#include "create.h"
#include <fcntl.h>
#include <errno.h>
#include <sys/mman.h>

Include dependency graph for accessors.c:

Go to the source code of this file.

Functions

void * _base_spe_ps_area_get (spe_context_ptr_t spe, enum ps_area area)
void * _base_spe_ls_area_get (spe_context_ptr_t spe)
 __attribute__ ((noinline))
int __base_spe_event_source_acquire (spe_context_ptr_t spe, enum fd_name fdesc)
void __base_spe_event_source_release (struct spe_context *spe, enum fd_name fdesc)
int __base_spe_spe_dir_get (spe_context_ptr_t spe)
int __base_spe_stop_event_source_get (spe_context_ptr_t spe)
int __base_spe_stop_event_target_get (spe_context_ptr_t spe)
int _base_spe_ls_size_get (spe_context_ptr_t spe)


Function Documentation

__attribute__ ( (noinline)   ) 

Definition at line 69 of file accessors.c.

00070 {
00071         return;
00072 }

int __base_spe_event_source_acquire ( spe_context_ptr_t  spe,
enum fd_name  fdesc 
)

Definition at line 74 of file accessors.c.

References _base_spe_open_if_closed().

Referenced by _event_spe_event_handler_deregister(), and _event_spe_event_handler_register().

00075 {
00076         return _base_spe_open_if_closed(spe, fdesc, 0);
00077 }

Here is the call graph for this function:

void __base_spe_event_source_release ( struct spe_context spectx,
enum fd_name  fdesc 
)

__base_spe_event_source_release releases the file descriptor to the specified event source

Parameters:
spectx Specifies the SPE context
fdesc Specifies the event source

Definition at line 79 of file accessors.c.

References _base_spe_close_if_open().

00080 {
00081         _base_spe_close_if_open(spe, fdesc);
00082 }

Here is the call graph for this function:

int __base_spe_spe_dir_get ( spe_context_ptr_t  spe  ) 

Definition at line 84 of file accessors.c.

References spe_context::base_private, and spe_context_base_priv::fd_spe_dir.

00085 {
00086         return spe->base_private->fd_spe_dir;
00087 }

int __base_spe_stop_event_source_get ( spe_context_ptr_t  spe  ) 

speevent users read from this end

Definition at line 92 of file accessors.c.

References spe_context::base_private, and spe_context_base_priv::ev_pipe.

00093 {
00094         return spe->base_private->ev_pipe[1];
00095 }

int __base_spe_stop_event_target_get ( spe_context_ptr_t  spe  ) 

speevent writes to this end

Definition at line 100 of file accessors.c.

References spe_context::base_private, and spe_context_base_priv::ev_pipe.

00101 {
00102         return spe->base_private->ev_pipe[0];
00103 }

void* _base_spe_ls_area_get ( spe_context_ptr_t  spe  ) 

Definition at line 64 of file accessors.c.

References spe_context::base_private, and spe_context_base_priv::mem_mmap_base.

00065 {
00066         return spe->base_private->mem_mmap_base;
00067 }

int _base_spe_ls_size_get ( spe_context_ptr_t  spe  ) 

_base_spe_ls_size_get returns the size of the local store area

Parameters:
spectx Specifies the SPE context

Definition at line 105 of file accessors.c.

References LS_SIZE.

00106 {
00107         return LS_SIZE;
00108 }

void* _base_spe_ps_area_get ( spe_context_ptr_t  spe,
enum ps_area  area 
)

Definition at line 30 of file accessors.c.

References spe_context::base_private, spe_context_base_priv::cntl_mmap_base, spe_context_base_priv::mfc_mmap_base, spe_context_base_priv::mssync_mmap_base, spe_context_base_priv::signal1_mmap_base, spe_context_base_priv::signal2_mmap_base, SPE_CONTROL_AREA, SPE_MFC_COMMAND_AREA, SPE_MSSYNC_AREA, SPE_SIG_NOTIFY_1_AREA, and SPE_SIG_NOTIFY_2_AREA.

00031 {
00032         void *ptr;
00033 
00034         switch (area) {
00035                 case SPE_MSSYNC_AREA:
00036                         ptr = spe->base_private->mssync_mmap_base;
00037                         break;
00038                 case SPE_MFC_COMMAND_AREA:
00039                         ptr = spe->base_private->mfc_mmap_base;
00040                         break;
00041                 case SPE_CONTROL_AREA:
00042                         ptr = spe->base_private->cntl_mmap_base;
00043                         break;
00044                 case SPE_SIG_NOTIFY_1_AREA:
00045                         ptr = spe->base_private->signal1_mmap_base;
00046                         break;
00047                 case SPE_SIG_NOTIFY_2_AREA:
00048                         ptr = spe->base_private->signal2_mmap_base;
00049                         break;
00050                 default:
00051                         errno = EINVAL;
00052                         return NULL;
00053                         break;
00054         }
00055 
00056         if (ptr == MAP_FAILED) {
00057                 errno = EACCES;
00058                 return NULL;
00059         }
00060 
00061         return ptr;
00062 }


Generated on Tue Dec 16 10:15:13 2008 for libspe2 by  doxygen 1.5.7.1