struct S1 *S1 ; /* プロセス管理テーブル */

S1 = /* プロセス管理テーブルOPEN */
(struct S1 *)Open_Kansumei(...
,...
,...
,...) ;

こんな感じのCソースがあったんですが、

(struct S1 *)Open_Kansumei();

の部分の文法がよく分かりません。プロセス管理テーブルをオープンした結果を、
S1 構造体のアドレスの先頭に入れてるのは分かるんですが・・・。
関数名の前に (struct S1 *) が付いてる・・・?