SM_REQUIRE
SM_REQUIRE((obj) != NULL && (obj)->sm_magic == (magic))
SM_REQUIRE(pattern != NULL);
SM_REQUIRE(level >= 0);
SM_REQUIRE(etype->etype_argformat[i+1] == '\0');
SM_REQUIRE(exc->sm_magic == SmExcMagic);
SM_REQUIRE(exc->sm_magic == SmExcMagic);
SM_REQUIRE(t->f_open && t->f_close && (t->f_read || t->f_write));
SM_REQUIRE(ptr != NULL);
SM_REQUIRE(lmap != NULL);
SM_REQUIRE(argv != NULL);
SM_REQUIRE(argv[0] != NULL);
SM_REQUIRE(mbdb != NULL);
SM_REQUIRE(user != NULL);
SM_REQUIRE(rpool->sm_magic == SmRpoolMagic);
SM_REQUIRE(rpool->sm_magic == SmRpoolMagic);
SM_REQUIRE(poolsize >= bigobjectsize);
SM_REQUIRE(sm_get_sem(semid, semnum) > 0);
SM_REQUIRE(fd >= 0);
SM_REQUIRE(firstto != NULL); /* same as to */
SM_REQUIRE(e != NULL);
SM_REQUIRE(av != NULL);
SM_REQUIRE(pvp != NULL);
SM_REQUIRE(e != NULL);
SM_REQUIRE(ISVALIDQGRP(old->e_qgrp) && ISVALIDQDIR(old->e_qdir));
SM_REQUIRE(ISVALIDQGRP(new->e_qgrp) && ISVALIDQDIR(new->e_qdir));
SM_REQUIRE(ISVALIDQGRP(old->e_dfqgrp) && ISVALIDQDIR(old->e_dfqdir));
SM_REQUIRE(ISVALIDQGRP(new->e_dfqgrp) && ISVALIDQDIR(new->e_dfqdir));
SM_REQUIRE(ISVALIDQGRP(e->e_qgrp));
SM_REQUIRE(siz > 0);
SM_REQUIRE(buf != NULL);
SM_REQUIRE(np != NULL);
SM_REQUIRE(n > 0);
SM_REQUIRE(buf != NULL);
SM_REQUIRE(sz >= 0);