Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Examples

ex21.hpp

00001 /*
00002   CoreLinux++ 
00003   Copyright (C) 2000 CoreLinux Consortium
00004   
00005    The CoreLinux++ Library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public License as
00007    published by the Free Software Foundation; either version 2 of the
00008    License, or (at your option) any later version.
00009 
00010    The CoreLinux++ Library Library is distributed in the hope that it will 
00011    be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Library General Public License for more details.
00014 
00015    You should have received a copy of the GNU Library General Public
00016    License along with the GNU C Library; see the file COPYING.LIB.  If not,
00017    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018    Boston, MA 02111-1307, USA.  
00019 */   
00020 
00021 #if   !defined(__EX21_HPP)
00022 #define  __EX21_HPP
00023 
00024 #if   !defined(__COMMON_HPP)
00025 #include <corelinux/Common.hpp>
00026 #endif
00027 
00028 #if   !defined(__ABSTRACTSEMAPHORE_HPP)
00029 #include <corelinux/AbstractSemaphore.hpp>
00030 #endif
00031 
00032 #if   !defined(__MUTEXSEMAPHOREGROUP_HPP)
00033 #include <corelinux/MutexSemaphoreGroup.hpp>
00034 #endif
00035 
00036 #if   !defined(__MEMORY_HPP)
00037 #include <corelinux/Memory.hpp>
00038 #endif
00039 
00040 using namespace corelinux;
00041 
00042 //
00043 // Type declarations
00044 //
00045 
00046 struct   _TransferBlock
00047 {
00048    Int   theTotalSize;
00049    Int   theEntrySize;
00050    Char  theData[1];
00051 };
00052 
00053 DECLARE_TYPE( struct _TransferBlock, TransferBlock );
00054 
00055 //
00056 // Constants
00057 //
00058 
00059 const CharCptr  theSemName = {"ex21sem"};
00060 const CharCptr  theMemName = {"ex21mem"};
00061 
00062 static   SemaphoreIdentifier     theServerSemId(0);
00063 static   SemaphoreIdentifier     theClientSemId(1);
00064 
00065 
00066 #endif
00067 
00068 /*
00069    Common rcs information do not modify
00070    $Author: frankc $
00071    $Revision: 1.2 $
00072    $Date: 2000/06/05 02:39:42 $
00073    $Locker:  $
00074 */
00075 

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium