Yes passing arrays is not possible. What I have had to do is add a lot of dummy functions that all return a different index of the array.
For example I use an array with 5 values. To get the info into CCP land, I have an input function that I pass each array element as a separate parameter to my c function ex. inputfun(array0, array1, array2, array3, array4). I do some processing on the elements then to get them back out to guide land I have to make 5 dummy functions that each returns one element from the array ex. returnarray0(), returnarray1()....
Its messy but works. I can throw together a example if interested.
Tyler