Files
sibo-playground/code/SIBOSDK/include/p_que.h
T

40 lines
941 B
C
Raw Normal View History

2026-07-06 18:01:36 +01:00
/* HEADER - P_QUE.H
Copyright (C) Psion PLC 1991-92
VER DATE BY DESCRIPTION
===== ======== === ===========
1.00F 26/04/90 NSM First relase
1.10F 07/07/92 NSM Second release
*/
#ifndef P_QUE_H
#define P_QUE_H
#include <stdepoc.h>
#define P_ISEMPTYQ(q) ((q)==(q)->next)
#define P_INITQ(q) (q)->next=(q)->prev=(q)
#define P_DECLAREQ(q) P_QUE q = {&q,&q}
typedef struct p_que
{
struct p_que *next; /* Next entry */
struct p_que *prev; /* Previous entry */
} P_QUE;
typedef struct
{
P_QUE q; /* Que entry control */
long int key; /* Delta key value */
} P_DELTA;
#ifdef __cplusplus
extern "C" {
#endif
#pragma save,call(reg_param =>(si,di),reg_saved =>(ax,cx,dx,si,di,EPOC_SAVE))
extern void p_enque(P_QUE *,P_QUE *);
extern void p_deque(P_QUE *);
#pragma restore
P_DELTA *p_enqued(P_QUE *,P_DELTA *,long int);
P_DELTA *p_dequed(P_QUE *,P_DELTA *);
#ifdef __cplusplus
}
#endif
#endif // P_QUE_H