Server for Information Technologies ������ ��������������
������� �������������� ����������
(095) 932-9212, 932-9213, 939-0783
E-mail: [email protected]
������ �������� ����(!) ������������� ���������� CIT Forum CD-ROM

BRKCTL(3)
XENIX System V (21 ���� 1987)

���
brkctl - pa��e�ae� �a���e � y�a�e��o� ce��e��e

���������

	#include <sys/brk.h>
	
	char far *brkctl (command, increment, ptr)
	int command;
	long increment;
	char far *ptr;

��������
C�c�e���� ���o� brkctl ���e��e� ��� oc�o�o��ae� �a���� � �o�o����e����x ce��e��ax �a���x � c�y�ae �a�o� ��� cpe��e� �o�e�� pac�pe�e�e��� �a����. ��� �o�o, ��o�� �o������op C� �o� �c�o���o�a�� �o��pa�ae��e ��a�e��� � �po�pa��ax �a�o� � cpe��e� �o�e��, brkctl �o��e� �o��pa�a�� ������� (far) y�a�a�e��. �p� �c�o���o�a��� o��ca�e�� far � �po�pa��ax �o�������� �o���a ���o�����c� c ��a�o� -Me �p� �a�o� �o�e�� � c ��a�o� -Mme �p� cpe��e�.

Ap�y�e�� command �o�e� ��e�� o��o �� c�e�y���x ��a�e���: BR_ARGSEG, BR_NEWSEG ��� BR_IMPSEG.

increment ����e�c� ������� ��c�o� co ��a�o�. �p� �o��o��oc�� o� �o��e� ���� �e���e 64K; ec�� o� o�p��a�e�e�, e�o a�co����oe ��a�e��e �o���o ���� �e���e cy��� ���� �cex y�a��e��x ce��e��o� ���c �a����, ���e�e��a� � �����e� ce��e��e �oc�e co��a��� �po�ecca.

ptr �c�o���ye�c� �o���o, ec�� command pa�e� BR_ARGSEG.

Ec�� increment �o�o���e�e�, brkctl �o��pa�ae� ������� y�a�a�e�� �a ���e�e���� y�ac�o� �a����; ���e��e�c�, �o �pa��e� �epe, uncrement �a��o�.

Ec�� ap�y�e�� command pa�e� BR_IMPSEG � o�p��a�e����� increment �����ae� oc�o�o��e��e o��o�o ��� �ec�o����x ce��e��o�, �o��pa�ae�oe ��a�e��e �p��a��e��� �oc�e��e�y �� oc�a���xc� ce��e��o�. BR_IMPSEG ��ee� � ���y �c�o���o�a��e �oc�e��e�o ce��e��a �a���x. He�a��c��o o� �o�o, ��ee� �po�ecc �a�y� ��� cpe���� �o�e�� �a���� � ��ee� � �a���� �o�e�� �o���o o��� ce��e�� �a���x, �o�o���e����� increment, �epe�o������� �oc�e���� ce��e�� �a���x, �����ae� co��a��e �o�o�o ce��e��a.

Ec�� ap�y�e�� command pa�e� BR_ARGSEG, a�co����oe ��a�e��e o�p��a�e���o�o increment �e �o���o �pe���a�� ����� ce��e��a. Ap�y�e�� ptr �o��e� ���� ������� y�a�a�e�e� �e�a��c��o o� �o�e�� �a����.

Ec�� ap�y�e�� command pa�e� BR_NEWSEG, increment �e �o�e� ���� o�p��a�e�����. B��e�e��e �a���� �ce��a �po�cxo��� o� �a�a�a �o�o�o ce��e��a.

Bo��pa�ae�oe ��a�e��e
brkctl �o��� �ce��a �o��pa�ae� ������� y�a�a�e�� � �a�ec��e a�peca ���e�e��o�o y�ac��a �a����. B c�y�ae o����� �o��pa�ae�c� (char far *)-1.

Ec�� increment �o���e 0, �o��pa�ae�oe ��a�e��e ����e�c� y�a�a�e�e� �a �a�a�o ���e�e��o�o y�ac��a �a����.

Ec�� increment �e���e ��� pa�e� �y��, �o��pa�ae�oe ��a�e��e ��o y�a�a�e�� �a �ep��� �e �p��a��e�a��� �po�eccy �a�� (o����o ��o a�pec oc�o�o��e��o�o y�ac��a �a����). Ec�� �oc�e���� �� oc�a���xc� ce��e��o� �o�o� (e�o ����a coc�a���e� po��o 64K), �o��pa�ae�oe ��a�e��e �o���o y�a���a�� �a�a�o c�e�y��e�o ce��e��a (�o�op�� �e o���a� cy�ec��o�a��).

B �e�o�, �e�c���� � �o��pa�ae��e ��a�e��� �o�y� ���� c�e�y�����:

	brkctl (BR_ARGSEG, 0, ptr)
	               Coo��ae� �oc�e���� a�pec � y�a�a��o�
	               ce��e��e.
	
	brkctl (BR_ARGSEG, increment, ptr)
	               ��e�����ae� y�a�a���� ce��e��.
	
	brkctl (BR_NEWSEG, 0)
	               Co��ae� �o��� ce��e�� c �y�e�o� ����o�.
	
	brkctl (BR_NEWSEG, increment)
	               Co��ae� �o��� ce��e�� c ����o�, pa��o�
	               increment.
	
	brkctl (BR_IMPSEG, 0)
	               Coo��ae� �oc�e���� a�pec � �oc�e��e� ce��e��e
	               �e���x. Mo�e� oc�o�o���� �ec�o���o ce��e��o�.
	
	brkctl (BR__IMPSEG, increment)
	               ��e�����ae� �oc�e���� ce��e��. B c�y�ae
	               �o���o� �o�e�� �a���� (��� �a�o� � cpe��e� c
	               �ec�o������ ce��e��a�� �a���x) �o�e� co��a��
	               �o��� ce��e��.

��. �����
cc(1), ld(1), machine(5), malloc(3), sbrk(3)

���������
C�c�e���� ���o� brkctl c�e�ye� �c�o���o�a�� �o���o ��� ���a���ec�o�o pac�pe�e�e��� �a���� � �a�o� ��� cpe��e� �o�e�� �a����. B �py��x c�y�a�x c�e�ye� �p��e���� sbrk(3), malloc(3) � �py��e c�a��ap���e cpe�c��a UNIX. �y����o��po�a��e brkctl �o�e� ���e����c� � �oc�e�y���x pea���a���x c�c�e��.

brkctl � �ac�o��ee �pe�� �oc�y�e� �o���o � pea���a���x XENIX, �o��ep���a���x pe��� �a���� (protected mode).

He�a��c��o o� �o�e�� ce��e�� �a���x, o�pa�e��e � �o�opo�y ocy�ec����e�c� �o �opo��o�y y�a�a�e��, �o��e� ���� �ep��� ce��e��o� �a���x.

B��o� brkctl c BR_IMPSEG � o�p��a�e����� incremet �e �o�e� �p��e����c� � pa��e��e�o�y ce��e��y ��c�py����.
Comments: [email protected]
Designed by Andrey Novikov
Copyright © CIT