Passe str como uma matriz int para uma função estendida do Python C (estendida usando SWIG)

Como posso passar umstr valor (contendo 3000 {'0', '1'} bytes) obtido usando o código python como argumento para uma função estendida python c (estendida usando SWIG) que requerint * (comprimento fixo int array) como argumento de entrada? Meu código é o seguinte:

int *exposekey(int *bits) {
    int a[1000];
    for (int j=2000; j < 3000; j++) {
        a[j - 2000] = bits[j];
    }
    return a;
}

O que eu tentei foi usarctypes (veja o código abaixo):

import ctypes
ldpc = ctypes.cdll.LoadLibrary('./_ldpc.so')
arr = (ctypes.c_int * 3072)(<mentioned below>)
ldpc.exposekey(arr)

com 3072 {0, 1} inserido na posição. Python retorna erro de sintaxe: mais de 255 argumentos. Isso ainda não me ajuda a passar o valor atribuído str, em vez do valor inicializadoctypes matriz int.

Outra sugestão incluiu o uso de mapas de tipo SWIG, mas como isso funcionaria para converter um str emint * ? Desde já, obrigado.

questionAnswers(1)

yourAnswerToTheQuestion