Exemplo n.º 1
0
int init () {
	printf("Opening Voice/Analog Resource: %s ",dxDev);
	if ((dx = dx_open(dxDev,0)) == -1) {
		printf("failed\n");
		return -1;
	}
	printf("handle: %d\n",dx);
	printf("Opening MSI Resource: %s ",msiDev);
	if ((msi = ms_open(msiDev,0)) == -1) {
		printf("failed\n");
		return -1;
	}
	printf("handle: %d\n",msi);
	dxTs.sc_numts = 1;
	dxTs.sc_tsarrayp = &dxTsNum;
	msiTs.sc_numts = 1;
	msiTs.sc_tsarrayp = &msiTsNum;
	if (dx_getxmitslot(dx,&dxTs) == -1) {
		printf("dx_getxmitslot() failed: %s\n",ATDV_ERRMSGP(dx));
		return -1;
	}
	if (ms_getxmitslot(msi,&msiTs) == -1) {
		printf("msi_getxmitslot() failed: %s\n",ATDV_ERRMSGP(msi));
		return -1;
	}
	if (dx_listen(dx,&msiTs) == -1) {
		printf("dx_listen() failed: %s\n",ATDV_ERRMSGP(dx));
		return -1;
	}
	if (ms_listen(msi,&dxTs) == -1) {
		printf("ms_listen() failed: %s\n",ATDV_ERRMSGP(msi));
		return -1;
	}
	return 0;
}
Exemplo n.º 2
0
Arquivo: key.c Projeto: dw/acid
/**
 * Construct a KEY_SHARED Key from ...
 */
Key *
acid_make_shared_key(PyObject *source, uint8_t *p, Py_ssize_t size)
{
    if(size > KEY_MAXSIZE) {
        PyErr_SetString(PyExc_ValueError, "Key is too long .");
        return NULL;
    }

    Key *self = PyObject_Malloc(sizeof(Key) + sizeof(SharedKeyInfo));
    // TODO: relies on arch padding rules
    if(self) {
        PyObject_Init((PyObject *)self, &KeyType);
        if(ms_listen(source, (PyObject *) self)) {
            PyObject_Free(self);
            return NULL;
        }
        self->flags = KEY_SHARED;
        self->p = p;
        Key_SIZE(self) = size;
        Key_INFO(self)->source = source;
        Py_INCREF(source);
    }
    return self;
}