Home | History | Annotate | Download | only in src

Lines Matching refs:ev

81 #define	HNEXT(h, ev)		(*(h)->h_next)((h)->h_ref, ev)
82 #define HFIRST(h, ev) (*(h)->h_first)((h)->h_ref, ev)
83 #define HPREV(h, ev) (*(h)->h_prev)((h)->h_ref, ev)
84 #define HLAST(h, ev) (*(h)->h_last)((h)->h_ref, ev)
85 #define HCURR(h, ev) (*(h)->h_curr)((h)->h_ref, ev)
86 #define HSET(h, ev, n) (*(h)->h_set)((h)->h_ref, ev, n)
87 #define HCLEAR(h, ev) (*(h)->h_clear)((h)->h_ref, ev)
88 #define HENTER(h, ev, str) (*(h)->h_enter)((h)->h_ref, ev, str)
89 #define HADD(h, ev, str) (*(h)->h_add)((h)->h_ref, ev, str)
90 #define HDEL(h, ev, n) (*(h)->h_del)((h)->h_ref, ev, n)
123 TYPE(HistEvent) ev; /* What we return */
213 history_def_first(void *p, TYPE(HistEvent) *ev)
219 *ev = h->cursor->ev;
221 he_seterrev(ev, _HE_FIRST_NOTFOUND);
233 history_def_last(void *p, TYPE(HistEvent) *ev)
239 *ev = h->cursor->ev;
241 he_seterrev(ev, _HE_LAST_NOTFOUND);
253 history_def_next(void *p, TYPE(HistEvent) *ev)
258 he_seterrev(ev, _HE_EMPTY_LIST);
263 he_seterrev(ev, _HE_END_REACHED);
268 *ev = h->cursor->ev;
278 history_def_prev(void *p, TYPE(HistEvent) *ev)
283 he_seterrev(ev,
289 he_seterrev(ev, _HE_START_REACHED);
294 *ev = h->cursor->ev;
304 history_def_curr(void *p, TYPE(HistEvent) *ev)
309 *ev = h->cursor->ev;
311 he_seterrev(ev,
325 history_def_set(void *p, TYPE(HistEvent) *ev, const int n)
330 he_seterrev(ev, _HE_EMPTY_LIST);
333 if (h->cursor == &h->list || h->cursor->ev.num != n) {
336 if (h->cursor->ev.num == n)
340 he_seterrev(ev, _HE_NOT_FOUND);
352 history_set_nth(void *p, TYPE(HistEvent) *ev, int n)
357 he_seterrev(ev, _HE_EMPTY_LIST);
365 he_seterrev(ev, _HE_NOT_FOUND);
376 history_def_add(void *p, TYPE(HistEvent) *ev, const Char *str)
381 HistEventPrivate *evp = (void *)&h->cursor->ev;
384 return history_def_enter(p, ev, str);
388 he_seterrev(ev, _HE_MALLOC_FAILED);
391 (void) Strncpy(s, h->cursor->ev.str, len);
396 *ev = h->cursor->ev;
402 history_deldata_nth(history_t *h, TYPE(HistEvent) *ev,
405 if (history_set_nth(h, ev, num) != 0)
410 ev->str = Strdup(h->cursor->ev.str);
411 ev->num = h->cursor->ev.num;
414 history_def_delete(h, ev, h->cursor);
424 history_def_del(void *p, TYPE(HistEvent) *ev __attribute__((__unused__)),
428 if (history_def_set(h, ev, num) != 0)
430 ev->str = Strdup(h->cursor->ev.str);
431 ev->num = h->cursor->ev.num;
432 history_def_delete(h, ev, h->cursor);
443 TYPE(HistEvent) *ev __attribute__((__unused__)), hentry_t *hp)
445 HistEventPrivate *evp = (void *)&hp->ev;
465 history_def_insert(history_t *h, TYPE(HistEvent) *ev, const Char *str)
472 if ((c->ev.str = h_strdup(str)) == NULL) {
477 c->ev.num = ++h->eventid;
485 *ev = c->ev;
488 he_seterrev(ev, _HE_MALLOC_FAILED);
497 history_def_enter(void *p, TYPE(HistEvent) *ev, const Char *str)
502 Strcmp(h->list.next->ev.str, str) == 0)
505 if (history_def_insert(h, ev, str) == -1)
513 history_def_delete(h, ev, h->list.prev);
524 history_def_init(void **p, TYPE(HistEvent) *ev __attribute__((__unused__)), int n)
536 h->list.ev.str = NULL;
537 h->list.ev.num = 0;
549 history_def_clear(void *p, TYPE(HistEvent) *ev)
554 history_def_delete(h, ev, h->list.prev);
571 TYPE(HistEvent) ev;
576 if (history_def_init(&h->h_ref, &ev, 0) == -1) {
602 TYPE(HistEvent) ev;
605 history_def_clear(h->h_ref, &ev);
616 history_setsize(TYPE(History) *h, TYPE(HistEvent) *ev, int num)
620 he_seterrev(ev, _HE_NOT_ALLOWED);
624 he_seterrev(ev, _HE_BAD_PARAM);
636 history_getsize(TYPE(History) *h, TYPE(HistEvent) *ev)
639 he_seterrev(ev, _HE_NOT_ALLOWED);
642 ev
643 if (ev->num < -1) {
644 he_seterrev(ev, _HE_SIZE_NEGATIVE);
655 history_setunique(TYPE(History) *h, TYPE(HistEvent) *ev, int uni)
659 he_seterrev(ev, _HE_NOT_ALLOWED);
671 history_getunique(TYPE(History) *h, TYPE(HistEvent) *ev)
674 he_seterrev(ev, _HE_NOT_ALLOWED);
677 ev->num = history_def_getunique(h->h_ref);
688 TYPE(HistEvent) ev;
695 if (history_def_init(&h->h_ref, &ev, 0) == -1)
711 history_def_clear(h->h_ref, &ev);
740 TYPE(HistEvent) ev;
777 if (HENTER(h, &ev, ct_decode_string(ptr, &conv)) == -1) {
797 TYPE(HistEvent) ev;
816 for (i = 0, retval = HLAST(h, &ev);
818 retval = HPREV(h, &ev), i++) {
819 str = ct_encode_string(ev.str, &conv);
846 history_prev_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num)
850 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
851 if (ev->num == num)
854 he_seterrev(ev, _HE_NOT_FOUND);
860 history_next_evdata(TYPE(History) *h, TYPE(HistEvent) *ev, int num, void **d)
864 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
865 if (ev->num == num) {
871 he_seterrev(ev, _HE_NOT_FOUND);
880 history_next_event(TYPE(History) *h, TYPE(HistEvent) *ev, int num)
884 for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev))
885 if (ev->num == num)
888 he_seterrev(ev, _HE_NOT_FOUND);
897 history_prev_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str)
902 for (retval = HCURR(h, ev); retval != -1; retval = HNEXT(h, ev))
903 if (Strncmp(str, ev->str, len) == 0)
906 he_seterrev(ev, _HE_NOT_FOUND);
915 history_next_string(TYPE(History) *h, TYPE(HistEvent) *ev, const Char *str)
920 for (retval = HCURR(h, ev); retval != -1; retval = HPREV(h, ev))
921 if (Strncmp(str, ev->str, len) == 0)
924 he_seterrev(ev, _HE_NOT_FOUND);
933 FUNW(history)(TYPE(History) *h, TYPE(HistEvent) *ev, int fun, ...)
941 he_seterrev(ev, _HE_OK);
945 retval = history_getsize(h, ev);
949 retval = history_setsize(h, ev, va_arg(va, int));
953 retval = history_getunique(h, ev);
957 retval = history_setunique(h, ev, va_arg(va, int));
962 retval = HADD(h, ev, str);
966 retval = HDEL(h, ev, va_arg(va, const int));
971 if ((retval = HENTER(h, ev, str)) != -1)
972 h->h_ent = ev->num;
977 if ((retval = HSET(h, ev, h->h_ent)) != -1)
978 retval = HADD(h, ev, str);
982 retval = HFIRST(h, ev);
986 retval = HNEXT(h, ev);
990 retval = HLAST(h, ev);
994 retval = HPREV(h, ev);
998 retval = HCURR(h, ev);
1002 retval = HSET(h, ev, va_arg(va, const int));
1006 HCLEAR(h, ev);
1013 he_seterrev(ev, _HE_HIST_READ);
1019 he_seterrev(ev, _HE_HIST_WRITE);
1023 retval = history_prev_event(h, ev, va_arg(va, int));
1027 retval = history_next_event(h, ev, va_arg(va, int));
1031 retval = history_prev_string(h, ev, va_arg(va, const Char *));
1035 retval = history_next_string(h, ev, va_arg(va, const Char *));
1056 he_seterrev(ev, _HE_PARAM_MISSING);
1069 retval = history_next_evdata(h, ev, num, d);
1077 retval = history_deldata_nth((history_t *)h->h_ref, ev, num, d);
1090 ((history_t *)h->h_ref)->cursor->ev.str = s;
1098 he_seterrev(ev, _HE_UNKNOWN);