/* this program makes a time slot mask look up table */

#include <stdio.h>

main()
{
	int i, j;

	for (i = 0; i < 32; i++) {

		printf("; bandwidth = %d\n", i);

		for (j = 0; j < 32; j++)
			f(0, i, j);
	}

	for (i = 0; i < 32; i++) {

		printf("; bandwidth = %d\n", i);

		for (j = 0; j < 32; j++)
			f(1, i, j);
	}
}

int ts[32];

/*
	u		use time slot 16

	n		number of time slots

	b		base time slot
*/

f(u, n, b)
int u, n, b;
{
	int i, x;

	/* clear */

	for (i = 0; i < 32; i++)
		ts[i] = 0;

	/* flag time slots */

	x = b;

	for (i = 0; i < n; i++) {

		if (x == 0)
			x++;

		if (x == 16 && u == 0)
			x++;

		ts[x] = 1;

		x = (x + 1) % 32;
	}

	/* print masks */

	printf(" db ");

	for (i = 0; i < 8; i++)
		printf("%d", ts[31 - i]);

	printf("b,");

	for (i = 0; i < 8; i++)
		printf("%d", ts[23 - i]);

	printf("b,");

	for (i = 0; i < 8; i++)
		printf("%d", ts[15 - i]);

	printf("b,");

	for (i = 0; i < 8; i++)
		printf("%d", ts[7 - i]);

	printf("b\n");
}