/*
 *  Copyright (c) 1996-2007 Digi International Inc., All Rights Reserved
 *
 *  This software contains proprietary and confidential information of Digi
 *  International Inc.  By accepting transfer of this copy, Recipient agrees
 *  to retain this software in confidence, to prevent disclosure to others,
 *  and to make no use of this software other than that for which it was
 *  delivered.  This is an unpublished copyrighted work of Digi International
 *  Inc.  Except as permitted by federal law, 17 USC 117, copying is strictly
 *  prohibited.
 *
 *  Restricted Rights Legend
 *
 *  Use, duplication, or disclosure by the Government is subject to
 *  restrictions set forth in sub-paragraph (c)(1)(ii) of The Rights in
 *  Technical Data and Computer Software clause at DFARS 252.227-7031 or
 *  subparagraphs (c)(1) and (2) of the Commercial Computer Software -
 *  Restricted Rights at 48 CFR 52.227-19, as applicable.
 *
 *  Digi International Inc. 11001 Bren Road East, Minnetonka, MN 55343
 *
 * =======================================================================
 * This header file contains declarations for the serial device.
 *                                                                        
 *                                                                        
 * Edit Date/Ver   Edit Description
 * ==============  ===================================================
 *
 *
 */

#ifndef serlDev_h

#define serlDev_h
#ifdef __cplusplus
extern "C"
{
#endif
    
#define   COM1             "/com/0"
#define   COM2             "/com/1"


/* dev driver call back function prototypes */
extern int netos_serlenter (int channel);
extern int netos_serlinit (int channel);
extern int netos_serlopen (int channel, unsigned flags);
extern int netos_serlclose (int channel);
extern int netos_serlread (int channel, void * buffer, int length, int *bytesRead);
extern int netos_serlwrite (int channel, void * buffer, int length, int *bytesWritten);
extern int netos_serlioctl (int channel, int request, char *args);
extern int oldapi_serlioctl (int channel, int request, char *args);
extern int oldapi_serlread(int, void *, int, int *);
extern int oldapi_serlopen (int channel, unsigned flags);
extern int serl_port_index(int);
extern int netos_serlpoll(int channel, int insert_remove, int *checkMask, ulong context);

extern int sp_serlenter (int channel);
extern int sp_serlinit (int channel);
extern int sp_serlopen (int channel, unsigned flags);
extern int sp_serlclose (int channel);
extern int sp_serlread (int channel, void * buffer, int length, int *bytesRead);
extern int sp_serlwrite (int channel, void * buffer, int length, int *bytesWritten);
extern int sp_serlioctl (int channel, int request, char *args);
extern int sp_serlpoll(int channel, int insert_remove, int *checkMask, ulong context);

/* serial drivers through FIM */
extern int iop_serlinit (int channel);
extern int iop_serlopen (int channel, unsigned flags);
extern int iop_serlclose (int channel);
extern int iop_serlread (int channel, void * buffer, int length, int *bytesRead);
extern int iop_serlwrite (int channel, void * buffer, int length, int *bytesWritten);
extern int iop_serlioctl (int channel, int request, char *args);
extern int iop_serlpoll(int channel, int insert_remove, int *checkMask, ulong context);

#ifdef __cplusplus
}
#endif

#endif

