Subject Re: [IB-Architect] gbak & services
Author Ivan Prenosil
AFAIK, in pre-IB6 versions,
- gbak did not use any secret API; it was just ordinary client program
that was using regular API calls to read system tables and user's tables.
This is the reason why backup files were stored on the same machine
you run gbak from.
- undocumented APIs you mentioned were called by IB Server Manager,
but in this case backup was done on the server, and thus
backup files were stored on the server too.

In IB6,
- new Services API really initiates backup that runs on the server,
but you do not miss any "nice functionality" because old undocumented
backup API call run on the server too.
- gbak works as previously, i.e. it reads data over network,
but there is new switch that can tell gbak to use new Services API
instead of making backup directly.

So there was not and there is not any IB API call that would allow you
to run backup locally, i.e. retrieve data over network instead of storing
them on the server).

Your only chance is to either invoke gbak.exe, or incorporate
gbak functionality directly into your program (by using IB source code).

However, one thing I do not understand is gbak32.dll,
required by IBServerManager. If the backup runs on the server,
why client program (ServerManager) needs such library ?

Last note - I noticed one nasty thing with gbak -
if you use it to invoke backup remotely (i.e. -service pc:service_mgr)
and then kill it (by simply pressing Ctrl-Break),
backup process on the server will continue!