This commit was generated by cvs2svn to compensate for changes in r4, which
[gnokii.git] / include / links / cbus.h
diff --git a/include/links/cbus.h b/include/links/cbus.h
new file mode 100644 (file)
index 0000000..fba955e
--- /dev/null
@@ -0,0 +1,57 @@
+#ifndef __cbus_h
+#define __cbus_h
+
+#define CBUS_MAX_FRAME_LENGTH 256
+#define CBUS_MAX_TRANSMIT_LENGTH 256
+#define CBUS_MAX_MSG_LENGTH 256
+
+enum CBUS_RX_States {
+  CBUS_RX_Header,
+  CBUS_RX_FrameType1,
+  CBUS_RX_FrameType2,
+  CBUS_RX_GetLengthLB,
+  CBUS_RX_GetLengthHB,
+  CBUS_RX_GetMessage,
+  CBUS_RX_GetCSum
+};
+
+
+typedef struct{
+  int checksum;
+  int BufferCount;
+  enum CBUS_RX_States state;
+  int FrameHeader1;
+  int FrameHeader2;
+  int FrameType1;
+  int FrameType2;
+  int MessageLength;
+  unsigned char buffer[CBUS_MAX_FRAME_LENGTH];
+  u8 prev_rx_byte;
+} CBUS_IncomingFrame;
+
+typedef struct {
+  int message_length;
+  unsigned char buffer[CBUS_MAX_MSG_LENGTH];
+} CBUS_OutgoingMessage;
+
+typedef struct{
+  CBUS_IncomingFrame i;
+} CBUS_Link;
+
+GSM_Error CBUS_Initialise(GSM_Statemachine *state);
+
+void sendat(char *msg);
+
+#ifdef __cbus_c  /* Prototype functions for cbus.c only */
+
+GSM_Error CBUS_Loop(struct timeval *timeout);
+bool CBUS_OpenSerial();
+void CBUS_RX_StateMachine(unsigned char rx_byte);
+int CBUS_TX_SendFrame(u8 message_length, u8 message_type, u8 *buffer);
+int CBUS_SendMessage(u16 messagesize, u8 messagetype, void *message);
+int CBUS_TX_SendAck(u8 message_type, u8 message_seq);
+
+#endif   /* #ifdef __cbus_c */
+
+#endif   /* #ifndef __cbus_h */
+