122514Sdarrenr/* 222514Sdarrenr * Copyright 2009, Haiku, Inc. All rights reserved. 353024Sguido * Distributed under the terms of the MIT License. 453024Sguido */ 553024Sguido#ifndef _DIGITAL_PORT_H 653024Sguido#define _DIGITAL_PORT_H 722514Sdarrenr 853024Sguido#include <BeBuild.h> 953024Sguido#include <SupportDefs.h> 1053024Sguido 1153024Sguido#include <stddef.h> 1253024Sguido 1322514Sdarrenr 1422514Sdarrenrclass BDigitalPort { 1522514Sdarrenrpublic: 1622514Sdarrenr BDigitalPort(); 1722514Sdarrenr virtual ~BDigitalPort(); 1822514Sdarrenr 1922514Sdarrenr status_t Open(const char* portName); 2022514Sdarrenr void Close(); 2122514Sdarrenr bool IsOpen(); 2222514Sdarrenr 2322514Sdarrenr ssize_t Read(uint8* buf); 2422514Sdarrenr ssize_t Write(uint8 value); 2522514Sdarrenr 2622514Sdarrenr status_t SetAsOutput(); 2722514Sdarrenr bool IsOutput(); 2822514Sdarrenr 2922514Sdarrenr status_t SetAsInput(); 3022514Sdarrenr bool IsInput(); 3122514Sdarrenr 3222514Sdarrenrprivate: 3322514Sdarrenr virtual void _ReservedDigitalPort1(); 3431183Speter virtual void _ReservedDigitalPort2(); 3531183Speter virtual void _ReservedDigitalPort3(); 3622514Sdarrenr 3722514Sdarrenr int fFd; 3822514Sdarrenr bool fIsInput; 3922514Sdarrenr uint32 _fReserved[3]; 4031183Speter}; 4131183Speter 4231183Speter#endif // _DIGITAL_PORT_H 4331183Speter 4422514Sdarrenr