Currently you are just looking for one solution. When you find a x,y where you can place a queen you move a column forward and try to place the queen in the following column.
For generating all the solutions, rather than returning true, you can print the final array at the end, backtrack and change your position at the current column and try generating the solutions again.
The pseudocode can be something like this
Place(x)
// Here x is the column number where you want to put the queen
if (x == board_size + 1):
print (array A)
return;
for y from 0 to board_size:
if (!underattack(A,x,y)) // A[x] = y => the queen is at row y in col x
A[x] = y
Place(x+1)
return;
Here even if we find a particular (x,y) that works, we backtrack and try subsequent values of y for the current x.