pcqueue.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 37 行

H
37
字号
#ifndef __PC_QUEUE_H
#define __PC_QUEUE_H

/*
 * asmpkt4.asm depends on '_pkt_inf' beeing packed
 */
#if (DOSX & DOS4GW)
#include <sys/packon.h>
#endif

struct pkt_ringbuf {
       volatile int   in_index;   /* queue index head */
       int            out_index;  /* queue index tail */
       int            buf_size;   /* size of each buffer */
       int            num_buf;    /* number of buffers */
       volatile DWORD num_drop;   /* number of dropped pkts */
       char          *buf_start;  /* start of buffer pool (linear addr)*/
#if (DOSX & DOS4GW)
       WORD           dos_ofs;    /* offset of pool, used by rmode stub */
#endif                            /* total size = 26 for DOS4GW/WDOSX */
     };            

#if (DOSX & DOS4GW)
#include <sys/packoff.h>
#endif

extern int   pktq_init     (struct pkt_ringbuf *q, int size, int num, char *buf);
extern int   pktq_check    (struct pkt_ringbuf *q);
extern int   pktq_inc_out  (struct pkt_ringbuf *q);
extern int   pktq_in_index (struct pkt_ringbuf *q);
extern char *pktq_in_buf   (struct pkt_ringbuf *q);
extern char *pktq_out_buf  (struct pkt_ringbuf *q);
extern void  pktq_clear    (struct pkt_ringbuf *q);
extern int   pktq_queued   (struct pkt_ringbuf *q);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?