NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
bta_fs_co.h
1/******************************************************************************
2 *
3 * Copyright (C) 2003-2012 Broadcom Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at:
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 ******************************************************************************/
18
19/******************************************************************************
20 *
21 * This is the interface file for the synchronization server call-out
22 * functions.
23 *
24 ******************************************************************************/
25#ifndef BTA_FS_CO_H
26#define BTA_FS_CO_H
27
28#include <time.h>
29
30#include "bta_api.h"
31#include "goep_fs.h"
32#include "obx_api.h"
33
34/*****************************************************************************
35** Constants and Data Types
36*****************************************************************************/
37
38#ifndef BTA_FS_CO_MAX_SSN_ENTRIES
39#define BTA_FS_CO_MAX_SSN_ENTRIES 10
40#endif
41
42/* Maximum path length supported by FS_CO */
43#ifndef BTA_FS_CO_PATH_LEN
44#define BTA_FS_CO_PATH_LEN 294
45#endif
46
47#ifndef BTA_FS_CO_TEST_ROOT
48#define BTA_FS_CO_TEST_ROOT "test_files"
49#endif
50
51#define BTA_FS_CO_TEST_TYPE_NONE 0
52#define BTA_FS_CO_TEST_TYPE_REJECT 1
53#define BTA_FS_CO_TEST_TYPE_SUSPEND 2
54
55#ifndef BTA_FS_CO_TEST_AB_END
56#define BTA_FS_CO_TEST_AB_END BTA_FS_CO_TEST_TYPE_NONE
57#endif
58
59/**************************
60** Common Definitions
61***************************/
62
63/* Status codes returned by call-out functions, or in call-in functions as status */
64#define BTA_FS_CO_OK GOEP_OK
65#define BTA_FS_CO_FAIL GOEP_FAIL /* Used to pass all other errors */
66#define BTA_FS_CO_EACCES GOEP_EACCES
67#define BTA_FS_CO_ENOTEMPTY GOEP_ENOTEMPTY
68#define BTA_FS_CO_EOF GOEP_EOF
69#define BTA_FS_CO_EODIR GOEP_EODIR
70#define BTA_FS_CO_ENOSPACE GOEP_ENOSPACE/* Returned in bta_fs_ci_open if no room */
71#define BTA_FS_CO_EIS_DIR GOEP_EIS_DIR
72#define BTA_FS_CO_RESUME GOEP_RESUME /* used in ci_open, on resume */
73#define BTA_FS_CO_NONE GOEP_NONE /* used in ci_open, on resume (no file to resume) */
74
75typedef UINT16 tBTA_FS_CO_STATUS;
76
77/* the index to the permission flags */
78#define BTA_FS_PERM_USER 0
79#define BTA_FS_PERM_GROUP 1
80#define BTA_FS_PERM_OTHER 2
81/* max number of the permission flags */
82#define BTA_FS_PERM_SIZE 3
83
84/* Flags passed to the open function (bta_fs_co_open)
85** Values are OR'd together. (First 3 are
86** mutually exclusive.
87*/
88#define BTA_FS_O_RDONLY GOEP_O_RDONLY
89#define BTA_FS_O_WRONLY GOEP_O_WRONLY
90#define BTA_FS_O_RDWR GOEP_O_RDWR
91
92#define BTA_FS_O_CREAT GOEP_O_CREAT
93#define BTA_FS_O_EXCL GOEP_O_EXCL
94#define BTA_FS_O_TRUNC GOEP_O_TRUNC
95
96#define BTA_FS_O_MODE_MASK(x) (((UINT16)(x)) & 0x0003)
97
98/* Origin for the bta_fs_co_seek function */
99#define BTA_FS_SEEK_SET GOEP_SEEK_SET
100#define BTA_FS_SEEK_CUR GOEP_SEEK_CUR
101#define BTA_FS_SEEK_END GOEP_SEEK_END
102
103/* mode field in bta_fs_co_access callout */
104#define BTA_FS_ACC_EXIST GOEP_ACC_EXIST
105#define BTA_FS_ACC_READ GOEP_ACC_READ
106#define BTA_FS_ACC_RDWR GOEP_ACC_RDWR
107
108#define BTA_FS_LEN_UNKNOWN GOEP_LEN_UNKNOWN
109#define BTA_FS_INVALID_FD GOEP_INVALID_FD
110#define BTA_FS_INVALID_APP_ID (0xFF) /* this app_id is reserved */
111
112/* mode field in tBTA_FS_DIRENTRY (OR'd together) */
113#define BTA_FS_A_RDONLY GOEP_A_RDONLY
114#define BTA_FS_A_DIR GOEP_A_DIR /* Entry is a sub directory */
115
116#define BTA_FS_CTIME_LEN GOEP_CTIME_LEN /* Creation time "yyyymmddTHHMMSSZ" */
117
118/* Return structure type for a directory entry */
119typedef struct
120{
121 UINT32 refdata; /* holder for OS specific data used to get next entry */
122 UINT32 filesize;
123 char crtime[BTA_FS_CTIME_LEN]; /* "yyyymmddTHHMMSSZ", or "" if none */
124 char *p_name; /* Contains the addr of memory to copy name into */
125 UINT8 mode; /* BTA_FS_A_RDONLY and/or BTA_FS_A_DIR */
127
128/* session state */
129enum
130{
131 BTA_FS_CO_SESS_ST_NONE,
132 BTA_FS_CO_SESS_ST_ACTIVE,
133 BTA_FS_CO_SESS_ST_SUSPEND,
134 BTA_FS_CO_SESS_ST_RESUMING
135};
136typedef UINT8 tBTA_FS_CO_SESS_ST;
137
138
139
140/* a data type to keep an array of ssn/file offset - the info can be saved to NV */
141typedef struct
142{
143 char path[BTA_FS_CO_PATH_LEN + 1]; /* the "current path". path[0]==0-> root */
144 char file[BTA_FS_CO_PATH_LEN + 1]; /* file[0] !=0 on resume -> the previous suspended session had opened files */
145 int oflags; /* the flag to open the file */
146 BD_ADDR bd_addr;
147 UINT8 sess_info[OBX_SESSION_INFO_SIZE];
148 UINT32 offset; /* last file offset */
149 UINT32 timeout; /* the timeout value on suspend */
150 time_t suspend_time; /* the time of suspend */
151 UINT16 nbytes; /* number of bytes for last read/write */
152 UINT8 ssn;
153 UINT8 info; /* info for BTA on the client side */
154 UINT8 app_id;
155 tBTA_FS_CO_SESS_ST sess_st;
157
158/*****************************************************************************
159** Function Declarations
160*****************************************************************************/
161/**************************
162** Common Functions
163***************************/
164/*******************************************************************************
165**
166** Function bta_fs_co_init
167**
168** Description This function is executed as a part of the start up sequence
169** to make sure the control block is initialized.
170**
171** Parameters void.
172**
173** Returns void
174**
175**
176*******************************************************************************/
177BTA_API extern void bta_fs_co_init(void);
178
179/*******************************************************************************
180**
181** Function bta_fs_co_open
182**
183** Description This function is executed by BTA when a file is opened.
184** The phone uses this function to open
185** a file for reading or writing.
186**
187** Parameters p_path - Fully qualified path and file name.
188** oflags - permissions and mode (see constants above)
189** size - size of file to put (0 if unavailable or not applicable)
190** evt - event that must be passed into the call-in function.
191** app_id - application ID specified in the enable functions.
192** It can be used to identify which profile is the caller
193** of the call-out function.
194**
195** Returns void
196**
197** Note: Upon completion of the request, a file descriptor (int),
198** if successful, and an error code (tBTA_FS_CO_STATUS)
199** are returned in the call-in function, bta_fs_ci_open().
200**
201*******************************************************************************/
202BTA_API extern void bta_fs_co_open(const char *p_path, int oflags, UINT32 size,
203 UINT16 evt, UINT8 app_id);
204
205/*******************************************************************************
206**
207** Function bta_fs_co_session_info
208**
209** Description This function is executed by BTA when a reliable session is
210** established (p_sess_info != NULL) or ended (p_sess_info == NULL).
211**
212** Parameters bd_addr - the peer address
213** p_sess_info - the session ID and related information.
214** app_id - application ID specified in the enable functions.
215** It can be used to identify which profile is the caller
216** of the call-out function.
217**
218** Returns void
219**
220*******************************************************************************/
221BTA_API extern void bta_fs_co_session_info(BD_ADDR bd_addr, UINT8 *p_sess_info, UINT8 ssn,
222 tBTA_FS_CO_SESS_ST new_st, char *p_path, UINT8 *p_info, UINT8 app_id);
223
224/*******************************************************************************
225**
226** Function bta_fs_co_resume_op
227**
228** Description This function is executed by BTA when a reliable session is
229** resumed and there was an interrupted operation.
230**
231** Parameters offset - the session ID and related information.
232** evt - event that must be passed into the call-in function.
233** app_id - application ID specified in the enable functions.
234** It can be used to identify which profile is the caller
235** of the call-out function.
236**
237** Returns void
238**
239*******************************************************************************/
240BTA_API extern void bta_fs_co_resume_op(UINT32 offset, UINT16 evt, UINT8 app_id);
241
242/*******************************************************************************
243**
244** Function bta_fs_co_suspend
245**
246** Description This function is executed by BTA when a reliable session is
247** suspended.
248**
249** Parameters bd_addr - the peer address
250** ssn - the session sequence number.
251** info - the BTA specific information (like last active operation).
252** p_offset- the location to receive object offset of the suspended session
253** app_id - application ID specified in the enable functions.
254** It can be used to identify which profile is the caller
255** of the call-out function.
256**
257** Returns void
258**
259*******************************************************************************/
260BTA_API extern void bta_fs_co_suspend(BD_ADDR bd_addr, UINT8 *p_sess_info, UINT8 ssn,
261 UINT32 *p_timeout, UINT32 *p_offset, UINT8 info, UINT8 app_id);
262
263/*******************************************************************************
264**
265** Function bta_fs_co_resume
266**
267** Description This function is executed by BTA when resuming a session.
268** This is used to retrieve the session ID and related information
269**
270** Parameters evt - event that must be passed into the call-in function.
271** app_id - application ID specified in the enable functions.
272** It can be used to identify which profile is the caller
273** of the call-out function.
274**
275** Returns void
276**
277** Note: Upon completion of the request, the related session information,
278** if successful, and an error code (tBTA_FS_CO_STATUS)
279** are returned in the call-in function, bta_fs_ci_resume().
280**
281*******************************************************************************/
282BTA_API extern void bta_fs_co_resume(UINT16 evt, UINT8 app_id);
283
284/*******************************************************************************
285**
286** Function bta_fs_co_sess_ssn
287**
288** Description This function is executed by BTA when resuming a session.
289** This is used to inform call-out module if the ssn/file offset
290** needs to be adjusted.
291**
292** Parameters ssn - the session sequence number of the first request
293** after resume.
294** app_id - application ID specified in the enable functions.
295** It can be used to identify which profile is the caller
296** of the call-out function.
297**
298** Returns void
299**
300*******************************************************************************/
301BTA_API extern void bta_fs_co_sess_ssn(int fd, UINT8 ssn, UINT8 app_id);
302
303/*******************************************************************************
304**
305** Function bta_fs_co_setdir
306**
307** Description This function is executed by BTA when the server changes the
308** local path
309**
310** Parameters p_path - the new path.
311** app_id - application ID specified in the enable functions.
312** It can be used to identify which profile is the caller
313** of the call-out function.
314**
315** Returns void
316**
317*******************************************************************************/
318BTA_API extern void bta_fs_co_setdir(const char *p_path, UINT8 app_id);
319
320/*******************************************************************************
321**
322** Function bta_fs_co_close
323**
324** Description This function is called by BTA when a connection to a
325** client is closed.
326**
327** Parameters fd - file descriptor of file to close.
328** app_id - application ID specified in the enable functions.
329** It can be used to identify which profile is the caller
330** of the call-out function.
331**
332** Returns (tBTA_FS_CO_STATUS) status of the call.
333** [BTA_FS_CO_OK if successful],
334** [BTA_FS_CO_FAIL if failed ]
335**
336*******************************************************************************/
337BTA_API extern tBTA_FS_CO_STATUS bta_fs_co_close(int fd, UINT8 app_id);
338
339/*******************************************************************************
340**
341** Function bta_fs_co_read
342**
343** Description This function is called by BTA to read in data from the
344** previously opened file on the phone.
345**
346** Parameters fd - file descriptor of file to read from.
347** p_buf - buffer to read the data into.
348** nbytes - number of bytes to read into the buffer.
349** evt - event that must be passed into the call-in function.
350** ssn - session sequence number. Ignored, if bta_fs_co_open
351** was not called with BTA_FS_CO_RELIABLE.
352** app_id - application ID specified in the enable functions.
353** It can be used to identify which profile is the caller
354** of the call-out function.
355**
356** Returns void
357**
358** Note: Upon completion of the request, bta_fs_ci_read() is
359** called with the buffer of data, along with the number
360** of bytes read into the buffer, and a status. The
361** call-in function should only be called when ALL requested
362** bytes have been read, the end of file has been detected,
363** or an error has occurred.
364**
365*******************************************************************************/
366BTA_API extern void bta_fs_co_read(int fd, UINT8 *p_buf, UINT16 nbytes, UINT16 evt,
367 UINT8 ssn, UINT8 app_id);
368
369/*******************************************************************************
370**
371** Function bta_fs_co_write
372**
373** Description This function is called by io to send file data to the
374** phone.
375**
376** Parameters fd - file descriptor of file to write to.
377** p_buf - buffer to read the data from.
378** nbytes - number of bytes to write out to the file.
379** evt - event that must be passed into the call-in function.
380** ssn - session sequence number. Ignored, if bta_fs_co_open
381** was not called with BTA_FS_CO_RELIABLE.
382** app_id - application ID specified in the enable functions.
383** It can be used to identify which profile is the caller
384** of the call-out function.
385**
386** Returns void
387**
388** Note: Upon completion of the request, bta_fs_ci_write() is
389** called with the file descriptor and the status. The
390** call-in function should only be called when ALL requested
391** bytes have been written, or an error has been detected,
392**
393*******************************************************************************/
394BTA_API extern void bta_fs_co_write(int fd, const UINT8 *p_buf, UINT16 nbytes, UINT16 evt,
395 UINT8 ssn, UINT8 app_id);
396
397/*******************************************************************************
398**
399** Function bta_fs_co_seek
400**
401** Description This function is called by io to move the file pointer
402** of a previously opened file to the specified location for
403** the next read or write operation.
404**
405** Parameters fd - file descriptor of file.
406** offset - Number of bytes from origin.
407** origin - Initial position: BTA_FS_SEEK_SET, BTA_FS_SEEK_CUR,
408** or BTA_FS_SEEK_END.
409**
410** Returns void
411**
412*******************************************************************************/
413BTA_API extern void bta_fs_co_seek (int fd, INT32 offset, INT16 origin, UINT8 app_id);
414
415/*******************************************************************************
416**
417** Function bta_fs_co_access
418**
419** Description This function is called to check the existence of a file or
420** directory.
421**
422** Parameters p_path - (input) file or directory to access (fully qualified path).
423** mode - (input) [BTA_FS_ACC_EXIST, BTA_FS_ACC_READ, or BTA_FS_ACC_RDWR]
424** p_is_dir - (output) returns TRUE if p_path specifies a directory.
425** app_id - (input) application ID specified in the enable functions.
426** It can be used to identify which profile is the caller
427** of the call-out function.
428**
429** Returns (tBTA_FS_CO_STATUS) status of the call.
430** [BTA_FS_CO_OK if it exists]
431** [BTA_FS_CO_EACCES if permissions are wrong]
432** [BTA_FS_CO_FAIL if it does not exist]
433**
434*******************************************************************************/
435BTA_API extern tBTA_FS_CO_STATUS bta_fs_co_access(const char *p_path, int mode,
436 BOOLEAN *p_is_dir, UINT8 app_id);
437
438/*******************************************************************************
439**
440** Function bta_fs_co_mkdir
441**
442** Description This function is called to create a directory with
443** the pathname given by path. The pathname is a null terminated
444** string. All components of the path must already exist.
445**
446** Parameters p_path - (input) name of directory to create (fully qualified path).
447** app_id - (input) application ID specified in the enable functions.
448** It can be used to identify which profile is the caller
449** of the call-out function.
450**
451** Returns (tBTA_FS_CO_STATUS) status of the call.
452** [BTA_FS_CO_OK if successful]
453** [BTA_FS_CO_FAIL if unsuccessful]
454**
455*******************************************************************************/
456BTA_API extern tBTA_FS_CO_STATUS bta_fs_co_mkdir(const char *p_path, UINT8 app_id);
457
458/*******************************************************************************
459**
460** Function bta_fs_co_rmdir
461**
462** Description This function is called to remove a directory whose
463** name is given by path. The directory must be empty.
464**
465** Parameters p_path - (input) name of directory to remove (fully qualified path).
466** app_id - (input) application ID specified in the enable functions.
467** It can be used to identify which profile is the caller
468** of the call-out function.
469**
470** Returns (tBTA_FS_CO_STATUS) status of the call.
471** [BTA_FS_CO_OK if successful]
472** [BTA_FS_CO_EACCES if read-only]
473** [BTA_FS_CO_ENOTEMPTY if directory is not empty]
474** [BTA_FS_CO_FAIL otherwise]
475**
476*******************************************************************************/
477BTA_API extern tBTA_FS_CO_STATUS bta_fs_co_rmdir(const char *p_path, UINT8 app_id);
478
479/*******************************************************************************
480**
481** Function bta_fs_co_unlink
482**
483** Description This function is called by to remove a file whose name
484** is given by p_path.
485**
486** Parameters p_path - (input) name of file to remove (fully qualified path).
487** app_id - (input) application ID specified in the enable functions.
488** It can be used to identify which profile is the caller
489** of the call-out function.
490**
491** Returns (tBTA_FS_CO_STATUS) status of the call.
492** [BTA_FS_CO_OK if successful]
493** [BTA_FS_CO_EACCES if read-only]
494** [BTA_FS_CO_FAIL otherwise]
495**
496*******************************************************************************/
497BTA_API extern tBTA_FS_CO_STATUS bta_fs_co_unlink(const char *p_path, UINT8 app_id);
498
499/*******************************************************************************
500**
501** Function bta_fs_co_getdirentry
502**
503** Description This function is called to retrieve a directory entry for the
504** specified path. The first/next directory should be filled
505** into the location specified by p_entry.
506**
507** Parameters p_path - directory to search (Fully qualified path)
508** first_item - TRUE if first search, FALSE if next search
509** (p_cur contains previous)
510** p_entry (input/output) - Points to last entry data (valid when
511** first_item is FALSE)
512** evt - event that must be passed into the call-in function.
513** app_id - application ID specified in the enable functions.
514** It can be used to identify which profile is the caller
515** of the call-out function.
516**
517** Returns void
518**
519** Note: Upon completion of the request, the status is passed
520** in the bta_fs_ci_direntry() call-in function.
521** BTA_FS_CO_OK is returned when p_entry is valid,
522** BTA_FS_CO_EODIR is returned when no more entries [finished]
523** BTA_FS_CO_FAIL is returned if an error occurred
524**
525*******************************************************************************/
526BTA_API extern void bta_fs_co_getdirentry(const char *p_path, BOOLEAN first_item,
527 tBTA_FS_DIRENTRY *p_entry, UINT16 evt,
528 UINT8 app_id);
529
530/*******************************************************************************
531**
532** Function bta_fs_co_copy
533**
534** Description This function is called to copy a file/directory whose
535** name is given by p_src_path to p_dest_path.
536**
537** Parameters p_src_path - (input) name of file/directory to be copied (fully qualified path).
538** p_dest_path - (input) new name of file/directory(fully qualified path).
539** p_perms - the permission of the new object.
540** evt - event that must be passed into the call-in function.
541** app_id - (input) application ID specified in the enable functions.
542** It can be used to identify which profile is the caller
543** of the call-out function.
544**
545** Returns (tBTA_FS_CO_STATUS) status of the call.
546** [BTA_FS_CO_OK if successful]
547** [BTA_FS_CO_EIS_DIR if p_src_path is a folder]
548** [BTA_FS_CO_EACCES if p_dest_path already exists or could not be created (invalid path);
549** or p_src_path is a directory and p_dest_path specifies a different path. ]
550** [BTA_FS_CO_FAIL otherwise]
551**
552*******************************************************************************/
553BTA_API extern void bta_fs_co_copy(const char *p_src_path, const char *p_dest_path, UINT8 *p_perms, UINT16 evt, UINT8 app_id);
554
555/*******************************************************************************
556**
557** Function bta_fs_co_rename
558**
559** Description This function is called to move a file/directory whose
560** name is given by p_src_path to p_dest_path.
561**
562** Parameters p_src_path - (input) name of file/directory to be moved (fully qualified path).
563** p_dest_path - (input) new name of file/directory(fully qualified path).
564** p_perms - the permission of the new object.
565** app_id - (input) application ID specified in the enable functions.
566** It can be used to identify which profile is the caller
567** of the call-out function.
568**
569** Returns (tBTA_FS_CO_STATUS) status of the call.
570** [BTA_FS_CO_OK if successful]
571** [BTA_FS_CO_EACCES if p_dest_path already exists or could not be created (invalid path);
572** or p_src_path is a directory and p_dest_path specifies a different path. ]
573** [BTA_FS_CO_FAIL otherwise]
574**
575*******************************************************************************/
576BTA_API extern void bta_fs_co_rename(const char *p_src_path, const char *p_dest_path, UINT8 *p_perms, UINT16 evt, UINT8 app_id);
577
578/*******************************************************************************
579**
580** Function bta_fs_co_set_perms
581**
582** Description This function is called to set the permission a file/directory
583** with name as p_src_path.
584**
585** Parameters p_src_path - (input) name of file/directory to set permission (fully qualified path).
586** p_perms - the permission .
587** app_id - (input) application ID specified in the enable functions.
588** It can be used to identify which profile is the caller
589** of the call-out function.
590**
591** Returns (tBTA_FS_CO_STATUS) status of the call.
592** [BTA_FS_CO_OK if successful]
593** [BTA_FS_CO_EACCES if p_dest_path already exists or could not be created (invalid path);
594** or p_src_path is a directory and p_dest_path specifies a different path. ]
595** [BTA_FS_CO_FAIL otherwise]
596**
597*******************************************************************************/
598BTA_API extern void bta_fs_co_set_perms(const char *p_src_path, UINT8 *p_perms, UINT16 evt, UINT8 app_id);
599
600/*******************************************************************************
601**
602** Function bta_fs_co_sess_fopen
603**
604** Description This function is called by bta_fs_co_open to keep track of
605** the opened file (for reliable session suspend/resume.)
606**
607** Parameters p_path - Fully qualified path and file name.
608** oflags - permissions and mode (see constants above)
609** app_id - application ID specified in the enable functions.
610** It can be used to identify which profile is the caller
611** of the call-out function.
612**
613** Returns void
614**
615*******************************************************************************/
616BTA_API extern void bta_fs_co_sess_fopen(const char *p_path, int oflags, UINT8 app_id);
617
618/*******************************************************************************
619**
620** Function bta_fs_co_sess_fclose
621**
622** Description This function is called by bta_fs_co_close
623**
624** Parameters app_id - application ID specified in the enable functions.
625** It can be used to identify which profile is the caller
626** of the call-out function.
627**
628** Returns void
629**
630*******************************************************************************/
631BTA_API extern void bta_fs_co_sess_fclose(UINT8 app_id);
632
633/*******************************************************************************
634**
635** Function bta_fs_co_sess_offset
636**
637** Description This function is called by bta_fs_co_write to keep track of
638** the last file offset (Only the receiving side needs to keep
639** track of the file offset)
640**
641** Returns void
642**
643*******************************************************************************/
644BTA_API extern void bta_fs_co_sess_offset(UINT8 ssn, INT32 pos, UINT16 nbytes, UINT8 app_id);
645
646/*******************************************************************************
647**
648** Function bta_fs_co_suspended_addr
649**
650** Description find the peer address of the suspended session control block
651** for the given an app_id.
652**
653** Returns the control block found.
654**
655*******************************************************************************/
656BTA_API extern UINT8 *bta_fs_co_suspended_addr(UINT8 app_id);
657
658/*******************************************************************************
659**
660** Function bta_fs_co_num_suspended_session
661**
662** Description find the number of suspended session control blocks for the
663** given an app_id.
664**
665** Returns the number of control blocks found.
666**
667*******************************************************************************/
668BTA_API extern UINT8 bta_fs_co_num_suspended_session(UINT8 app_id);
669
670/*******************************************************************************
671**
672** Function bta_fs_co_get_active_session
673**
674** Description find the active session control block for the given an app_id.
675**
676** Returns the control block found.
677**
678*******************************************************************************/
679BTA_API extern tBTA_FS_CO_SESSION *bta_fs_co_get_active_session(UINT8 app_id);
680
681/*******************************************************************************
682**
683** Function bta_fs_co_init_db
684**
685** Description Initialize the session control blocks for platform.
686**
687** Returns void
688**
689*******************************************************************************/
690BTA_API extern void bta_fs_co_init_db (tBTA_FS_CO_SESSION *p_first);
691
692/*******************************************************************************
693**
694** Function bta_fs_convert_oflags
695**
696** Description This function converts the open flags from BTA into MFS.
697**
698** Returns BTA FS status value.
699**
700*******************************************************************************/
701BTA_API extern int bta_fs_convert_bta_oflags(int bta_oflags);
702
703#endif /* BTA_FS_CO_H */