src/mnwevent.c
/************************************************************************/
/* NewEvent                                                             */
/* Get a pointer to the next event in line in the Lisp eventqueue.      */
/* Return NULL if fail. This is the head of DoRing.                     */
/************************************************************************/
NewEvent
Get a pointer to the next event in line in the Lisp eventqueue.
Return NULL if fail. This is the head of DoRing.
NewEvent Get a pointer to the next event in line in the Lisp eventqueue . Return NULL if fail . This is the head of DoRing .
MNWEvent *NewEvent() {
  if (!CTopMNWEvent) {
    LispPTR index;
    index = get_package_atom("\\MNWEVENTQUEUE", 14, "INTERLISP", 9, NIL);
    if (index != 0xFFFFFFFF) {
      MNWEVENTQUEUE68k = GetVALCELL68k(index);
      DOMNWEVENT_index = get_package_atom("\\DOMNWEVENT", 11, "INTERLISP", 9, NIL);
      CTopMNWEvent = (DLword *)Addr68k_from_LADDR(*MNWEVENTQUEUE68k);
    }
  }
  if (CTopMNWEvent) {
    DLword w, r;
    r = RING_READ(CTopMNWEvent);
    w = RING_WRITE(CTopMNWEvent);
    if (r != w) return ((MNWEvent *)(CTopMNWEvent + w));
  }
  return (NULL);
}
MNWEvent * NewEvent ( ) { if ( ! CTopMNWEvent ) { LispPTR index ; index = get_package_atom ( " \\ " , 14 , " " , 9 , NIL ) ; if ( index != 0xFFFFFFFF ) { MNWEVENTQUEUE68k = GetVALCELL68k ( index ) ; DOMNWEVENT_index = get_package_atom ( " \\ " , 11 , " " , 9 , NIL ) ; CTopMNWEvent = ( DLword * ) Addr68k_from_LADDR ( * MNWEVENTQUEUE68k ) ; } } if ( CTopMNWEvent ) { DLword w , r ; r = RING_READ ( CTopMNWEvent ) ; w = RING_WRITE ( CTopMNWEvent ) ; if ( r != w ) return ( ( MNWEvent * ) ( CTopMNWEvent + w ) ) ; } return ( NULL ) ; }
NewEvent
Get a pointer to the next event in line in the Lisp eventqueue.
NewEvent Get a pointer to the next event in line in the Lisp eventqueue .